• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1from test import test_support
2import unittest
3
4nis = test_support.import_module('nis')
5
6class NisTests(unittest.TestCase):
7    def test_maps(self):
8        try:
9            maps = nis.maps()
10        except nis.error, msg:
11            # NIS is probably not active, so this test isn't useful
12            if test_support.verbose:
13                print "Test Skipped:", msg
14            # Can't raise SkipTest as regrtest only recognizes the exception
15            #   import time.
16            return
17        try:
18            # On some systems, this map is only accessible to the
19            # super user
20            maps.remove("passwd.adjunct.byname")
21        except ValueError:
22            pass
23
24        done = 0
25        for nismap in maps:
26            mapping = nis.cat(nismap)
27            for k, v in mapping.items():
28                if not k:
29                    continue
30                if nis.match(k, nismap) != v:
31                    self.fail("NIS match failed for key `%s' in map `%s'" % (k, nismap))
32                else:
33                    # just test the one key, otherwise this test could take a
34                    # very long time
35                    done = 1
36                    break
37            if done:
38                break
39
40def test_main():
41    test_support.run_unittest(NisTests)
42
43if __name__ == '__main__':
44    test_main()
45