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