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() |