equal
deleted
inserted
replaced
|
1 #! /usr/bin/env python |
|
2 """Test the errno module |
|
3 Roger E. Masse |
|
4 """ |
|
5 |
|
6 import errno |
|
7 from test import test_support |
|
8 import unittest |
|
9 |
|
10 std_c_errors = frozenset(['EDOM', 'ERANGE']) |
|
11 |
|
12 class ErrnoAttributeTests(unittest.TestCase): |
|
13 |
|
14 def test_for_improper_attributes(self): |
|
15 # No unexpected attributes should be on the module. |
|
16 for error_code in std_c_errors: |
|
17 self.assert_(hasattr(errno, error_code), |
|
18 "errno is missing %s" % error_code) |
|
19 |
|
20 def test_using_errorcode(self): |
|
21 # Every key value in errno.errorcode should be on the module. |
|
22 for value in errno.errorcode.itervalues(): |
|
23 self.assert_(hasattr(errno, value), 'no %s attr in errno' % value) |
|
24 |
|
25 |
|
26 class ErrorcodeTests(unittest.TestCase): |
|
27 |
|
28 def test_attributes_in_errorcode(self): |
|
29 for attribute in errno.__dict__.iterkeys(): |
|
30 if attribute.isupper(): |
|
31 self.assert_(getattr(errno, attribute) in errno.errorcode, |
|
32 'no %s attr in errno.errorcode' % attribute) |
|
33 |
|
34 |
|
35 def test_main(): |
|
36 test_support.run_unittest(ErrnoAttributeTests, ErrorcodeTests) |
|
37 |
|
38 |
|
39 if __name__ == '__main__': |
|
40 test_main() |