public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Move stepping test in frysk.proc to frysk.stepping.
@ 2008-03-12 20:39 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-03-12 20:39 UTC (permalink / raw)
  To: frysk-cvs

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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-03-12 20:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-12 20:39 [SCM] master: Move stepping test in frysk.proc to frysk.stepping cagney

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