summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2008-08-18 21:53:29 (GMT)
committerBenjamin Peterson <benjamin@python.org>2008-08-18 21:53:29 (GMT)
commit6ee1a31e9ba8c7e1ad33ed65440a9626886df345 (patch)
tree0aa90d08a0540a54b8c709fb58b3b6422359a072
parent351ffb80c3fffc2996cc320fd9e0eaf3778eba25 (diff)
downloadcpython-6ee1a31e9ba8c7e1ad33ed65440a9626886df345.zip
cpython-6ee1a31e9ba8c7e1ad33ed65440a9626886df345.tar.gz
cpython-6ee1a31e9ba8c7e1ad33ed65440a9626886df345.tar.bz2
add py3k warnings for old threading APIs
they will still live in 3.0 but it can't hurt
-rw-r--r--Lib/test/test_py3kwarn.py34
-rw-r--r--Lib/threading.py12
2 files changed, 45 insertions, 1 deletions
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py
index 0dac3d0..274e147 100644
--- a/Lib/test/test_py3kwarn.py
+++ b/Lib/test/test_py3kwarn.py
@@ -250,6 +250,40 @@ class TestPy3KWarnings(unittest.TestCase):
def __hash__(self): pass
self.assertEqual(len(w.warnings), 0)
+ def test_pep8ified_threading(self):
+ import threading
+
+ t = threading.Thread()
+ with catch_warning() as w:
+ msg = "isDaemon() is deprecated in favor of the " \
+ "Thread.daemon property"
+ self.assertWarning(t.isDaemon(), w, msg)
+ w.reset()
+ msg = "setDaemon() is deprecated in favor of the " \
+ "Thread.daemon property"
+ self.assertWarning(t.setDaemon(True), w, msg)
+ w.reset()
+ msg = "getName() is deprecated in favor of the " \
+ "Thread.name property"
+ self.assertWarning(t.getName(), w, msg)
+ w.reset()
+ msg = "setName() is deprecated in favor of the " \
+ "Thread.name property"
+ self.assertWarning(t.setName("name"), w, msg)
+ w.reset()
+ msg = "isAlive() is deprecated in favor of is_alive()"
+ self.assertWarning(t.isAlive(), w, msg)
+ w.reset()
+ e = threading.Event()
+ msg = "isSet() is deprecated in favor of is_set()"
+ self.assertWarning(e.isSet(), w, msg)
+ w.reset()
+ msg = "currentThread() is deprecated in favor of current_thread()"
+ self.assertWarning(threading.currentThread(), w, msg)
+ w.reset()
+ msg = "activeCount() is deprecated in favor of active_count()"
+ self.assertWarning(threading.activeCount(), w, msg)
+
class TestStdlibRemovals(unittest.TestCase):
diff --git a/Lib/threading.py b/Lib/threading.py
index a6522d6..4933cab 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -39,7 +39,7 @@ def _old_api(callable, old_name):
return callable
@wraps(callable)
def old(*args, **kwargs):
- warnings.warnpy3k("In 3.x, {0} is renamed to {1}."
+ warnings.warnpy3k("{0}() is deprecated in favor of {1}()"
.format(old_name, callable.__name__),
stacklevel=3)
return callable(*args, **kwargs)
@@ -670,6 +670,8 @@ class Thread(_Verbose):
assert self.__initialized, "Thread.__init__() not called"
return self.__started.is_set() and not self.__stopped
+ isAlive = _old_api(is_alive, "isAlive")
+
@property
def daemon(self):
assert self.__initialized, "Thread.__init__() not called"
@@ -684,15 +686,23 @@ class Thread(_Verbose):
self.__daemonic = daemonic
def isDaemon(self):
+ warnings.warnpy3k("isDaemon() is deprecated in favor of the " \
+ "Thread.daemon property")
return self.daemon
def setDaemon(self, daemonic):
+ warnings.warnpy3k("setDaemon() is deprecated in favor of the " \
+ "Thread.daemon property")
self.daemon = daemonic
def getName(self):
+ warnings.warnpy3k("getName() is deprecated in favor of the " \
+ "Thread.name property")
return self.name
def setName(self, name):
+ warnings.warnpy3k("setName() is deprecated in favor of the " \
+ "Thread.name property")
self.name = name
# The timer class was contributed by Itamar Shtull-Trauring