mirror of
https://github.com/python/cpython.git
synced 2025-08-10 11:58:39 +00:00
add full deprecation warnings for old threading APIs
This commit is contained in:
parent
2faaeceb15
commit
f0923f5210
2 changed files with 66 additions and 1 deletions
|
@ -1,7 +1,7 @@
|
||||||
# Very rudimentary test of threading module
|
# Very rudimentary test of threading module
|
||||||
|
|
||||||
import test.support
|
import test.support
|
||||||
from test.support import verbose
|
from test.support import verbose, catch_warning
|
||||||
import random
|
import random
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
@ -323,6 +323,43 @@ class ThreadTests(unittest.TestCase):
|
||||||
msg=('%d references still around' %
|
msg=('%d references still around' %
|
||||||
sys.getrefcount(weak_raising_cyclic_object())))
|
sys.getrefcount(weak_raising_cyclic_object())))
|
||||||
|
|
||||||
|
def test_pep8ified_threading(self):
|
||||||
|
import threading
|
||||||
|
|
||||||
|
def check(_, w, msg):
|
||||||
|
self.assertEqual(str(w.message), msg)
|
||||||
|
|
||||||
|
t = threading.Thread()
|
||||||
|
with catch_warning() as w:
|
||||||
|
msg = "isDaemon() is deprecated in favor of the " \
|
||||||
|
"Thread.daemon property"
|
||||||
|
check(t.isDaemon(), w, msg)
|
||||||
|
w.reset()
|
||||||
|
msg = "setDaemon() is deprecated in favor of the " \
|
||||||
|
"Thread.daemon property"
|
||||||
|
check(t.setDaemon(True), w, msg)
|
||||||
|
w.reset()
|
||||||
|
msg = "getName() is deprecated in favor of the " \
|
||||||
|
"Thread.name property"
|
||||||
|
check(t.getName(), w, msg)
|
||||||
|
w.reset()
|
||||||
|
msg = "setName() is deprecated in favor of the " \
|
||||||
|
"Thread.name property"
|
||||||
|
check(t.setName("name"), w, msg)
|
||||||
|
w.reset()
|
||||||
|
msg = "isAlive() is deprecated in favor of is_alive()"
|
||||||
|
check(t.isAlive(), w, msg)
|
||||||
|
w.reset()
|
||||||
|
e = threading.Event()
|
||||||
|
msg = "isSet() is deprecated in favor of is_set()"
|
||||||
|
check(e.isSet(), w, msg)
|
||||||
|
w.reset()
|
||||||
|
msg = "currentThread() is deprecated in favor of current_thread()"
|
||||||
|
check(threading.currentThread(), w, msg)
|
||||||
|
w.reset()
|
||||||
|
msg = "activeCount() is deprecated in favor of active_count()"
|
||||||
|
check(threading.activeCount(), w, msg)
|
||||||
|
|
||||||
|
|
||||||
class ThreadJoinOnShutdown(unittest.TestCase):
|
class ThreadJoinOnShutdown(unittest.TestCase):
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
import sys as _sys
|
import sys as _sys
|
||||||
import _thread
|
import _thread
|
||||||
|
import warnings
|
||||||
|
|
||||||
from time import time as _time, sleep as _sleep
|
from time import time as _time, sleep as _sleep
|
||||||
from traceback import format_exc as _format_exc
|
from traceback import format_exc as _format_exc
|
||||||
|
@ -340,6 +341,11 @@ class _Event(_Verbose):
|
||||||
def is_set(self):
|
def is_set(self):
|
||||||
return self._flag
|
return self._flag
|
||||||
|
|
||||||
|
def isSet(self):
|
||||||
|
warnings.warn("isSet() is deprecated in favor of is_set()",
|
||||||
|
DeprecationWarning)
|
||||||
|
return self.is_set()
|
||||||
|
|
||||||
def set(self):
|
def set(self):
|
||||||
self._cond.acquire()
|
self._cond.acquire()
|
||||||
try:
|
try:
|
||||||
|
@ -640,6 +646,11 @@ class Thread(_Verbose):
|
||||||
assert self._initialized, "Thread.__init__() not called"
|
assert self._initialized, "Thread.__init__() not called"
|
||||||
return self._started.is_set() and not self._stopped
|
return self._started.is_set() and not self._stopped
|
||||||
|
|
||||||
|
def isAlive(self):
|
||||||
|
warnings.warn("isAlive() is deprecated in favor of is_alive()",
|
||||||
|
DeprecationWarning)
|
||||||
|
return self.is_alive()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def daemon(self):
|
def daemon(self):
|
||||||
assert self._initialized, "Thread.__init__() not called"
|
assert self._initialized, "Thread.__init__() not called"
|
||||||
|
@ -654,15 +665,23 @@ class Thread(_Verbose):
|
||||||
self._daemonic = daemonic
|
self._daemonic = daemonic
|
||||||
|
|
||||||
def isDaemon(self):
|
def isDaemon(self):
|
||||||
|
warnings.warn("isDaemon() is deprecated in favor of the " \
|
||||||
|
"Thread.daemon property", DeprecationWarning)
|
||||||
return self.daemon
|
return self.daemon
|
||||||
|
|
||||||
def setDaemon(self, daemonic):
|
def setDaemon(self, daemonic):
|
||||||
|
warnings.warn("setDaemon() is deprecated in favor of the " \
|
||||||
|
"Thread.daemon property", DeprecationWarning)
|
||||||
self.daemon = daemonic
|
self.daemon = daemonic
|
||||||
|
|
||||||
def getName(self):
|
def getName(self):
|
||||||
|
warnings.warn("getName() is deprecated in favor of the " \
|
||||||
|
"Thread.name property", DeprecationWarning)
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def setName(self, name):
|
def setName(self, name):
|
||||||
|
warnings.warn("setName() is deprecated in favor of the " \
|
||||||
|
"Thread.name property", DeprecationWarning)
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
||||||
# The timer class was contributed by Itamar Shtull-Trauring
|
# The timer class was contributed by Itamar Shtull-Trauring
|
||||||
|
@ -771,12 +790,21 @@ def current_thread():
|
||||||
##print "current_thread(): no current thread for", _get_ident()
|
##print "current_thread(): no current thread for", _get_ident()
|
||||||
return _DummyThread()
|
return _DummyThread()
|
||||||
|
|
||||||
|
def currentThread():
|
||||||
|
warnings.warn("currentThread() is deprecated in favor of current_thread()",
|
||||||
|
DeprecationWarning)
|
||||||
|
|
||||||
def active_count():
|
def active_count():
|
||||||
_active_limbo_lock.acquire()
|
_active_limbo_lock.acquire()
|
||||||
count = len(_active) + len(_limbo)
|
count = len(_active) + len(_limbo)
|
||||||
_active_limbo_lock.release()
|
_active_limbo_lock.release()
|
||||||
return count
|
return count
|
||||||
|
|
||||||
|
def activeCount():
|
||||||
|
warnings.warn("activeCount() is deprecated in favor of active_count()",
|
||||||
|
DeprecationWarning)
|
||||||
|
return active_count()
|
||||||
|
|
||||||
def enumerate():
|
def enumerate():
|
||||||
_active_limbo_lock.acquire()
|
_active_limbo_lock.acquire()
|
||||||
active = list(_active.values()) + list(_limbo.values())
|
active = list(_active.values()) + list(_limbo.values())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue