]> granicus.if.org Git - python/commitdiff
Merged revisions 81294 via svnmerge from
authorGiampaolo Rodolà <g.rodola@gmail.com>
Tue, 18 May 2010 20:09:25 +0000 (20:09 +0000)
committerGiampaolo Rodolà <g.rodola@gmail.com>
Tue, 18 May 2010 20:09:25 +0000 (20:09 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81294 | giampaolo.rodola | 2010-05-18 22:04:31 +0200 (mar, 18 mag 2010) | 1 line

  Fix issue #8573 (asyncore._strerror bug): fixed os.strerror typo; included NameError in the tuple of expected exception; added test case for asyncore._strerror.
........

Lib/asyncore.py
Lib/test/test_asyncore.py

index 07d5311d5fb1575454ed1b22977eff760c5259c3..ee0a049c1790fb06e436234ae35f53d3420746f9 100644 (file)
@@ -62,8 +62,8 @@ except NameError:
 
 def _strerror(err):
     try:
-        return strerror(err)
-    except (ValueError, OverflowError):
+        return os.strerror(err)
+    except (ValueError, OverflowError, NameError):
         if err in errorcode:
             return errorcode[err]
         return "Unknown error %s" %err
index 670ee43909331a56f1ed54fbcdc171ab481fe160..ebc2adbfa2d3b579861e2fd755317968680934c0 100644 (file)
@@ -6,6 +6,7 @@ import socket
 import threading
 import sys
 import time
+import errno
 
 from test import test_support
 from test.test_support import TESTFN, run_unittest, unlink
@@ -314,6 +315,14 @@ class DispatcherTests(unittest.TestCase):
         # test cheap inheritance with the underlying socket
         self.assertEqual(d.family, socket.AF_INET)
 
+    def test_strerror(self):
+        # refers to bug #8573
+        err = asyncore._strerror(errno.EPERM)
+        if hasattr(os, 'strerror'):
+            self.assertEqual(err, os.strerror(errno.EPERM))
+        err = asyncore._strerror(-1)
+        self.assertTrue("unknown error" in err.lower())
+
 
 class dispatcherwithsend_noread(asyncore.dispatcher_with_send):
     def readable(self):