PageRenderTime 181ms CodeModel.GetById 175ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/Lib/test/test_errno.py

http://unladen-swallow.googlecode.com/
Python | 40 lines | 22 code | 12 blank | 6 comment | 9 complexity | 022d70400784b6ed34e12c9612231c21 MD5 | raw file
 1#! /usr/bin/env python
 2"""Test the errno module
 3   Roger E. Masse
 4"""
 5
 6import errno
 7from test import test_support
 8import unittest
 9
10std_c_errors = frozenset(['EDOM', 'ERANGE'])
11
12class 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
26class 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
35def test_main():
36    test_support.run_unittest(ErrnoAttributeTests, ErrorcodeTests)
37
38
39if __name__ == '__main__':
40    test_main()