Commit b7ec8e5a authored by Brett Cannon's avatar Brett Cannon

test_errno was a no-op test; now it actually tests things and uses unittest.

parent 20bda581
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
""" """
import errno import errno
from test.test_support import verbose from test import test_support
import unittest
errors = ['E2BIG', 'EACCES', 'EADDRINUSE', 'EADDRNOTAVAIL', 'EADV', errors = ['E2BIG', 'EACCES', 'EADDRINUSE', 'EADDRNOTAVAIL', 'EADV',
'EAFNOSUPPORT', 'EAGAIN', 'EALREADY', 'EBADE', 'EBADF', 'EAFNOSUPPORT', 'EAGAIN', 'EALREADY', 'EBADE', 'EBADF',
...@@ -33,17 +34,33 @@ errors = ['E2BIG', 'EACCES', 'EADDRINUSE', 'EADDRNOTAVAIL', 'EADV', ...@@ -33,17 +34,33 @@ errors = ['E2BIG', 'EACCES', 'EADDRINUSE', 'EADDRNOTAVAIL', 'EADV',
'ETIMEDOUT', 'ETOOMANYREFS', 'ETXTBSY', 'EUNATCH', 'ETIMEDOUT', 'ETOOMANYREFS', 'ETXTBSY', 'EUNATCH',
'EUSERS', 'EWOULDBLOCK', 'EXDEV', 'EXFULL'] 'EUSERS', 'EWOULDBLOCK', 'EXDEV', 'EXFULL']
#
# This is a wee bit bogus since the module only conditionally adds class ErrnoAttributeTests(unittest.TestCase):
# errno constants if they have been defined by errno.h However, this
# test seems to work on SGI, Sparc & intel Solaris, and linux. def test_for_improper_attributes(self):
# # No unexpected attributes should be on the module.
for error in errors: errors_set = set(errors)
try: for attribute in errno.__dict__.iterkeys():
a = getattr(errno, error) if attribute.isupper():
except AttributeError: self.assert_(attribute in errors_set)
if verbose:
print '%s: not found' % error def test_using_errorcode(self):
else: # Every key value in errno.errorcode should be on the module.
if verbose: for value in errno.errorcode.itervalues():
print '%s: %d' % (error, a) self.assert_(hasattr(errno, value))
class ErrorcodeTests(unittest.TestCase):
def test_attributes_in_errorcode(self):
for attribute in errno.__dict__.iterkeys():
if attribute.isupper():
self.assert_(getattr(errno, attribute) in errno.errorcode)
def test_main():
test_support.run_unittest(ErrnoAttributeTests, ErrorcodeTests)
if __name__ == '__main__':
test_main()
...@@ -78,6 +78,8 @@ Library ...@@ -78,6 +78,8 @@ Library
Tests Tests
----- -----
- Rewrite test_errno to use unittest and no longer be a no-op.
- GHOP 234: Convert test_extcall to doctest. - GHOP 234: Convert test_extcall to doctest.
- GHOP 290: Convert test_dbm and test_dummy_threading to unittest. - GHOP 290: Convert test_dbm and test_dummy_threading to unittest.
......
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