public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: mark@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Simplyfy TestLtrace class structure and remove unresolved bug #5053.
Date: Wed, 16 Jan 2008 12:51:00 -0000	[thread overview]
Message-ID: <20080116125134.3288.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  b9f0693a2c3c776ceba0aa5cf3e172a3084547bb (commit)
      from  91e87264dce077b98101920e0ec5c8eb867fbcd2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit b9f0693a2c3c776ceba0aa5cf3e172a3084547bb
Author: Mark Wielaard <mwielaard@redhat.com>
Date:   Wed Jan 16 10:41:15 2008 +0100

    Simplyfy TestLtrace class structure and remove unresolved bug #5053.
    
    frysk-core/frysk/ftrace/ChangeLog
    2008-01-16  Mark Wielaard  <mwielaard@redhat.com>
    
           * TestLtrace.java (DummyFunctionObserver): Made static.
           (ObserverCreator): Likewise.
           (GenericController): Likewise.
           (MyFunctionObserver1): Made class member and static. Add events as
           field.
           (MyFunctionObserver2): Likewise. Add expectedEvents and
           expectedReturns as fields.
           (MyFunctionObserver3): Likewiese. Add enterAliases and
           leaveAliases as fields.
           (testMultipleObservers): Removed unresolvedOffUtrace bug #5053.
           (testMultipleControlers): Likewise.
           (testRecursive): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/ftrace/ChangeLog       |   15 ++++
 frysk-core/frysk/ftrace/TestLtrace.java |  139 +++++++++++++++++--------------
 2 files changed, 93 insertions(+), 61 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/ftrace/ChangeLog b/frysk-core/frysk/ftrace/ChangeLog
index 48c8c1d..dadd760 100644
--- a/frysk-core/frysk/ftrace/ChangeLog
+++ b/frysk-core/frysk/ftrace/ChangeLog
@@ -1,3 +1,18 @@
+2008-01-16  Mark Wielaard  <mwielaard@redhat.com>
+
+	* TestLtrace.java (DummyFunctionObserver): Made static.
+	(ObserverCreator): Likewise.
+	(GenericController): Likewise.
+	(MyFunctionObserver1): Made class member and static. Add events as
+	field.
+	(MyFunctionObserver2): Likewise. Add expectedEvents and
+	expectedReturns as fields.
+	(MyFunctionObserver3): Likewiese. Add enterAliases and
+	leaveAliases as fields.
+	(testMultipleObservers): Removed unresolvedOffUtrace bug #5053.
+	(testMultipleControlers): Likewise.
+	(testRecursive): Likewise.
+	
 2008-01-09  Petr Machata  <pmachata@redhat.com>
 
 	* Ltrace.java (TracePointObserver.deletedFrom): Fix checking of
