public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: cagney@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Test 6621; fexe on a process with a deleted executable.
Date: Thu, 12 Jun 2008 14:00:00 -0000	[thread overview]
Message-ID: <20080612140051.26654.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  29cf509f4c2e62437f34c7bee2be1c29f9d4935b (commit)
      from  09ad908a40a267c243caa418f18cb40b98991694 (commit)

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

- Log -----------------------------------------------------------------
commit 29cf509f4c2e62437f34c7bee2be1c29f9d4935b
Author: Andrew Cagney <cagney@toil.yyz.redhat.com>
Date:   Thu Jun 12 09:56:31 2008 -0400

    Test 6621; fexe on a process with a deleted executable.
    
    frysk-core/frysk/bindir/ChangeLog
    2008-06-12  Andrew Cagney  <cagney@redhat.com>
    
    	* TestFexe.java (testExeOfDeletedFile()): New; mark as unresolved
    	6621.
    
    frysk-sys/frysk/expunit/ChangeLog
    2008-06-12  Andrew Cagney  <cagney@redhat.com>
    
    	* TestExpect (testShell()): New.
    	* Expect.java (Expect()): New.
    
    frysk-sys/frysk/testbed/ChangeLog
    2008-06-12  Andrew Cagney  <cagney@redhat.com>
    
    	* TearDownExpect.java (TearDownExpect()): Add.

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

Summary of changes:
 frysk-core/frysk/bindir/ChangeLog           |    5 +++++
 frysk-core/frysk/bindir/TestFexe.java       |   26 ++++++++++++++++++++++++++
 frysk-sys/frysk/expunit/ChangeLog           |    5 +++++
 frysk-sys/frysk/expunit/Expect.java         |   11 +++++++++++
 frysk-sys/frysk/expunit/TestExpect.java     |    9 +++++++++
 frysk-sys/frysk/testbed/ChangeLog           |    4 ++++
 frysk-sys/frysk/testbed/TearDownExpect.java |    4 ++++
 7 files changed, 64 insertions(+), 0 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/bindir/ChangeLog b/frysk-core/frysk/bindir/ChangeLog
index 29df5ba..5f57822 100644
--- a/frysk-core/frysk/bindir/ChangeLog
+++ b/frysk-core/frysk/bindir/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-12  Andrew Cagney  <cagney@redhat.com>
+
+	* TestFexe.java (testExeOfDeletedFile()): New; mark as unresolved
+	6621.
+
 2008-06-10  Andrew Cagney  <cagney@redhat.com>
 
 	* TestFstack.java (testBackTraceWithFullPath): Specify "paths",
diff --git a/frysk-core/frysk/bindir/TestFexe.java b/frysk-core/frysk/bindir/TestFexe.java
index 6f79c80..d5aba64 100644
--- a/frysk-core/frysk/bindir/TestFexe.java
+++ b/frysk-core/frysk/bindir/TestFexe.java
@@ -39,6 +39,7 @@
 
 package frysk.bindir;
 
+import frysk.testbed.TearDownFile;
 import frysk.testbed.TearDownExpect;
 import frysk.testbed.TestLib;
 import frysk.config.Prefix;
@@ -87,4 +88,29 @@ public class TestFexe extends TestLib {
 	e.expect("/bin/bash" + "\r\n");
     }
 
+    public void testExeOfDeletedFile() {
+	if (unresolved(6621))
+	    return;
+	TearDownExpect e = new TearDownExpect();
+	TearDownFile exe = TearDownFile.create();
+	// Create a copy of sleep that is executable.
+	e.send("cp /bin/sleep " + exe.getPath() + "\r");
+	e.expect("cp .*\\$ ");
+	e.send("chmod +x " + exe.getPath() + "\r");
+	e.expect("chmod .*\\$ ");
+	// Start sleep running; pid is in $!, save it.
+	e.send(exe.getAbsolutePath() + " 1000 &\r");
+	e.send("pid=$! ; echo pid=$pid\r");
+	e.expect("pid=[0-9]+\r\n\\$ ");
+	// Try fexe with the executable present.
+	e.send(Prefix.binFile("fexe").getPath() + " $pid\r");
+	e.expect(exe.getName() + "\r\n\\$ ");
+	// Delete the executable
+	e.send("rm -f " + exe.getPath() + "\r");
+	e.expect("\\$ ");
+	assertFalse("file exists", exe.stillExists());
+	// Try fexe with the executable deleted
+	e.send(Prefix.binFile("fexe").getPath() + " $pid\r");
+	e.expect(exe.getName() + " \\(deleted\\)\r\n\\$ ");
+    }
 }
