| from test import test_support | |
| import unittest | |
| nis = test_support.import_module('nis') | |
| 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 test_support.verbose: | |
| print "Test Skipped:", msg | |
| # Can't raise SkipTest as regrtest only recognizes the exception | |
| # import time. | |
| return | |
| 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 | |
| def test_main(): | |
| test_support.run_unittest(NisTests) | |
| if __name__ == '__main__': | |
| test_main() |