[Python-checkins] r78662 - python/trunk/Lib/test/test_subprocess.py

florent.xicluna python-checkins at python.org
Thu Mar 4 22:31:58 CET 2010


Author: florent.xicluna
Date: Thu Mar  4 22:31:58 2010
New Revision: 78662

Log:
#2777: Enable test_send_signal, test_kill and test_terminate on all platforms.


Modified:
   python/trunk/Lib/test/test_subprocess.py

Modified: python/trunk/Lib/test/test_subprocess.py
==============================================================================
--- python/trunk/Lib/test/test_subprocess.py	(original)
+++ python/trunk/Lib/test/test_subprocess.py	Thu Mar  4 22:31:58 2010
@@ -39,6 +39,12 @@
         # doesn't crash on some buildbots (Alphas in particular).
         test_support.reap_children()
 
+    def tearDown(self):
+        for inst in subprocess._active:
+            inst.wait()
+        subprocess._cleanup()
+        self.assertFalse(subprocess._active, "subprocess._active not empty")
+
     def assertStderrEqual(self, stderr, expected, msg=None):
         # In a debug build, stuff like "[6580 refs]" is printed to stderr at
         # shutdown time.  That frustrates tests trying to check stderr produced
@@ -559,6 +565,12 @@
         # doesn't crash on some buildbots (Alphas in particular).
         test_support.reap_children()
 
+    def tearDown(self):
+        for inst in subprocess._active:
+            inst.wait()
+        subprocess._cleanup()
+        self.assertFalse(subprocess._active, "subprocess._active not empty")
+
     def test_exceptions(self):
         # caught & re-raised exceptions
         with self.assertRaises(OSError) as c:
@@ -638,15 +650,15 @@
         os.remove(fname)
         self.assertEqual(rc, 47)
 
-    @unittest.skip("See issue #2777")
     def test_send_signal(self):
         p = subprocess.Popen([sys.executable, "-c", "input()"])
 
+        # Let the process initialize correctly (Issue #3137)
+        time.sleep(.1)
         self.assertIs(p.poll(), None)
         p.send_signal(signal.SIGINT)
         self.assertNotEqual(p.wait(), 0)
 
-    @unittest.skip("See issue #2777")
     def test_kill(self):
         p = subprocess.Popen([sys.executable, "-c", "input()"])
 
@@ -654,7 +666,6 @@
         p.kill()
         self.assertEqual(p.wait(), -signal.SIGKILL)
 
-    @unittest.skip("See issue #2777")
     def test_terminate(self):
         p = subprocess.Popen([sys.executable, "-c", "input()"])
 
@@ -670,6 +681,12 @@
         # doesn't crash on some buildbots (Alphas in particular).
         test_support.reap_children()
 
+    def tearDown(self):
+        for inst in subprocess._active:
+            inst.wait()
+        subprocess._cleanup()
+        self.assertFalse(subprocess._active, "subprocess._active not empty")
+
     def test_startupinfo(self):
         # startupinfo argument
         # We uses hardcoded constants, because we do not want to
@@ -736,7 +753,6 @@
                              ' -c "import sys; sys.exit(47)"')
         self.assertEqual(rc, 47)
 
-    @unittest.skip("See issue #2777")
     def test_send_signal(self):
         p = subprocess.Popen([sys.executable, "-c", "input()"])
 
@@ -744,7 +760,6 @@
         p.send_signal(signal.SIGTERM)
         self.assertNotEqual(p.wait(), 0)
 
-    @unittest.skip("See issue #2777")
     def test_kill(self):
         p = subprocess.Popen([sys.executable, "-c", "input()"])
 
@@ -752,7 +767,6 @@
         p.kill()
         self.assertNotEqual(p.wait(), 0)
 
-    @unittest.skip("See issue #2777")
     def test_terminate(self):
         p = subprocess.Popen([sys.executable, "-c", "input()"])
 


More information about the Python-checkins mailing list