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

................
  r81299 | giampaolo.rodola | 2010-05-18 22:11:58 +0200 (mar, 18 mag 2010) | 9 lines

  Merged revisions 81294 via svnmerge from
  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 88845012e48c1be6ce71362d825e1227f4d2592b..44e89181cb6b904fd28718ac729b365cfad3c608 100644 (file)
@@ -61,8 +61,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 4db29ca14ea379b9c0a05873408da0b11e2b8a03..785b2116f6f9c6837eff4f64ad68c9365999be08 100644 (file)
@@ -6,6 +6,7 @@ import socket
 import threading
 import sys
 import time
+import errno
 
 from test import support
 from test.support import TESTFN, run_unittest, unlink
@@ -315,6 +316,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):