[Python-checkins] r65839 - in python/trunk/Lib: test/test_py3kwarn.py threading.py

benjamin.peterson python-checkins at python.org
Mon Aug 18 23:53:29 CEST 2008


Author: benjamin.peterson
Date: Mon Aug 18 23:53:29 2008
New Revision: 65839

Log:
add py3k warnings for old threading APIs

they will still live in 3.0 but it can't hurt


Modified:
   python/trunk/Lib/test/test_py3kwarn.py
   python/trunk/Lib/threading.py

Modified: python/trunk/Lib/test/test_py3kwarn.py
==============================================================================
--- python/trunk/Lib/test/test_py3kwarn.py	(original)
+++ python/trunk/Lib/test/test_py3kwarn.py	Mon Aug 18 23:53:29 2008
@@ -250,6 +250,40 @@
                 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):

Modified: python/trunk/Lib/threading.py
==============================================================================
--- python/trunk/Lib/threading.py	(original)
+++ python/trunk/Lib/threading.py	Mon Aug 18 23:53:29 2008
@@ -39,7 +39,7 @@
         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 @@
         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 @@
         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


More information about the Python-checkins mailing list