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: linkBe 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).