diff --git a/frysk-core/frysk/ftrace/TestLtrace.java b/frysk-core/frysk/ftrace/TestLtrace.java
index 9ee4353..395eb93 100644
--- a/frysk-core/frysk/ftrace/TestLtrace.java
+++ b/frysk-core/frysk/ftrace/TestLtrace.java
@@ -54,7 +54,7 @@ import java.util.regex.*;
 public class TestLtrace
     extends TestLib
 {
-    class DummyFunctionObserver
+    static class DummyFunctionObserver
 	implements FunctionObserver
     {
 	public Action funcallEnter(Task task, Symbol symbol, Object[] args) {
@@ -68,7 +68,7 @@ public class TestLtrace
 	public void addFailed (Object observable, Throwable w) {}
     }
 
-    abstract class ObserverCreator {
+    static abstract class ObserverCreator {
 	abstract FunctionObserver createObserver();
 	public boolean shouldAcceptMapping(Task task, String name) {
 	    return task.getProc().getExe().equals(name);
@@ -137,7 +137,7 @@ public class TestLtrace
 	}
     }
 
-    abstract class GenericController
+    static abstract class GenericController
 	extends ObserverCreator
     {
 	final String name;
@@ -216,16 +216,15 @@ public class TestLtrace
 	}
     }
 
-    public void testCallRecorded()
-    {
-	if(unresolvedOffUtrace(5053))
-	    return;
-
-	final ArrayList events = new ArrayList();
-
-	class MyFunctionObserver1
+	static class MyFunctionObserver1
 	    extends DummyFunctionObserver
 	{
+	    final ArrayList events;
+
+	    MyFunctionObserver1(ArrayList events)
+	    {
+		this.events = events;
+	    }
 	    public Action funcallEnter(Task task, Symbol symbol, Object[] args) {
 		events.add("enter " + symbol.name);
 		return Action.CONTINUE;
@@ -236,10 +235,14 @@ public class TestLtrace
 	    }
 	}
 
+    public void testCallRecorded()
+    {
+	final ArrayList events = new ArrayList();
+
 	GenericMappingObserver mappingObserver
 	    = new GenericMappingObserver(new ObserverCreator() {
 		    public FunctionObserver createObserver() {
-			return new MyFunctionObserver1();
+			return new MyFunctionObserver1(events);
 		    }
 	    });
 
@@ -273,35 +276,19 @@ public class TestLtrace
 	assertEquals("number of recorded events", expectedEvents.length, events.size());
     }
 
-    public void testArgumentsCorrect1()
-    {
-	if(unresolvedOffUtrace(5053))
-	    return;
-
-	final Set registeredSymbols = new HashSet();
-	final LinkedList expectedEvents = new LinkedList();
-	final LinkedList expectedReturns = new LinkedList();
-
-	class ExpectedEvent {
-	    String name;
-	    long[] arguments;
-	    long retval;
-
-	    ExpectedEvent(String name, long[] arguments, long retval) {
-		this.name = name;
-		this.retval = retval;
-		this.arguments = arguments;
-		registeredSymbols.add(name);
-		expectedEvents.addLast(this);
-	    }
-	}
-
-	new ExpectedEvent("trace_me_1", new long[]{3, 5, 7, 11, 13, 17}, 56);
-	new ExpectedEvent("trace_me_2", new long[]{3, 5, 7, 11, 13, 17}, 56);
-
-	class MyFunctionObserver2
+	static class MyFunctionObserver2
 	    extends DummyFunctionObserver
 	{
+            final LinkedList expectedEvents;
+            final LinkedList expectedReturns;
+
+	    MyFunctionObserver2(LinkedList expectedEvents,
+				LinkedList expectedReturns)
+	    {
+		this.expectedEvents = expectedEvents;
+		this.expectedReturns = expectedReturns;
+	    }
+
 	    public Action funcallEnter(Task task, Symbol symbol, Object[] args) {
 		ExpectedEvent ee = (ExpectedEvent)expectedEvents.removeFirst();
 		assertEquals("enter function name", ee.name, symbol.name);
@@ -330,6 +317,32 @@ public class TestLtrace
 	    }
 	}
 
+	static class ExpectedEvent {
+	    String name;
+	    long[] arguments;
+	    long retval;
+
+	    ExpectedEvent(String name, long[] arguments, long retval,
+			  Set registeredSymbols, LinkedList expectedEvents) {
+		this.name = name;
+		this.retval = retval;
+		this.arguments = arguments;
+		registeredSymbols.add(name);
+		expectedEvents.addLast(this);
+	    }
+	}
+
+    public void testArgumentsCorrect1()
+    {
+	final Set registeredSymbols = new HashSet();
+	final LinkedList expectedEvents = new LinkedList();
+	final LinkedList expectedReturns = new LinkedList();
+
+	new ExpectedEvent("trace_me_1", new long[]{3, 5, 7, 11, 13, 17}, 56,
+				registeredSymbols, expectedEvents);
+	new ExpectedEvent("trace_me_2", new long[]{3, 5, 7, 11, 13, 17}, 56,
+				registeredSymbols, expectedEvents);
+
 	String[] cmd = {Config.getPkgLibFile("funit-calls").getPath()};
 	DaemonBlockedAtEntry child = new DaemonBlockedAtEntry(cmd);
 	Task task = child.getMainTask();
@@ -339,7 +352,8 @@ public class TestLtrace
 	GenericMappingObserver mappingObserver
 	    = new GenericMappingObserver(new ObserverCreator() {
 		    public FunctionObserver createObserver() {
-			return new MyFunctionObserver2();
+			return new MyFunctionObserver2(expectedEvents,
+						       expectedReturns);
 		    }
 		    public boolean acceptTracepoint(Task task, TracePoint tp) {
 			return registeredSymbols.contains(tp.symbol.name);
@@ -357,21 +371,21 @@ public class TestLtrace
 	assertEquals("number of unprocessed returns", 0, expectedReturns.size());
     }
 
-    public void testTracingAlias()
-    {
-	if(unresolvedOffUtrace(5053))
-	    return;
 
-	final HashSet enterAliases = new HashSet();
-	final HashSet leaveAliases = new HashSet();
 
-	class MyFunctionObserver3
+	static class MyFunctionObserver3
 	    extends DummyFunctionObserver
 	{
 	    String name;
+            final HashSet enterAliases;
+            final HashSet leaveAliases;
 
-	    public MyFunctionObserver3 (String name) {
+	    public MyFunctionObserver3 (String name,
+                                        HashSet enterAliases,
+                                        HashSet leaveAliases) {
 		this.name = name;
+		this.enterAliases = enterAliases;
+		this.leaveAliases = leaveAliases;
 	    }
 
 	    private void addAliases(Symbol symbol, HashSet aliases) {
@@ -395,21 +409,33 @@ public class TestLtrace
 	    }
 	}
 
-	class MyObserverCreator3
+	static class MyObserverCreator3
 	    extends GenericController
 	{
 	    final String ownName;
+            final HashSet enterAliases;
+            final HashSet leaveAliases;
 
-	    public MyObserverCreator3(String aliasName, String ownName) {
+	    public MyObserverCreator3(String aliasName, String ownName,
+                                      HashSet enterAliases,
+                                      HashSet leaveAliases) {
 		super(aliasName);
 		this.ownName = ownName;
+                this.enterAliases = enterAliases;
+                this.leaveAliases = leaveAliases;
 	    }
 
 	    public FunctionObserver createObserver() {
-		return new MyFunctionObserver3(ownName);
+		return new MyFunctionObserver3(ownName,
+                                               enterAliases, leaveAliases);
 	    }
 	}
 
+    public void testTracingAlias()
+    {
+	final HashSet enterAliases = new HashSet();
+	final HashSet leaveAliases = new HashSet();
+
 	String[] cmd = {Config.getPkgLibFile("funit-calls").getPath()};
 	DaemonBlockedAtEntry child = new DaemonBlockedAtEntry(cmd);
 	Task task = child.getMainTask();
@@ -417,7 +443,7 @@ public class TestLtrace
 	int pid = proc.getPid();
 
 	String symbols[] = {"fun1", "alias1", "alias2"};
-	MyObserverCreator3 observerCreator = new MyObserverCreator3("alias2", "fun1");
+	MyObserverCreator3 observerCreator = new MyObserverCreator3("alias2", "fun1", enterAliases, leaveAliases);
 	MappingGuard.requestAddMappingObserver(task, new GenericMappingObserver(observerCreator));
 	assertRunUntilStop("add mapping observer");
 
@@ -436,9 +462,6 @@ public class TestLtrace
 
     public void testMultipleObservers()
     {
-	if(unresolvedOffUtrace(5053))
-	    return;
-
 	final int N = 10;
 
 	String[] cmd = {Config.getPkgLibFile("funit-calls").getPath()};
@@ -469,9 +492,6 @@ public class TestLtrace
 
     public void testMultipleControlers()
     {
-	if(unresolvedOffUtrace(5053))
-	    return;
-
 	String[] cmd = {Config.getPkgLibFile("funit-calls").getPath()};
 	DaemonBlockedAtEntry child = new DaemonBlockedAtEntry(cmd);
 	Task task = child.getMainTask();
@@ -507,9 +527,6 @@ public class TestLtrace
 
     public void testRecursive()
     {
-	if(unresolvedOffUtrace(5053))
-	    return;
-
 	String[] cmd = {Config.getPkgLibFile("funit-calls").getPath()};
 	DaemonBlockedAtEntry child = new DaemonBlockedAtEntry(cmd);
 	Task task = child.getMainTask();


hooks/post-receive
--
frysk system monitor/debugger


                 reply	other threads:[~2008-01-16 12:51 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080116125134.3288.qmail@sourceware.org \
    --to=mark@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).