summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo RodolĂ  <g.rodola@gmail.com>2010-05-18 20:09:25 +0000
committerGiampaolo RodolĂ  <g.rodola@gmail.com>2010-05-18 20:09:25 +0000
commit30aa46c9105f01bc8096b9fcc9de913b7fd0b75f (patch)
tree05a21b66c7877fb5e9587bd0dd376af80ea523f6
parent4d1dc6125a02d57b8c5aff396b16154dfa08500c (diff)
downloadcpython-git-30aa46c9105f01bc8096b9fcc9de913b7fd0b75f.tar.gz
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. ........
-rw-r--r--Lib/asyncore.py4
-rw-r--r--Lib/test/test_asyncore.py9
2 files changed, 11 insertions, 2 deletions
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index 07d5311d5f..ee0a049c17 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -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
diff --git a/Lib/test/test_asyncore.py b/Lib/test/test_asyncore.py
index 670ee43909..ebc2adbfa2 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 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):