public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Fix npe in printing of proc/task states.
@ 2008-01-17 19:13 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-01-17 19:13 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  a5715aa1057d05bec280b882aaa08b31132b4d19 (commit)
       via  dad9b48141b0df4210204f03d0aaa704e7437882 (commit)
       via  3b7ca62fcde3fd2351831ee1b902337e7c76c01a (commit)
       via  1942b91b6f5e5fc974ddf7c6523a03eb81a33b5d (commit)
      from  7471bf81c02735215985cceea7cd53c9c9027265 (commit)

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

- Log -----------------------------------------------------------------
commit a5715aa1057d05bec280b882aaa08b31132b4d19
Author: Andrew Cagney <cagney@toil.yyz.redhat.com>
Date:   Thu Jan 17 12:57:22 2008 -0500

    Fix npe in printing of proc/task states.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-01-17  Andrew Cagney  <cagney@redhat.com>
    
    	* LinuxPtraceProc.java (getStateFIXME()): Return "<null>" when
    	null.
    	* LinuxPtraceTask.java (getStateFIXME()): Ditto.

commit dad9b48141b0df4210204f03d0aaa704e7437882
Author: Andrew Cagney <cagney@toil.yyz.redhat.com>
Date:   Thu Jan 17 12:47:20 2008 -0500

    Re-indent TestProcStopped.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-01-17  Andrew Cagney  <cagney@redhat.com>
    
    	* TestProcStopped.java: Re-indent.

commit 3b7ca62fcde3fd2351831ee1b902337e7c76c01a
Author: Andrew Cagney <cagney@toil.yyz.redhat.com>
Date:   Thu Jan 17 12:05:22 2008 -0500

    Move TestProcStopped to frysk.proc.live.
    
    frysk-core/frysk/proc/ChangeLog
    2008-01-17  Andrew Cagney  <cagney@redhat.com>
    
    	* TestProcStopped.java: Move to frysk.proc.live.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-01-17  Andrew Cagney  <cagney@redhat.com>
    
    	* TestProcStopped.java: Moved from frysk.proc.

commit 1942b91b6f5e5fc974ddf7c6523a03eb81a33b5d
Author: Andrew Cagney <cagney@toil.yyz.redhat.com>
Date:   Thu Jan 17 11:47:44 2008 -0500

    Move .assertSendStop() to frysk.testbed.Offspring.
    
    frysk-core/frysk/testbed/ChangeLog
    2008-01-17  Andrew Cagney  <cagney@redhat.com>
    
    	* SlaveOffspring.java (assertSendStop()): Move from here ...
    	(STOP_SIG): Delete.
    	* Offspring.java (assertSendStop()): ... to here.
    	* LegacyOffspring.java (assertSendStop()): Delete.
    	(STOP_SIG): Delete.

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

Summary of changes:
 frysk-core/frysk/proc/ChangeLog                    |    4 +
 frysk-core/frysk/proc/live/ChangeLog               |   10 +
 frysk-core/frysk/proc/live/LinuxPtraceProc.java    |    4 +-
 frysk-core/frysk/proc/live/LinuxPtraceTask.java    |    5 +-
 .../frysk/proc/{ => live}/TestProcStopped.java     |  196 +++++++++-----------
 frysk-core/frysk/testbed/ChangeLog                 |    8 +
 frysk-core/frysk/testbed/LegacyOffspring.java      |   11 +-
 frysk-core/frysk/testbed/Offspring.java            |   12 +-
 frysk-core/frysk/testbed/SlaveOffspring.java       |   11 +-
 9 files changed, 128 insertions(+), 133 deletions(-)
 rename frysk-core/frysk/proc/{ => live}/TestProcStopped.java (54%)

