]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix issue #8573 (asyncore._strerror bug): fixed os.strerror typo; included NameError...
authorGiampaolo Rodolà <g.rodola@gmail.com>
Tue, 18 May 2010 20:04:31 +0000 (20:04 +0000)
committerGiampaolo Rodolà <g.rodola@gmail.com>
Tue, 18 May 2010 20:04:31 +0000 (20:04 +0000)
Lib/asyncore.py
Lib/test/test_asyncore.py

index ce18d8317328ac7f63b8250b53f646244dcadd5b..3e3907eee860b30639d9bd51bb87c87bef84a2bc 100644 (file)
@@ -63,8 +63,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 ed4c8a30384456a0e97bcb1023b640cf5935a6cc..6973f4b9d865dd917a4f307d1e7493a46edc2156 100644 (file)
@@ -6,6 +6,7 @@ import socket
 import sys
 import time
 import warnings
+import errno
 
 from test import test_support
 from test.test_support import TESTFN, run_unittest, unlink
@@ -323,6 +324,14 @@ class DispatcherTests(unittest.TestCase):
             self.assertTrue(len(w) == 1)
             self.assertTrue(issubclass(w[0].category, DeprecationWarning))
 
+    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):