[Python-checkins] cpython (merge 3.2 -> default): Close issue #12948: multiprocessing test failures can hang the buildbots

jesus.cea python-checkins at python.org
Fri Sep 9 20:35:05 CEST 2011


http://hg.python.org/cpython/rev/1e189d55721c
changeset:   72321:1e189d55721c
parent:      72318:272c8e9183db
parent:      72320:ebeb58f3de39
user:        Jesus Cea <jcea at jcea.es>
date:        Fri Sep 09 20:29:01 2011 +0200
summary:
  Close issue #12948: multiprocessing test failures can hang the buildbots

files:
  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
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -296,6 +296,7 @@
         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 @@
 
     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 @@
 
         # 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 @@
                    for i in range(4)]
 
         for p in workers:
+            p.daemon = True
             p.start()
 
         for i in range(10):
@@ -874,7 +878,9 @@
 
         #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 @@
             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 @@
         self.f(seq)
 
         p = self.Process(target=self.f, args=(arr,))
+        p.daemon = True
         p.start()
         p.join()
 
@@ -1381,6 +1389,7 @@
         manager.start()
 
         p = self.Process(target=self._putter, args=(manager.address, authkey))
+        p.daemon = True
         p.start()
 
         manager2 = QueueManager2(
@@ -1422,6 +1431,7 @@
         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 @@
         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 @@
         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 @@
         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 @@
 
         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 @@
         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 @@
         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 @@
         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 _TestProcess(q):
     queue = multiprocessing.Queue()
     subProc = multiprocessing.Process(target=_ThisSubProcess, args=(queue,))
+    subProc.daemon = True
     subProc.start()
     subProc.join()
 
@@ -2253,11 +2275,13 @@
     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()
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list