]> granicus.if.org Git - python/commitdiff
Merged revisions 81294 via svnmerge from
authorGiampaolo Rodolà <g.rodola@gmail.com>
Tue, 18 May 2010 20:11:58 +0000 (20:11 +0000)
committerGiampaolo Rodolà <g.rodola@gmail.com>
Tue, 18 May 2010 20:11:58 +0000 (20:11 +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 ac0b75523571cae77de859344ebb329bbe890c64..c2ec259b46f08e61f3116476addc2de4d9aa663a 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 b2c0198da745af21cb17c4f188b7301f9e3cf1bc..27a585d2103ce678e0f3955e048b8f95967052ae 100644 (file)
@@ -6,6 +6,7 @@ import socket
 import sys
 import time
 import warnings
+import errno
 
 from test import support
 from test.support import TESTFN, run_unittest, unlink
@@ -324,6 +325,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):