public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Add frysk.proc.dead.TestCoreRegs.
@ 2007-11-29 20:06 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2007-11-29 20:06 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  844d4ed8788ac42facac66356f9f800cb17d1f72 (commit)
      from  c6bbbe730513c609fe78bb7f92c9cecab7b1aa33 (commit)

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

- Log -----------------------------------------------------------------
commit 844d4ed8788ac42facac66356f9f800cb17d1f72
Author: Andrew Cagney <cagney@redhat.com>
Date:   Thu Nov 29 15:05:30 2007 -0500

    Add frysk.proc.dead.TestCoreRegs.
    
    frysk-core/frysk/proc/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestRegs.java: Move to frysk.proc.live.TestRegs.
    
    frysk-core/frysk/proc/dead/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestCoreRegs.java: New.
    
    frysk-core/frysk/proc/live/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestRegs.java: Moved from frysk.proc.TestRegs.
    
    frysk-core/frysk/testbed/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* CoreFileAtSignal.java (constructCore(Proc)): New.
    	* RegsCase.java (setTask(Task)): New.

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

Summary of changes:
 frysk-core/frysk/proc/ChangeLog                    |    4 +++
 frysk-core/frysk/proc/dead/ChangeLog               |    4 +++
 .../proc/{TestRegs.java => dead/TestCoreRegs.java} |   18 +++++++++++++-
 frysk-core/frysk/proc/live/ChangeLog               |    4 +++
 frysk-core/frysk/proc/{ => live}/TestRegs.java     |    2 +-
 frysk-core/frysk/testbed/ChangeLog                 |    5 ++++
 frysk-core/frysk/testbed/CoreFileAtSignal.java     |   23 +++++++++++--------
 frysk-core/frysk/testbed/RegsCase.java             |   19 +++++++++++++--
 8 files changed, 63 insertions(+), 16 deletions(-)
 copy frysk-core/frysk/proc/{TestRegs.java => dead/TestCoreRegs.java} (83%)
 rename frysk-core/frysk/proc/{ => live}/TestRegs.java (99%)

First 500 lines of diff:
diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog
index 90e62d2..24a3a95 100644
--- a/frysk-core/frysk/proc/ChangeLog
+++ b/frysk-core/frysk/proc/ChangeLog
@@ -1,3 +1,7 @@
+2007-11-29  Andrew Cagney  <cagney@redhat.com>
+
+	* TestRegs.java: Move to frysk.proc.live.TestRegs.
+
 2007-11-26  Andrew Cagney  <cagney@redhat.com>
 
 	* X86BankRegisters.java: Replace X8664Registers.XMM8 et.al. with
diff --git a/frysk-core/frysk/proc/dead/ChangeLog b/frysk-core/frysk/proc/dead/ChangeLog
index 8790a32..cb18b1c 100644
--- a/frysk-core/frysk/proc/dead/ChangeLog
+++ b/frysk-core/frysk/proc/dead/ChangeLog
@@ -1,3 +1,7 @@
+2007-11-29  Andrew Cagney  <cagney@redhat.com>
+
+	* TestCoreRegs.java: New.
+
 2007-11-29  Phil Muldoon  <pmuldoon@redhat.com>
 
 	* CorefileByteBuffer.java (peek): Tweak error message
diff --git a/frysk-core/frysk/proc/TestRegs.java b/frysk-core/frysk/proc/dead/TestCoreRegs.java
similarity index 83%
copy from frysk-core/frysk/proc/TestRegs.java
copy to frysk-core/frysk/proc/dead/TestCoreRegs.java
index bf90609..2e9deaf 100644
--- a/frysk-core/frysk/proc/TestRegs.java
+++ b/frysk-core/frysk/proc/dead/TestCoreRegs.java
@@ -37,16 +37,30 @@
 // version and license this file solely under the GPL without
 // exception.
 
-package frysk.proc;
+package frysk.proc.dead;
 
 import frysk.isa.Register;
 import frysk.testbed.RegsCase;
+import frysk.proc.Proc;
+import frysk.testbed.CoreFileAtSignal;
+import frysk.util.Util;
+import java.io.File;
 
 /**
  * Check all register values.
  */
 
