diff options
author | Jesus Cea <jcea@jcea.es> | 2011-09-09 18:26:57 (GMT) |
---|---|---|
committer | Jesus Cea <jcea@jcea.es> | 2011-09-09 18:26:57 (GMT) |
commit | 6f6016bc591305a9a99551ea7b1c467334c2b622 (patch) | |
tree | 72dfa869efe7a088f2706fe93e2ed4d982fe574e | |
parent | 79c9d4faa7eea9bdcc49ec2219fdff56a2f57243 (diff) | |
download | cpython-6f6016bc591305a9a99551ea7b1c467334c2b622.zip cpython-6f6016bc591305a9a99551ea7b1c467334c2b622.tar.gz cpython-6f6016bc591305a9a99551ea7b1c467334c2b622.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 935e224..1b93a82 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -264,6 +264,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()) @@ -334,6 +335,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') @@ -512,6 +514,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 @@ -552,6 +555,7 @@ class _TestQueue(BaseTestCase): for i in xrange(4)] for p in workers: + p.daemon = True p.start() for i in xrange(10): @@ -816,7 +820,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) # @@ -856,6 +862,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() @@ -919,6 +926,7 @@ class _TestArray(BaseTestCase): self.f(seq) p = self.Process(target=self.f, args=(arr,)) + p.daemon = True p.start() p.join() @@ -1285,6 +1293,7 @@ class _TestRemoteManager(BaseTestCase): manager.start() p = self.Process(target=self._putter, args=(manager.address, authkey)) + p.daemon = True p.start() manager2 = QueueManager2( @@ -1326,6 +1335,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') @@ -1449,6 +1459,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 @@ -1521,6 +1532,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() @@ -1544,6 +1556,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() @@ -1632,11 +1645,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() @@ -1774,6 +1789,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() @@ -1846,6 +1862,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() @@ -1915,12 +1932,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) @@ -2106,6 +2127,7 @@ def _ThisSubProcess(q): def _TestProcess(q): queue = multiprocessing.Queue() subProc = multiprocessing.Process(target=_ThisSubProcess, args=(queue,)) + subProc.daemon = True subProc.start() subProc.join() @@ -2142,11 +2164,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() |