public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: cagney@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Add frysk.proc.dead.TestCoreRegs.
Date: Thu, 29 Nov 2007 20:06:00 -0000	[thread overview]
Message-ID: <20071129200553.8197.qmail@sourceware.org> (raw)

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


                 reply	other threads:[~2007-11-29 20:06 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=20071129200553.8197.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: link
Be 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).