-public class TestRegs extends RegsCase {
+public class TestCoreRegs extends RegsCase {
+
+    public void setUp() {
+	super.setUp();
+	// Replace the live task with a dead one.
+	Proc proc = task().getProc();
+	File exe = new File(proc.getExe());
+	File core = CoreFileAtSignal.constructCore(proc);
+	Proc coreProc = Util.getProcFromCoreFile(core, exe);
+	setTask(coreProc.getMainTask());
+    }
 
     public void access(Register register, int offset, int length,
 		       byte[] bytes, int start, boolean write) {
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index ee712f6..df11d49 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,3 +1,7 @@
+2007-11-29  Andrew Cagney  <cagney@redhat.com>
+
+	* TestRegs.java: Moved from frysk.proc.TestRegs.
+
 2007-11-27  Jose Flavio Aguilar Paulino <joseflavio@gmail.com>
 
 	* PtraceRegisterBanksFactory.java: Putting single PowerPC ptrace
diff --git a/frysk-core/frysk/proc/TestRegs.java b/frysk-core/frysk/proc/live/TestRegs.java
similarity index 99%
rename from frysk-core/frysk/proc/TestRegs.java
rename to frysk-core/frysk/proc/live/TestRegs.java
index bf90609..21c3583 100644
--- a/frysk-core/frysk/proc/TestRegs.java
+++ b/frysk-core/frysk/proc/live/TestRegs.java
@@ -37,7 +37,7 @@
 // version and license this file solely under the GPL without
 // exception.
 
-package frysk.proc;
+package frysk.proc.live;
 
 import frysk.isa.Register;
 import frysk.testbed.RegsCase;
diff --git a/frysk-core/frysk/testbed/ChangeLog b/frysk-core/frysk/testbed/ChangeLog
index fb84632..9a990b2 100644
--- a/frysk-core/frysk/testbed/ChangeLog
+++ b/frysk-core/frysk/testbed/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-29  Andrew Cagney  <cagney@redhat.com>
+
+	* CoreFileAtSignal.java (constructCore(Proc)): New.
+	* RegsCase.java (setTask(Task)): New.
+
 2007-11-28  Andrew Cagney  <cagney@redhat.com>
 
 	* TestRegs.java (testGeneralRegistersPresent()): Rename
diff --git a/frysk-core/frysk/testbed/CoreFileAtSignal.java b/frysk-core/frysk/testbed/CoreFileAtSignal.java
index 8d058fc..432308c 100644
--- a/frysk-core/frysk/testbed/CoreFileAtSignal.java
+++ b/frysk-core/frysk/testbed/CoreFileAtSignal.java
@@ -49,16 +49,8 @@ import frysk.Config;
 
 public class CoreFileAtSignal extends TestLib {
     
-    
-    /**
-     * Given a path to an executable it will run it until it sigfaults then
-     * extracts a corefile at that point, and return a Proc representing
-     * that core file.
-     */
-    public static File constructCore(File exeFile) {
-	final Proc ackProc
-	    = new DaemonBlockedAtSignal(exeFile).getMainTask().getProc();
-	final CoredumpAction coreDump
+    public static File constructCore(Proc ackProc) {
+	CoredumpAction coreDump
 	    = new CoredumpAction(ackProc, new Event() {
 		    public void execute() {
 			Manager.eventLoop.requestStop();
@@ -72,6 +64,17 @@ public class CoreFileAtSignal extends TestLib {
 	TearDownFile core = new TearDownFile(coreFileName);
 	return core;
     }
+    
+    /**
+     * Given a path to an executable it will run it until it sigfaults then
+     * extracts a corefile at that point, and return a Proc representing
+     * that core file.
+     */
+    public static File constructCore(File exeFile) {
+	final Proc ackProc
+	    = new DaemonBlockedAtSignal(exeFile).getMainTask().getProc();
+	return constructCore(ackProc);
+    }
 
     /**
      * Given a path to an executable it will run it until it sigfaults then
diff --git a/frysk-core/frysk/testbed/RegsCase.java b/frysk-core/frysk/testbed/RegsCase.java
index 23f3fba..a8074eb 100644
--- a/frysk-core/frysk/testbed/RegsCase.java
+++ b/frysk-core/frysk/testbed/RegsCase.java
@@ -72,15 +72,28 @@ public abstract class RegsCase extends TestLib {
     private ByteOrder order;
     private ISA isa;
     private Registers registers;
-    public void setUp() {
-	super.setUp();
-	task = new DaemonBlockedAtSignal("funit-regs").getMainTask();
+    /**
+     * Set things up for testing against the specified task.
+     *
+     * Initially things are set up for testing against the live
+     * "funit-regs" process; this can be overwritten by re-calling
+     * with a new task (for instance from a core file created from the
+     * live funit-regs.
+     */
+    protected void setTask(Task task) {
+	this.task = task;
 	isa = task.getISA();
 	order = isa.order();
 	registers = RegistersFactory.getRegisters(isa);
 	if (isaValues.containsKey(isa))
 	    values = (Values)isaValues.get(isa);
     }
+
+    public void setUp() {
+	super.setUp();
+	setTask(new DaemonBlockedAtSignal("funit-regs").getMainTask());
+    }
+
     public void tearDown() {
 	task = null;
 	values = null;


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


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

only message in thread, other threads:[~2007-11-29 20:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-29 20:06 [SCM] master: Add frysk.proc.dead.TestCoreRegs 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).