bpo-29376: Fix assertion error in threading._DummyThread.is_alive() (GH-330)

This commit is contained in:
Xiang Zhang 2017-02-27 11:45:42 +08:00 committed by GitHub
parent 7e4897a2fb
commit 4b6c41768a
3 changed files with 9 additions and 0 deletions

View File

@ -170,6 +170,9 @@ class ThreadTests(BaseTestCase):
mutex.acquire() mutex.acquire()
self.assertIn(tid, threading._active) self.assertIn(tid, threading._active)
self.assertIsInstance(threading._active[tid], threading._DummyThread) self.assertIsInstance(threading._active[tid], threading._DummyThread)
#Issue 29376
self.assertTrue(threading._active[tid].is_alive())
self.assertRegex(repr(threading._active[tid]), '_DummyThread')
del threading._active[tid] del threading._active[tid]
# PyThreadState_SetAsyncExc() is a CPython-only gimmick, not (currently) # PyThreadState_SetAsyncExc() is a CPython-only gimmick, not (currently)

View File

@ -1217,6 +1217,10 @@ class _DummyThread(Thread):
def _stop(self): def _stop(self):
pass pass
def is_alive(self):
assert not self._is_stopped and self._started.is_set()
return True
def join(self, timeout=None): def join(self, timeout=None):
assert False, "cannot join a dummy thread" assert False, "cannot join a dummy thread"

View File

@ -69,6 +69,8 @@ Extension Modules
Library Library
------- -------
- bpo-29376: Fix assertion error in threading._DummyThread.is_alive().
- bpo-28624: Add a test that checks that cwd parameter of Popen() accepts - bpo-28624: Add a test that checks that cwd parameter of Popen() accepts
PathLike objects. Patch by Sayan Chowdhury. PathLike objects. Patch by Sayan Chowdhury.