diff options
author | Jesus Cea <jcea@jcea.es> | 2011-09-09 18:29:01 (GMT) |
---|---|---|
committer | Jesus Cea <jcea@jcea.es> | 2011-09-09 18:29:01 (GMT) |
commit | 440b3834e23eac6bf152d0b7e56b3e90f8062488 (patch) | |
tree | 3b51cc51ec7da8c9f2905950293ebad44147e256 | |
parent | 46a9d62828bb1179dc718fb0ac24e7db5e8fa39f (diff) | |
parent | 94f964f81046604102c963e9adac0d2ce36d8955 (diff) | |
download | cpython-440b3834e23eac6bf152d0b7e56b3e90f8062488.zip cpython-440b3834e23eac6bf152d0b7e56b3e90f8062488.tar.gz cpython-440b3834e23eac6bf152d0b7e56b3e90f8062488.tar.bz2 |
Close issue #12948: multiprocessing test failures can hang the buildbots
-rw-r--r-- | Lib/test/test_multiprocessing.py | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 7a7805d..3d462e0 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -296,6 +296,7 @@ class _TestProcess(BaseTestCase): p = self.Process(target=time.sleep, args=(DELTA,)) self.assertNotIn(p, self.active_children()) + p.daemon = True p.start() self.assertIn(p, self.active_children()) @@ -386,6 +387,7 @@ class _TestSubclassingProcess(BaseTestCase): def test_subclassing(self): uppercaser = _UpperCaser() + uppercaser.daemon = True uppercaser.start() self.assertEqual(uppercaser.submit('hello'), 'HELLO') self.assertEqual(uppercaser.submit('world'), 'WORLD') @@ -564,6 +566,7 @@ class _TestQueue(BaseTestCase): # fork process p = self.Process(target=self._test_fork, args=(queue,)) + p.daemon = True p.start() # check that all expected items are in the queue @@ -604,6 +607,7 @@ class _TestQueue(BaseTestCase): for i in range(4)] for p in workers: + p.daemon = True p.start() for i in range(10): @@ -874,7 +878,9 @@ class _TestEvent(BaseTestCase): #self.assertEqual(event.is_set(), False) - self.Process(target=self._test_event, args=(event,)).start() + p = self.Process(target=self._test_event, args=(event,)) + p.daemon = True + p.start() self.assertEqual(wait(), True) # @@ -914,6 +920,7 @@ class _TestValue(BaseTestCase): self.assertEqual(sv.value, cv[1]) proc = self.Process(target=self._test, args=(values,)) + proc.daemon = True proc.start() proc.join() @@ -977,6 +984,7 @@ class _TestArray(BaseTestCase): self.f(seq) p = self.Process(target=self.f, args=(arr,)) + p.daemon = True p.start() p.join() @@ -1381,6 +1389,7 @@ class _TestRemoteManager(BaseTestCase): manager.start() p = self.Process(target=self._putter, args=(manager.address, authkey)) + p.daemon = True p.start() manager2 = QueueManager2( @@ -1422,6 +1431,7 @@ class _TestManagerRestart(BaseTestCase): manager.start() p = self.Process(target=self._putter, args=(manager.address, authkey)) + p.daemon = True p.start() queue = manager.get_queue() self.assertEqual(queue.get(), 'hello world') @@ -1554,6 +1564,7 @@ class _TestConnection(BaseTestCase): conn, child_conn = self.Pipe() p = self.Process(target=self._echo, args=(child_conn,)) + p.daemon = True p.start() child_conn.close() # this might complete before child initializes @@ -1626,6 +1637,7 @@ class _TestConnection(BaseTestCase): conn, child_conn = self.Pipe(duplex=True) p = self.Process(target=self._writefd, args=(child_conn, b"foo")) + p.daemon = True p.start() with open(test.support.TESTFN, "wb") as f: fd = f.fileno() @@ -1649,6 +1661,7 @@ class _TestConnection(BaseTestCase): conn, child_conn = self.Pipe(duplex=True) p = self.Process(target=self._writefd, args=(child_conn, b"bar", True)) + p.daemon = True p.start() with open(test.support.TESTFN, "wb") as f: fd = f.fileno() @@ -1737,11 +1750,13 @@ class _TestPicklingConnections(BaseTestCase): lconn, lconn0 = self.Pipe() lp = self.Process(target=self._listener, args=(lconn0, families)) + lp.daemon = True lp.start() lconn0.close() rconn, rconn0 = self.Pipe() rp = self.Process(target=self._remote, args=(rconn0,)) + rp.daemon = True rp.start() rconn0.close() @@ -1879,6 +1894,7 @@ class _TestSharedCTypes(BaseTestCase): string.value = latin('hello') p = self.Process(target=self._double, args=(x, y, foo, arr, string)) + p.daemon = True p.start() p.join() @@ -1951,6 +1967,7 @@ class _TestFinalize(BaseTestCase): conn, child_conn = self.Pipe() p = self.Process(target=self._test_finalize, args=(child_conn,)) + p.daemon = True p.start() p.join() @@ -2020,12 +2037,16 @@ class _TestLogging(BaseTestCase): reader, writer = multiprocessing.Pipe(duplex=False) logger.setLevel(LEVEL1) - self.Process(target=self._test_level, args=(writer,)).start() + p = self.Process(target=self._test_level, args=(writer,)) + p.daemon = True + p.start() self.assertEqual(LEVEL1, reader.recv()) logger.setLevel(logging.NOTSET) root_logger.setLevel(LEVEL2) - self.Process(target=self._test_level, args=(writer,)).start() + p = self.Process(target=self._test_level, args=(writer,)) + p.daemon = True + p.start() self.assertEqual(LEVEL2, reader.recv()) root_logger.setLevel(root_level) @@ -2217,6 +2238,7 @@ def _ThisSubProcess(q): def _TestProcess(q): queue = multiprocessing.Queue() subProc = multiprocessing.Process(target=_ThisSubProcess, args=(queue,)) + subProc.daemon = True subProc.start() subProc.join() @@ -2253,11 +2275,13 @@ class TestStdinBadfiledescriptor(unittest.TestCase): def test_queue_in_process(self): queue = multiprocessing.Queue() proc = multiprocessing.Process(target=_TestProcess, args=(queue,)) + proc.daemon = True proc.start() proc.join() def test_pool_in_process(self): p = multiprocessing.Process(target=pool_in_process) + p.daemon = True p.start() p.join() |