]> granicus.if.org Git - python/commitdiff
Issue9670: Merge backout from 3.2.
authorNed Deily <nad@acm.org>
Sat, 9 Apr 2011 21:58:04 +0000 (14:58 -0700)
committerNed Deily <nad@acm.org>
Sat, 9 Apr 2011 21:58:04 +0000 (14:58 -0700)
1  2 
Lib/test/test_threading.py
Misc/NEWS
Python/thread_pthread.h

index 270e0b86e49969ea90cf79eba9d6dd21a8733343,5f99b2ea9f5917ddbc2ece5a5bcf0674760bf572..c107652d268f4293642f213389bdcabe1d3ab14b
@@@ -685,40 -677,6 +685,10 @@@ class ThreadingExceptionTests(BaseTestC
          thread.start()
          self.assertRaises(RuntimeError, setattr, thread, "daemon", True)
  
-     def test_recursion_limit(self):
-         # Issue 9670
-         # test that excessive recursion within a non-main thread causes
-         # an exception rather than crashing the interpreter on platforms
-         # like Mac OS X or FreeBSD which have small default stack sizes
-         # for threads
-         script = """if True:
-             import threading
-             def recurse():
-                 return recurse()
-             def outer():
-                 try:
-                     recurse()
-                 except RuntimeError:
-                     pass
-             w = threading.Thread(target=outer)
-             w.start()
-             w.join()
-             print('end of main thread')
-             """
-         expected_output = "end of main thread\n"
-         p = subprocess.Popen([sys.executable, "-c", script],
-                              stdout=subprocess.PIPE)
-         stdout, stderr = p.communicate()
-         data = stdout.decode().replace('\r', '')
-         self.assertEqual(p.returncode, 0, "Unexpected error")
-         self.assertEqual(data, expected_output)
 +    def test_releasing_unacquired_lock(self):
 +        lock = threading.Lock()
 +        self.assertRaises(RuntimeError, lock.release)
 +
  
  class LockTests(lock_tests.LockTests):
      locktype = staticmethod(threading.Lock)
diff --cc Misc/NEWS
Simple merge
Simple merge