diff --git a/frysk-sys/frysk/expunit/ChangeLog b/frysk-sys/frysk/expunit/ChangeLog
index 3434555..b81903d 100644
--- a/frysk-sys/frysk/expunit/ChangeLog
+++ b/frysk-sys/frysk/expunit/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-12  Andrew Cagney  <cagney@redhat.com>
+
+	* TestExpect (testShell()): New.
+	* Expect.java (Expect()): New.
+
 2008-03-11  Andrew Cagney  <cagney@redhat.com>
 
 	* Child.java: Use LogFinest.
diff --git a/frysk-sys/frysk/expunit/Expect.java b/frysk-sys/frysk/expunit/Expect.java
index 1d07b91..d2542f6 100644
--- a/frysk-sys/frysk/expunit/Expect.java
+++ b/frysk-sys/frysk/expunit/Expect.java
@@ -91,6 +91,17 @@ public class Expect {
     }
 
     /**
+     * Create a bash shell sitting at a prompt.
+     */
+    public Expect() {
+	this(new String[] {
+		"/bin/bash", "-c",
+		"export PS1=$\\ ; export PS2=>\\ ; exec /bin/bash --norc --noprofile"
+	    });
+	expect("\\$ ");
+    }
+
+    /**
      * Clean up.
      *
      * XXX: This drains all outstanding WAITPID events, and SIGCHLD
diff --git a/frysk-sys/frysk/expunit/TestExpect.java b/frysk-sys/frysk/expunit/TestExpect.java
index 32bd302..b7b2f83 100644
--- a/frysk-sys/frysk/expunit/TestExpect.java
+++ b/frysk-sys/frysk/expunit/TestExpect.java
@@ -151,4 +151,13 @@ public class TestExpect
 	    });
 	assertEquals ("brk mode", "-brkint", g.toString ());
     }
+
+    public void testShell() {
+	Expect e = new Expect();
+	// send a command, check that all, especially the prompt, are
+	// correct.
+	e.send("echo hi\r");
+	e.expect("echo hi\r\nhi\r\n\\$ ");
+    }
+
 }
diff --git a/frysk-sys/frysk/testbed/ChangeLog b/frysk-sys/frysk/testbed/ChangeLog
index 60bdb8a..ff3c2a9 100644
--- a/frysk-sys/frysk/testbed/ChangeLog
+++ b/frysk-sys/frysk/testbed/ChangeLog
@@ -1,3 +1,7 @@
+2008-06-12  Andrew Cagney  <cagney@redhat.com>
+
+	* TearDownExpect.java (TearDownExpect()): Add.
+
 2008-06-06  Andrew Cagney  <cagney@redhat.com>
 
 	* LocalMemory.java (getModuleName()): New.
diff --git a/frysk-sys/frysk/testbed/TearDownExpect.java b/frysk-sys/frysk/testbed/TearDownExpect.java
index 0e50faf..7bbdcfb 100644
--- a/frysk-sys/frysk/testbed/TearDownExpect.java
+++ b/frysk-sys/frysk/testbed/TearDownExpect.java
@@ -65,6 +65,10 @@ public class TearDownExpect extends Expect {
 	super(command);
 	add(this);
     }
+    public TearDownExpect() {
+	super();
+	add(this);
+    }
 
     /**
      * Collection of expect classes.


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


                 reply	other threads:[~2008-06-12 14:00 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=20080612140051.26654.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).