public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Move stepping test in frysk.proc to frysk.stepping. Date: Wed, 12 Mar 2008 20:39:00 -0000 [thread overview] Message-ID: <20080312203949.13184.qmail@sourceware.org> (raw) The branch, master has been updated via 63483127121a20b5318affa620e6f42cb7040cfb (commit) via 3f4f46c89562cd78b8704062e333326b3b447baa (commit) from cba040e1437a19ae0f0b21d560b13cb6d2091282 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 63483127121a20b5318affa620e6f42cb7040cfb Author: Andrew Cagney <cagney@redhat.com> Date: Wed Mar 12 16:38:43 2008 -0400 Move stepping test in frysk.proc to frysk.stepping. frysk-core/frysk/proc/ChangeLog 2008-03-12 Andrew Cagney <cagney@redhat.com> * TestTaskObserverInstruction.java (testFirstInstructionSteppingEngine()): Delete; move to frysk.stepping.TestFirstInstruction. frysk-core/frysk/stepping/ChangeLog 2008-03-12 Andrew Cagney <cagney@redhat.com> * TestFirstInstruction.java: Extract from frysk.proc.TestTaskObserverInstruction.java. commit 3f4f46c89562cd78b8704062e333326b3b447baa Author: Andrew Cagney <cagney@redhat.com> Date: Wed Mar 12 15:43:52 2008 -0400 Remember to register the task directly created. frysk-core/frysk/proc/ChangeLog 2008-03-12 Andrew Cagney <cagney@redhat.com> * TestTaskObserverInstructionSigReturn.java: Register tasks with TearDownProcess. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/proc/ChangeLog | 9 ++ .../frysk/proc/TestTaskObserverInstruction.java | 69 +-------------- .../proc/TestTaskObserverInstructionSigReturn.java | 14 ++-- frysk-core/frysk/stepping/ChangeLog | 5 + .../TestFirstInstruction.java} | 91 +++++++++++--------- 5 files changed, 73 insertions(+), 115 deletions(-) copy frysk-core/frysk/{testbed/StopEventLoopWhenProcTerminated.java => stepping/TestFirstInstruction.java} (59%) First 500 lines of diff: diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog index 3c3a8f6..1022bf7 100644 --- a/frysk-core/frysk/proc/ChangeLog +++ b/frysk-core/frysk/proc/ChangeLog @@ -1,3 +1,12 @@ +2008-03-12 Andrew Cagney <cagney@redhat.com> + + * TestTaskObserverInstruction.java + (testFirstInstructionSteppingEngine()): Delete; move to + frysk.stepping.TestFirstInstruction. + + * TestTaskObserverInstructionSigReturn.java: Register tasks with + TearDownProcess. + 2008-03-11 Andrew Cagney <cagney@redhat.com> * TestInstructions.java: Add task to tearDown. diff --git a/frysk-core/frysk/proc/TestTaskObserverInstruction.java b/frysk-core/frysk/proc/TestTaskObserverInstruction.java index 0a5c921..230b468 100644 --- a/frysk-core/frysk/proc/TestTaskObserverInstruction.java +++ b/frysk-core/frysk/proc/TestTaskObserverInstruction.java @@ -1,6 +1,6 @@ // This file is part of the program FRYSK. // -// Copyright 2006, 2007 Red Hat Inc. +// Copyright 2006, 2007, 2008 Red Hat Inc. // // FRYSK is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by @@ -39,10 +39,6 @@ package frysk.proc; -import java.util.Observable; -import java.util.Observer; -import frysk.stepping.SteppingEngine; -import frysk.stepping.TaskStepEngine; import frysk.testbed.TestLib; import frysk.testbed.Offspring; import frysk.testbed.SlaveOffspring; @@ -140,7 +136,7 @@ public class TestTaskObserverInstruction extends TestLib assertTrue("InstructionObserver hit", instr.hit == 2); } - class StepAttachedObserver implements TaskObserver.Attached + private class StepAttachedObserver implements TaskObserver.Attached { private final InstructionObserver instr; @@ -172,45 +168,7 @@ public class TestTaskObserverInstruction extends TestLib } - private AttachedObserver ao; - private SteppingEngine steppingEngine; - private LockObserver lock; - - public void testFirstInstructionSteppingEngine () - { - lock = new LockObserver(); - steppingEngine = new SteppingEngine(); - steppingEngine.addObserver(lock); - ao = new AttachedObserver(); - String[] cmd = new String[1]; - cmd[0] = getExecPath ("funit-rt-stepper"); - Manager.host.requestCreateAttachedProc("/dev/null", "/dev/null", "/dev/null", cmd, ao); - assertRunUntilStop("Creating attached process"); - } - - protected class AttachedObserver implements TaskObserver.Attached - { - public void addedTo (Object o){ } - - public Action updateAttached (Task task) - { - Proc proc = task.getProc(); - steppingEngine.addProc(proc); - return Action.BLOCK; - } - - public void addFailed (Object observable, Throwable w) - { - System.err.println("addFailed: " + observable + " cause: " + w); - } - - public void deletedFrom (Object o) - { - steppingEngine.stepInstruction((Task) o); - } - } - - static class InstructionObserver implements TaskObserver.Instruction + private static class InstructionObserver implements TaskObserver.Instruction { boolean added; boolean deleted; @@ -240,25 +198,4 @@ public class TestTaskObserverInstruction extends TestLib } } - private boolean flag = true; - - private class LockObserver implements Observer - { - public void update (Observable o, Object arg) - { - TaskStepEngine tse = (TaskStepEngine) arg; - if (! tse.getState().isStopped()) - return; - - if (flag) - { - flag = false; - tse.getTask().requestDeleteAttachedObserver(ao); - } - else - { - Manager.eventLoop.requestStop(); - } - } - } } diff --git a/frysk-core/frysk/proc/TestTaskObserverInstructionSigReturn.java b/frysk-core/frysk/proc/TestTaskObserverInstructionSigReturn.java index 552df1d..a382413 100644 --- a/frysk-core/frysk/proc/TestTaskObserverInstructionSigReturn.java +++ b/frysk-core/frysk/proc/TestTaskObserverInstructionSigReturn.java @@ -107,13 +107,13 @@ public class TestTaskObserverInstructionSigReturn // ignored } - // TaskObserver.Attached interface - public Action updateAttached(Task task) - { - this.task = task; - Manager.eventLoop.requestStop(); - return Action.BLOCK; - } + // TaskObserver.Attached interface + public Action updateAttached(Task task) { + addToTearDown(task); + this.task = task; + Manager.eventLoop.requestStop(); + return Action.BLOCK; + } // TaskObserver.Instruction interface public Action updateExecuted(Task task) diff --git a/frysk-core/frysk/stepping/ChangeLog b/frysk-core/frysk/stepping/ChangeLog index 4033299..c334a10 100644 --- a/frysk-core/frysk/stepping/ChangeLog +++ b/frysk-core/frysk/stepping/ChangeLog @@ -1,3 +1,8 @@ +2008-03-12 Andrew Cagney <cagney@redhat.com> + + * TestFirstInstruction.java: Extract from + frysk.proc.TestTaskObserverInstruction.java. + 2008-03-03 Andrew Cagney <cagney@redhat.com> * TestSteppingEngine.java: Use frysk.config. diff --git a/frysk-core/frysk/testbed/StopEventLoopWhenProcTerminated.java b/frysk-core/frysk/stepping/TestFirstInstruction.java similarity index 59% copy from frysk-core/frysk/testbed/StopEventLoopWhenProcTerminated.java copy to frysk-core/frysk/stepping/TestFirstInstruction.java index 5b8737d..6a194e0 100644 --- a/frysk-core/frysk/testbed/StopEventLoopWhenProcTerminated.java +++ b/frysk-core/frysk/stepping/TestFirstInstruction.java @@ -1,6 +1,6 @@ // This file is part of the program FRYSK. // -// Copyright 2008, Red Hat Inc. +// Copyright 2006, 2007, 2008 Red Hat Inc. // // FRYSK is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by @@ -37,56 +37,63 @@ // version and license this file solely under the GPL without // exception. -package frysk.testbed; +package frysk.stepping; -import frysk.proc.Proc; -import frysk.rsl.Log; +import java.util.Observable; +import java.util.Observer; +import frysk.testbed.TestLib; import frysk.proc.Manager; import frysk.proc.TaskObserver; +import frysk.testbed.TaskObserverBase; import frysk.proc.Action; -import frysk.isa.signals.Signal; import frysk.proc.Task; -import frysk.sys.ProcessIdentifier; - -/** - * An observer that stops the eventloop when the process with the - * given pid generates a terminated event. - */ - -public class StopEventLoopWhenProcTerminated extends TaskObserverBase - implements TaskObserver.Terminated -{ - private static final Log fine - = Log.fine(StopEventLoopWhenProcTerminated.class); - - public boolean terminated; - public Signal signal; - public int status; - - private Proc proc; - public String toString() { - return proc.toString(); - } +import frysk.proc.Proc; - public StopEventLoopWhenProcTerminated(Proc proc) { - proc.getMainTask().requestAddTerminatedObserver(this); - } +public class TestFirstInstruction extends TestLib { - public StopEventLoopWhenProcTerminated(ProcessIdentifier pid) { - this(TestLib.assertRunToFindProc(pid)); + private AttachedObserver ao; + private SteppingEngine steppingEngine; + private LockObserver lock; + + public void testFirstInstructionSteppingEngine() { + lock = new LockObserver(); + steppingEngine = new SteppingEngine(); + steppingEngine.addObserver(lock); + ao = new AttachedObserver(); + String[] cmd = new String[1]; + cmd[0] = getExecPath ("funit-rt-stepper"); + Manager.host.requestCreateAttachedProc("/dev/null", "/dev/null", "/dev/null", cmd, ao); + assertRunUntilStop("Creating attached process"); } - public StopEventLoopWhenProcTerminated(Offspring offspring) { - this(offspring.assertRunToFindProc()); + private class AttachedObserver + extends TaskObserverBase + implements TaskObserver.Attached + { + public Action updateAttached(Task task) { + addToTearDown(task); + Proc proc = task.getProc(); + steppingEngine.addProc(proc); + return Action.BLOCK; + } + public void deletedFrom(Object o) { + steppingEngine.stepInstruction((Task) o); + } } - - public Action updateTerminated(Task task, Signal signal, int status) { - fine.log(this, "updateTerminated", task, "signal", signal, "status", - status); - this.terminated = true; - this.signal = signal; - this.status = status; - Manager.eventLoop.requestStop(); - return Action.CONTINUE; + + private class LockObserver implements Observer { + private boolean flag = true; + public void update (Observable o, Object arg) { + TaskStepEngine tse = (TaskStepEngine) arg; + if (! tse.getState().isStopped()) + return; + + if (flag) { + flag = false; + tse.getTask().requestDeleteAttachedObserver(ao); + } else { + Manager.eventLoop.requestStop(); + } + } } } hooks/post-receive -- frysk system monitor/debugger
reply other threads:[~2008-03-12 20:39 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=20080312203949.13184.qmail@sourceware.org \ --to=cagney@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).