mirror of
https://github.com/python/cpython.git
synced 2024-12-12 03:04:15 +08:00
48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
from test import support
|
|
import unittest
|
|
import sys
|
|
|
|
# Skip test if nis module does not exist.
|
|
nis = support.import_module('nis')
|
|
|
|
|
|
class NisTests(unittest.TestCase):
|
|
def test_maps(self):
|
|
try:
|
|
maps = nis.maps()
|
|
except nis.error as msg:
|
|
# NIS is probably not active, so this test isn't useful
|
|
if 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():
|
|
support.run_unittest(NisTests)
|
|
|
|
if __name__ == '__main__':
|
|
test_main()
|