Discussion:
[Python-3000-checkins] r65841 - in python/branches/py3k/Lib: test/test_threading.py threading.py
benjamin.peterson
2008-08-18 22:10:13 UTC
Permalink
Author: benjamin.peterson
Date: Tue Aug 19 00:10:13 2008
New Revision: 65841

Log:
add full deprecation warnings for old threading APIs

Modified:
python/branches/py3k/Lib/test/test_threading.py
python/branches/py3k/Lib/threading.py

Modified: python/branches/py3k/Lib/test/test_threading.py
==============================================================================
--- python/branches/py3k/Lib/test/test_threading.py (original)
+++ python/branches/py3k/Lib/test/test_threading.py Tue Aug 19 00:10:13 2008
@@ -1,7 +1,7 @@
# Very rudimentary test of threading module

import test.support
-from test.support import verbose
+from test.support import verbose, catch_warning
import random
import re
import sys
@@ -323,6 +323,43 @@
msg=('%d references still around' %
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):


Modified: python/branches/py3k/Lib/threading.py
==============================================================================
--- python/branches/py3k/Lib/threading.py (original)
+++ python/branches/py3k/Lib/threading.py Tue Aug 19 00:10:13 2008
@@ -2,6 +2,7 @@

import sys as _sys
import _thread
+import warnings

from time import time as _time, sleep as _sleep
from traceback import format_exc as _format_exc
@@ -340,6 +341,11 @@
def is_set(self):
return self._flag

+ def isSet(self):
+ warnings.warn("isSet() is deprecated in favor of is_set()",
+ DeprecationWarning)
+ return self.is_set()
+
def set(self):
self._cond.acquire()
try:
@@ -640,6 +646,11 @@
assert self._initialized, "Thread.__init__() not called"
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
def daemon(self):
assert self._initialized, "Thread.__init__() not called"
@@ -654,15 +665,23 @@
self._daemonic = daemonic

def isDaemon(self):
+ warnings.warn("isDaemon() is deprecated in favor of the " \
+ "Thread.daemon property", DeprecationWarning)
return self.daemon

def setDaemon(self, daemonic):
+ warnings.warn("setDaemon() is deprecated in favor of the " \
+ "Thread.daemon property", DeprecationWarning)
self.daemon = daemonic

def getName(self):
+ warnings.warn("getName() is deprecated in favor of the " \
+ "Thread.name property", DeprecationWarning)
return self.name

def setName(self, name):
+ warnings.warn("setName() is deprecated in favor of the " \
+ "Thread.name property", DeprecationWarning)
self.name = name

# The timer class was contributed by Itamar Shtull-Trauring
@@ -771,12 +790,21 @@
##print "current_thread(): no current thread for", _get_ident()
return _DummyThread()

+def currentThread():
+ warnings.warn("currentThread() is deprecated in favor of current_thread()",
+ DeprecationWarning)
+
def active_count():
_active_limbo_lock.acquire()
count = len(_active) + len(_limbo)
_active_limbo_lock.release()
return count

+def activeCount():
+ warnings.warn("activeCount() is deprecated in favor of active_count()",
+ DeprecationWarning)
+ return active_count()
+
def enumerate():
_active_limbo_lock.acquire()
active = list(_active.values()) + list(_limbo.values())

Loading...