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

florent.xicluna python-checkins at python.org
Tue Mar 23 15:36:45 CET 2010


Author: florent.xicluna
Date: Tue Mar 23 15:36:45 2010
New Revision: 79344

Log:
Silence test_subprocess.


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	Tue Mar 23 15:36:45 2010
@@ -33,7 +33,7 @@
         return os.open(fname, os.O_RDWR|os.O_CREAT), fname
 
 
-class ProcessTestCase(unittest.TestCase):
+class BaseTestCase(unittest.TestCase):
     def setUp(self):
         # Try to minimize the number of children we have so this test
         # doesn't crash on some buildbots (Alphas in particular).
@@ -52,6 +52,9 @@
         actual = re.sub(r"\[\d+ refs\]\r?\n?$", "", stderr)
         self.assertEqual(actual, expected, msg)
 
+
+class ProcessTestCase(BaseTestCase):
+
     def test_call_seq(self):
         # call() function with sequence argument
         rc = subprocess.call([sys.executable, "-c",
@@ -559,17 +562,7 @@
 
 
 @unittest.skipIf(mswindows, "POSIX specific tests")
-class POSIXProcessTestCase(unittest.TestCase):
-    def setUp(self):
-        # Try to minimize the number of children we have so this test
-        # 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")
+class POSIXProcessTestCase(BaseTestCase):
 
     def test_exceptions(self):
         # caught & re-raised exceptions
@@ -654,7 +647,7 @@
         # Do not inherit file handles from the parent.
         # It should fix failures on some platforms.
         p = subprocess.Popen([sys.executable, "-c", "input()"], close_fds=True,
-                             stdin=subprocess.PIPE)
+                             stdin=subprocess.PIPE, stderr=subprocess.PIPE)
 
         # Let the process initialize (Issue #3137)
         time.sleep(0.1)
@@ -675,7 +668,12 @@
 
     def test_send_signal(self):
         p = self._kill_process('send_signal', signal.SIGINT)
+        _, stderr = p.communicate()
         self.assertNotEqual(p.wait(), 0)
+        self.assertStderrEqual(stderr,
+            "Traceback (most recent call last):\n"
+            "  File \"<string>\", line 1, in <module>\n"
+            "KeyboardInterrupt\n")
 
     def test_kill(self):
         p = self._kill_process('kill')
@@ -687,17 +685,7 @@
 
 
 @unittest.skipUnless(mswindows, "Windows specific tests")
-class Win32ProcessTestCase(unittest.TestCase):
-    def setUp(self):
-        # Try to minimize the number of children we have so this test
-        # 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")
+class Win32ProcessTestCase(BaseTestCase):
 
     def test_startupinfo(self):
         # startupinfo argument


More information about the Python-checkins mailing list