Commit e3a84e85 authored by Giampaolo Rodolà's avatar Giampaolo Rodolà

Fix issue #8573 (asyncore._strerror bug): fixed os.strerror typo; included...

Fix issue #8573 (asyncore._strerror bug): fixed os.strerror typo; included NameError in the tuple of expected exception; added test case for asyncore._strerror.
parent cccfce19
...@@ -63,8 +63,8 @@ except NameError: ...@@ -63,8 +63,8 @@ except NameError:
def _strerror(err): def _strerror(err):
try: try:
return strerror(err) return os.strerror(err)
except (ValueError, OverflowError): except (ValueError, OverflowError, NameError):
if err in errorcode: if err in errorcode:
return errorcode[err] return errorcode[err]
return "Unknown error %s" %err return "Unknown error %s" %err
......
...@@ -6,6 +6,7 @@ import socket ...@@ -6,6 +6,7 @@ import socket
import sys import sys
import time import time
import warnings import warnings
import errno
from test import test_support from test import test_support
from test.test_support import TESTFN, run_unittest, unlink from test.test_support import TESTFN, run_unittest, unlink
...@@ -323,6 +324,14 @@ class DispatcherTests(unittest.TestCase): ...@@ -323,6 +324,14 @@ class DispatcherTests(unittest.TestCase):
self.assertTrue(len(w) == 1) self.assertTrue(len(w) == 1)
self.assertTrue(issubclass(w[0].category, DeprecationWarning)) 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): class dispatcherwithsend_noread(asyncore.dispatcher_with_send):
def readable(self): def readable(self):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment