summaryrefslogtreecommitdiff
path: root/src/python/stdlib/test/test_errno.py
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2011-03-22 17:58:52 (GMT)
committer Simon <simon@hardwired.org.uk>2011-03-22 17:58:52 (GMT)
commit2e401babb793238564ca640fc802a52ab7f6c293 (patch)
tree87a9b471e82604e76f96d556f5771322fb31818a /src/python/stdlib/test/test_errno.py
parentc096b2b14a200a0cc0a08cfea839c9e7f4edf22e (diff)
parent04a9cbcb8855e64db660a8c6e23d79114b4afd83 (diff)
downloadpowder-2e401babb793238564ca640fc802a52ab7f6c293.zip
powder-2e401babb793238564ca640fc802a52ab7f6c293.tar.gz
Python console
Diffstat (limited to 'src/python/stdlib/test/test_errno.py')
-rwxr-xr-xsrc/python/stdlib/test/test_errno.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/python/stdlib/test/test_errno.py b/src/python/stdlib/test/test_errno.py
new file mode 100755
index 0000000..bb8918f
--- /dev/null
+++ b/src/python/stdlib/test/test_errno.py
@@ -0,0 +1,40 @@
+#! /usr/bin/env python
+"""Test the errno module
+ Roger E. Masse
+"""
+
+import errno
+from test import test_support
+import unittest
+
+std_c_errors = frozenset(['EDOM', 'ERANGE'])
+
+class ErrnoAttributeTests(unittest.TestCase):
+
+ def test_for_improper_attributes(self):
+ # No unexpected attributes should be on the module.
+ for error_code in std_c_errors:
+ self.assertTrue(hasattr(errno, error_code),
+ "errno is missing %s" % error_code)
+
+ def test_using_errorcode(self):
+ # Every key value in errno.errorcode should be on the module.
+ for value in errno.errorcode.itervalues():
+ self.assertTrue(hasattr(errno, value), 'no %s attr in errno' % value)
+
+
+class ErrorcodeTests(unittest.TestCase):
+
+ def test_attributes_in_errorcode(self):
+ for attribute in errno.__dict__.iterkeys():
+ if attribute.isupper():
+ self.assertIn(getattr(errno, attribute), errno.errorcode,
+ 'no %s attr in errno.errorcode' % attribute)
+
+
+def test_main():
+ test_support.run_unittest(ErrnoAttributeTests, ErrorcodeTests)
+
+
+if __name__ == '__main__':
+ test_main()