Convert test_nis to unittest.
diff --git a/Lib/test/test_nis.py b/Lib/test/test_nis.py
index 74ceeea..590868f 100644
--- a/Lib/test/test_nis.py
+++ b/Lib/test/test_nis.py
@@ -1,39 +1,41 @@
-from test.test_support import verbose, TestFailed, TestSkipped
+from test.test_support import verbose, run_unittest
+import unittest
import nis
-print 'nis.maps()'
-try:
- maps = nis.maps()
-except nis.error, msg:
- # NIS is probably not active, so this test isn't useful
- if verbose:
- raise TestFailed, msg
- # only do this if running under the regression suite
- raise TestSkipped, msg
+class NisTests(unittest.TestCase):
+ def test_maps(self):
+ try:
+ maps = nis.maps()
+ except nis.error, msg:
+ # NIS is probably not active, so this test isn't useful
+ if verbose:
+ self.fail("(failing because of verbose mode) %s" % msg)
+ return
+ try:
+ # On some systems, this map is only accessible to the
+ # super user
+ maps.remove("passwd.adjunct.byname")
+ except ValueError:
+ pass
-try:
- # On some systems, this map is only accessible to the
- # super user
- maps.remove("passwd.adjunct.byname")
-except ValueError:
- pass
+ done = 0
+ for nismap in maps:
+ mapping = nis.cat(nismap)
+ for k, v in mapping.items():
+ if not k:
+ continue
+ if nis.match(k, nismap) != v:
+ self.fail("NIS match failed for key `%s' in map `%s'" % (k, nismap))
+ else:
+ # just test the one key, otherwise this test could take a
+ # very long time
+ done = 1
+ break
+ if done:
+ break
-done = 0
-for nismap in maps:
- if verbose:
- print nismap
- mapping = nis.cat(nismap)
- for k, v in mapping.items():
- if verbose:
- print ' ', k, v
- if not k:
- continue
- if nis.match(k, nismap) != v:
- print "NIS match failed for key `%s' in map `%s'" % (k, nismap)
- else:
- # just test the one key, otherwise this test could take a
- # very long time
- done = 1
- break
- if done:
- break
+def test_main():
+ run_unittest(NisTests)
+
+if __name__ == '__main__':
+ test_main()