From: Giampaolo RodolĂ  Date: Tue, 18 May 2010 20:13:43 +0000 (+0000) Subject: Merged revisions 81299 via svnmerge from X-Git-Tag: v3.1.3rc1~742 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=19531db0b8cb2c7926453d935615cbd2eb687ed1;p=python Merged revisions 81299 via svnmerge from 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. ........ ................ --- diff --git a/Lib/asyncore.py b/Lib/asyncore.py index 88845012e4..44e89181cb 100644 --- a/Lib/asyncore.py +++ b/Lib/asyncore.py @@ -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 diff --git a/Lib/test/test_asyncore.py b/Lib/test/test_asyncore.py index 4db29ca14e..785b2116f6 100644 --- a/Lib/test/test_asyncore.py +++ b/Lib/test/test_asyncore.py @@ -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):