First 500 lines of diff:
diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog
index 4d45985..3628748 100644
--- a/frysk-core/frysk/proc/ChangeLog
+++ b/frysk-core/frysk/proc/ChangeLog
@@ -1,3 +1,7 @@
+2008-01-17  Andrew Cagney  <cagney@redhat.com>
+
+	* TestProcStopped.java: Move to frysk.proc.live.
+
 2008-01-16  Andrew Cagney  <cagney@redhat.com>
 
 	* Task.java (blockers): Delete.
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index 4118d0a..00a2941 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,3 +1,13 @@
+2008-01-17  Andrew Cagney  <cagney@redhat.com>
+
+	* LinuxPtraceProc.java (getStateFIXME()): Return "<null>" when
+	null.
+	* LinuxPtraceTask.java (getStateFIXME()): Ditto.
+
+	* TestProcStopped.java: Re-indent.
+	
+	* TestProcStopped.java: Moved from frysk.proc.
+
 2008-01-16  Andrew Cagney  <cagney@redhat.com>
 
 	* LinuxPtraceTask.java (blockers): New.
diff --git a/frysk-core/frysk/proc/live/LinuxPtraceProc.java b/frysk-core/frysk/proc/live/LinuxPtraceProc.java
index c6662d4..4a86392 100644
--- a/frysk-core/frysk/proc/live/LinuxPtraceProc.java
+++ b/frysk-core/frysk/proc/live/LinuxPtraceProc.java
@@ -284,8 +284,10 @@ public class LinuxPtraceProc extends LiveProc {
     protected String getStateFIXME() {
 	if (newState != null)
 	    return newState.toString();
-	else
+	else if (oldState != null)
 	    return oldState.toString();
+	else
+	    return "<null>";
     }
 
     /**
diff --git a/frysk-core/frysk/proc/live/LinuxPtraceTask.java b/frysk-core/frysk/proc/live/LinuxPtraceTask.java
index 99be7e6..ecf1a58 100644
--- a/frysk-core/frysk/proc/live/LinuxPtraceTask.java
+++ b/frysk-core/frysk/proc/live/LinuxPtraceTask.java
@@ -416,7 +416,10 @@ public class LinuxPtraceTask extends LiveTask {
 	    return oldState;
     }
     protected String getStateFIXME() {
-	return getState().toString();
+	if (getState() != null)
+	    return getState().toString();
+	else
+	    return "<null>";
     }
 
     /**
diff --git a/frysk-core/frysk/proc/TestProcStopped.java b/frysk-core/frysk/proc/live/TestProcStopped.java
similarity index 54%
rename from frysk-core/frysk/proc/TestProcStopped.java
rename to frysk-core/frysk/proc/live/TestProcStopped.java
index 17667f0..eaad80a 100644
--- a/frysk-core/frysk/proc/TestProcStopped.java
+++ b/frysk-core/frysk/proc/live/TestProcStopped.java
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2005, 2006, 2007, Red Hat Inc.
+// Copyright 2005, 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
@@ -38,152 +38,130 @@
 // exception.
 
 
-package frysk.proc;
+package frysk.proc.live;
 
+import frysk.proc.Manager;
 import frysk.event.RequestStopEvent;
 import frysk.testbed.TestLib;
 import frysk.testbed.SlaveOffspring;
+import frysk.proc.Proc;
+import frysk.proc.Task;
+import frysk.proc.ProcObserver;
+import frysk.proc.ProcBlockAction;
 
-public class TestProcStopped
-    extends TestLib
-{
-
-  public void stopped (SlaveOffspring ackProc, int count)
-  {
-    ackProc.assertSendStop();
-    Proc proc = ackProc.assertFindProcAndTasks();
-    new ProcBlockAction(proc, new MyTester());
-  }
-
-  public void running (SlaveOffspring ackProc, int count)
-  {
-    Proc proc = ackProc.assertFindProcAndTasks();
-    new ProcBlockAction(proc, new MyTester());
-  }
-
-  public void testStoppedAckDaemon ()
-  {
-    if (unresolvedOnUtrace(5114))
-      return;
-    SlaveOffspring ackProc = SlaveOffspring.createDaemon();
-    stopped(ackProc, 1);
-    assertRunUntilStop("testStoppedAckDaemon");
-  }
-
-  public void testStoppedDetached ()
-  {
-    if (unresolvedOnUtrace(5114))
-      return;
-    SlaveOffspring ackProc = SlaveOffspring.createChild();
-    stopped(ackProc, 1);
-    assertRunUntilStop("testStoppedDetached");
-  }
-
-  public void testStoppedAttached ()
-  {
-    SlaveOffspring ackProc = SlaveOffspring.createAttachedChild();
-    stopped(ackProc, 1);
-    assertRunUntilStop("testStoppedAttached");
-  }
-
-  public void testRunningAckDaemon ()
-  {
-    SlaveOffspring ackProc = SlaveOffspring.createDaemon();
-    running(ackProc, 1);
-    assertRunUntilStop("testRunningAckDaemon");
-  }
-
-  public void testRunningDetached ()
-  {
-    SlaveOffspring ackProc = SlaveOffspring.createChild();
-    running(ackProc, 1);
-    assertRunUntilStop("testRunningDetached");
-  }
-
-  public void testRunningAttached ()
-  {
-    SlaveOffspring ackProc = SlaveOffspring.createAttachedChild();
-    running(ackProc, 1);
-    assertRunUntilStop("testRunningAttached");
-  }
-
-    public void testMultiThreadedStoppedAckDaemon () {
+public class TestProcStopped extends TestLib {
+
+    private void stopped(SlaveOffspring ackProc) {
+	ackProc.assertSendStop();
+	Proc proc = ackProc.assertFindProcAndTasks();
+	new ProcBlockAction(proc, new MyTester());
+    }
+
+    private void running(SlaveOffspring ackProc) {
+	Proc proc = ackProc.assertFindProcAndTasks();
+	new ProcBlockAction(proc, new MyTester());
+    }
+
+    public void testStoppedAckDaemon() {
+	if (unresolvedOnUtrace(5114))
+	    return;
+	SlaveOffspring ackProc = SlaveOffspring.createDaemon();
+	stopped(ackProc);
+	assertRunUntilStop("testStoppedAckDaemon");
+    }
+
+    public void testStoppedDetached() {
+	if (unresolvedOnUtrace(5114))
+	    return;
+	SlaveOffspring ackProc = SlaveOffspring.createChild();
+	stopped(ackProc);
+	assertRunUntilStop("testStoppedDetached");
+    }
+
+    public void testStoppedAttached() {
+	SlaveOffspring ackProc = SlaveOffspring.createAttachedChild();
+	stopped(ackProc);
+	assertRunUntilStop("testStoppedAttached");
+    }
+
+    public void testRunningAckDaemon() {
+	SlaveOffspring ackProc = SlaveOffspring.createDaemon();
+	running(ackProc);
+	assertRunUntilStop("testRunningAckDaemon");
+    }
+
+    public void testRunningDetached() {
+	SlaveOffspring ackProc = SlaveOffspring.createChild();
+	running(ackProc);
+	assertRunUntilStop("testRunningDetached");
+    }
+
+    public void testRunningAttached() {
+	SlaveOffspring ackProc = SlaveOffspring.createAttachedChild();
+	running(ackProc);
+	assertRunUntilStop("testRunningAttached");
+    }
+
+    public void testMultiThreadedStoppedAckDaemon() {
 	if (unresolvedOnUtrace(3595))
 	    return;
 	SlaveOffspring ackProc = SlaveOffspring.createDaemon()
 	    .assertSendAddClonesWaitForAcks(2);
-	stopped(ackProc, 3);
+	stopped(ackProc);
 	assertRunUntilStop("testStoppedAckDaemon");
     }
 
-    public void testMultiThreadedStoppedDetached () {
+    public void testMultiThreadedStoppedDetached() {
 	if (unresolvedOnUtrace(3595))
 	    return;
 	SlaveOffspring ackProc = SlaveOffspring.createChild()
 	    .assertSendAddClonesWaitForAcks(2);
-	stopped(ackProc, 3);
+	stopped(ackProc);
 	assertRunUntilStop("testStoppedDetached");
     }
     
-    public void testMultiThreadedStoppedAttached () {
+    public void testMultiThreadedStoppedAttached() {
 	SlaveOffspring ackProc = SlaveOffspring.createAttachedChild()
 	    .assertSendAddClonesWaitForAcks(2);
-	stopped(ackProc, 3);
+	stopped(ackProc);
 	assertRunUntilStop("testStoppedAttached");
     }
 
-    public void testMultiThreadedRunningAckDaemon () {
+    public void testMultiThreadedRunningAckDaemon() {
 	SlaveOffspring ackProc = SlaveOffspring.createDaemon()
 	    .assertSendAddClonesWaitForAcks(2);
-	running(ackProc, 3);
+	running(ackProc);
 	assertRunUntilStop("testRunningAckDaemon");
     }
 
-    public void testMultiThreadedRunningDetached () {
+    public void testMultiThreadedRunningDetached() {
 	SlaveOffspring ackProc = SlaveOffspring.createChild()
 	    .assertSendAddClonesWaitForAcks(2);
-	running(ackProc, 3);
+	running(ackProc);
 	assertRunUntilStop("testRunningDetached");
     }
 
-    public void testMultiThreadedRunningAttached () {
+    public void testMultiThreadedRunningAttached() {
 	SlaveOffspring ackProc = SlaveOffspring.createAttachedChild()
 	    .assertSendAddClonesWaitForAcks(2);
-	running(ackProc, 3);
+	running(ackProc);
 	assertRunUntilStop("testRunningAttached");
     }
 
-  public class MyTester
-      implements ProcObserver.ProcAction
-  {   
-
-    public void existingTask (Task task)
-    {
-
+    public class MyTester implements ProcObserver.ProcAction {   
+	public void existingTask(Task task) {
+	}
+	public void deletedFrom(Object observable) {
+	}
+	public void allExistingTasksCompleted() {
+	    Manager.eventLoop.add(new RequestStopEvent(Manager.eventLoop));
+	}
+	public void addFailed(Object observable, Throwable w) {
+	    fail("Proc add failed: " + w.getMessage());
+	}
+	public void addedTo(Object observable) {
+	}
+	public void taskAddFailed(Object task, Throwable w) {
+	}
     }
-
-    public void deletedFrom (Object observable)
-    {
-    }
-
-    public void allExistingTasksCompleted ()
-    {
-      Manager.eventLoop.add(new RequestStopEvent(Manager.eventLoop));
-
-    }
-
-    public void addFailed (Object observable, Throwable w)
-    {
-      fail("Proc add failed: " + w.getMessage());
-    }
-
-    public void addedTo (Object observable)
-    {
-    }
-
-    public void taskAddFailed (Object task, Throwable w)
-    {
-    }
-
-  }
 }
diff --git a/frysk-core/frysk/testbed/ChangeLog b/frysk-core/frysk/testbed/ChangeLog
index 743820c..0436377 100644
--- a/frysk-core/frysk/testbed/ChangeLog
+++ b/frysk-core/frysk/testbed/ChangeLog
@@ -1,3 +1,11 @@
+2008-01-17  Andrew Cagney  <cagney@redhat.com>
+
+	* SlaveOffspring.java (assertSendStop()): Move from here ...
+	(STOP_SIG): Delete.
+	* Offspring.java (assertSendStop()): ... to here.
+	* LegacyOffspring.java (assertSendStop()): Delete.
+	(STOP_SIG): Delete.
+
 2008-01-15  Andrew Cagney  <cagney@redhat.com>
 
 	* StatState.java (assertRunUntil(int)): Make public.	
diff --git a/frysk-core/frysk/testbed/LegacyOffspring.java b/frysk-core/frysk/testbed/LegacyOffspring.java
index 0b9b1fa..d892e7a 100644
--- a/frysk-core/frysk/testbed/LegacyOffspring.java
+++ b/frysk-core/frysk/testbed/LegacyOffspring.java
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2005, 2006, 2007, Red Hat Inc.
+// Copyright 2005, 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
@@ -92,7 +92,6 @@ public class LegacyOffspring
 
     private static final Signal ADD_CLONE_SIG = Signal.USR1;
     private static final Signal DEL_CLONE_SIG = Signal.USR2;
-    private static final Signal STOP_SIG = Signal.STOP;
     private static final Signal ADD_FORK_SIG = Signal.HUP;
     private static final Signal DEL_FORK_SIG = Signal.INT;
     private static final Signal ZOMBIE_FORK_SIG = Signal.URG;
@@ -227,14 +226,6 @@ public class LegacyOffspring
     }
 
     /**
-     * Stop a Task.
-     */
-    public void assertSendStop () {
-	signal(STOP_SIG);
-	assertIs(StatState.TRACED_OR_STOPPED);
-    }
-
-    /**
      * Reap the process.. Kill the process and then wait for and
      * consume all of that processes waitpid events.
      */
diff --git a/frysk-core/frysk/testbed/Offspring.java b/frysk-core/frysk/testbed/Offspring.java
index c734f32..4dad3ad 100644
--- a/frysk-core/frysk/testbed/Offspring.java
+++ b/frysk-core/frysk/testbed/Offspring.java
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2005, 2006, 2007, Red Hat Inc.
+// Copyright 2005, 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
@@ -68,7 +68,7 @@ public abstract class Offspring {
     /**
      * Send the child the sig.
      */
-    public void signal (Signal sig) {
+    public void signal(Signal sig) {
 	sig.tkill(getPid());
     }
     /**
@@ -136,4 +136,12 @@ public abstract class Offspring {
     public void assertRunUntil(StatState state) {
 	state.assertRunUntil(getPid());
     }
+
+    /**
+     * Stop a Task with a SIGSTOP and then wait until it has stopped..
+     */
+    public void assertSendStop () {
+	signal(Signal.STOP);
+	assertIs(StatState.TRACED_OR_STOPPED);
+    }
 }
diff --git a/frysk-core/frysk/testbed/SlaveOffspring.java b/frysk-core/frysk/testbed/SlaveOffspring.java
index 5b5304e..022156d 100644
--- a/frysk-core/frysk/testbed/SlaveOffspring.java
+++ b/frysk-core/frysk/testbed/SlaveOffspring.java
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2005, 2006, 2007, Red Hat Inc.
+// Copyright 2005, 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
@@ -97,7 +97,6 @@ public class SlaveOffspring
 
     private static final Signal ADD_CLONE_SIG = Signal.USR1;
     private static final Signal DEL_CLONE_SIG = Signal.USR2;
-    private static final Signal STOP_SIG = Signal.STOP;
     private static final Signal ADD_FORK_SIG = Signal.HUP;
     private static final Signal DEL_FORK_SIG = Signal.PROF;
     private static final Signal ZOMBIE_FORK_SIG = Signal.URG;
@@ -234,14 +233,6 @@ public class SlaveOffspring
     }
 
     /**
-     * Stop a Task.
-     */
-    public void assertSendStop () {
-	signal(STOP_SIG);
-	assertIs(StatState.TRACED_OR_STOPPED);
-    }
-
-    /**
      * Reap the process.. Kill the process and then wait for and
      * consume all of that processes waitpid events.
      */


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


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

only message in thread, other threads:[~2008-01-17 19:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-17 19:13 [SCM] master: Fix npe in printing of proc/task states 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).