new test for java.lang.Process.destroy()

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

new test for java.lang.Process.destroy()

Christian Thalinger
Hi!

I have added a testcase for java.lang.Process.destroy().

- twisti

---

Index: ChangeLog
===================================================================
RCS file: /cvs/mauve/mauve/ChangeLog,v
retrieving revision 1.2121
diff -u -3 -p -r1.2121 ChangeLog
--- ChangeLog 24 Jul 2008 17:14:15 -0000 1.2121
+++ ChangeLog 30 Jul 2008 11:23:29 -0000
@@ -1,3 +1,8 @@
+2008-07-30  Christian Thalinger  <[hidden email]>
+
+ * gnu/testlet/java/lang/Process/destroy.java: New test.
+ * gnu/testlet/java/lang/Process/destroy_child.java: New file.
+
 2008-07-24  Andrew John Hughes  <[hidden email]>
 
  * gnu/testlet/java/awt/Desktop/PR34580.java:
Index: gnu/testlet/java/lang/Process/destroy.java
===================================================================
RCS file: gnu/testlet/java/lang/Process/destroy.java
diff -N gnu/testlet/java/lang/Process/destroy.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/java/lang/Process/destroy.java 30 Jul 2008 11:23:31 -0000
@@ -0,0 +1,71 @@
+// Tags: JDK1.0
+// Depends: destroy_child
+
+// Copyright (C) 2008 Christian Thalinger
+
+// This file is part of Mauve.
+
+// Mauve is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Mauve; see the file COPYING.  If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+
+package gnu.testlet.java.lang.Process;
+
+import gnu.testlet.Testlet;
+import gnu.testlet.TestHarness;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.IOException;
+
+public class destroy implements Testlet
+{
+  public void test(TestHarness harness)
+  {
+    try
+      {
+        Process p = Runtime.getRuntime().exec(harness.getTestJava() + " gnu.testlet.java.lang.Process.destroy_child");
+        BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
+
+        String line = in.readLine();
+
+        // Wait until the child process is up and running.
+        if (line.equals("UP"))
+          {
+            harness.check(true);
+            // Now destroy it.
+            p.destroy();
+          }
+        else
+          harness.check(false);
+
+        // Wait until the child Process is going down.
+        try
+          {
+            p.waitFor();
+            harness.check(true);
+          }
+        catch (InterruptedException e)
+          {
+            harness.debug(e);
+            harness.check(false);
+          }
+      }
+    catch (IOException e)
+      {
+        harness.debug(e);
+        harness.check(false);
+      }
+  }
+}
Index: gnu/testlet/java/lang/Process/destroy_child.java
===================================================================
RCS file: gnu/testlet/java/lang/Process/destroy_child.java
diff -N gnu/testlet/java/lang/Process/destroy_child.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/java/lang/Process/destroy_child.java 30 Jul 2008 11:23:31 -0000
@@ -0,0 +1,47 @@
+// Tags: not-a-test
+
+// Copyright (C) 2008 Christian Thalinger
+
+// This file is part of Mauve.
+
+// Mauve is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Mauve; see the file COPYING.  If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+
+package gnu.testlet.java.lang.Process;
+
+import gnu.testlet.Testlet;
+import gnu.testlet.TestHarness;
+
+public class destroy_child {
+  public static void main(String[] args)
+  {
+    try
+      {
+        // Tell the parent process we are up and running.
+        System.out.println("UP");
+
+        // Don't exit.
+        while (true)
+          {
+            Thread.sleep(1000);
+          }
+      }
+    catch (InterruptedException e)
+      {
+        e.printStackTrace();
+      }
+  }
+}