Silence test_subprocess.

This commit is contained in:
Florent Xicluna 2010-03-23 14:36:45 +00:00
parent 875bdf731c
commit fc4d6d7763
1 changed files with 12 additions and 24 deletions

View File

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