Fix issue #8573 (asyncore._strerror bug): fixed os.strerror typo; included NameError in the tuple of expected exception; added test case for asyncore._strerror.
This commit is contained in:
parent
cccfce1959
commit
e3a84e857f
|
@ -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
|
||||
|
|
|
@ -6,6 +6,7 @@ import socket
|
|||
import sys
|
||||
import time
|
||||
import warnings
|
||||
import errno
|
||||
|
||||
from test import test_support
|
||||
from test.test_support import TESTFN, run_unittest, unlink
|
||||
|
@ -323,6 +324,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):
|
||||
|
|
Loading…
Reference in New Issue