Barry Warsaw | 04f357c | 2002-07-23 19:04:11 +0000 | [diff] [blame] | 1 | from test.test_support import verbose, TestFailed, TestSkipped |
Barry Warsaw | 3236b33 | 1996-12-11 01:01:38 +0000 | [diff] [blame] | 2 | import nis |
| 3 | |
Barry Warsaw | 5e056bb | 1996-12-23 23:39:42 +0000 | [diff] [blame] | 4 | print 'nis.maps()' |
Barry Warsaw | 4c4d5ce | 1997-05-15 18:27:49 +0000 | [diff] [blame] | 5 | try: |
Barry Warsaw | 4c4d5ce | 1997-05-15 18:27:49 +0000 | [diff] [blame] | 6 | maps = nis.maps() |
| 7 | except nis.error, msg: |
Barry Warsaw | 7258874 | 1999-01-28 04:54:33 +0000 | [diff] [blame] | 8 | # NIS is probably not active, so this test isn't useful |
| 9 | if verbose: |
| 10 | raise TestFailed, msg |
| 11 | # only do this if running under the regression suite |
Thomas Wouters | b9fa0a8 | 2000-08-04 13:34:43 +0000 | [diff] [blame] | 12 | raise TestSkipped, msg |
Barry Warsaw | 4c4d5ce | 1997-05-15 18:27:49 +0000 | [diff] [blame] | 13 | |
Martin v. Löwis | 920fa6a | 2006-10-22 13:46:23 +0000 | [diff] [blame] | 14 | try: |
| 15 | # On some systems, this map is only accessible to the |
| 16 | # super user |
| 17 | maps.remove("passwd.adjunct.byname") |
| 18 | except ValueError: |
| 19 | pass |
| 20 | |
Guido van Rossum | 2b6c2fa | 1996-12-11 16:28:30 +0000 | [diff] [blame] | 21 | done = 0 |
| 22 | for nismap in maps: |
| 23 | if verbose: |
Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 24 | print nismap |
Guido van Rossum | 2b6c2fa | 1996-12-11 16:28:30 +0000 | [diff] [blame] | 25 | mapping = nis.cat(nismap) |
| 26 | for k, v in mapping.items(): |
Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 27 | if verbose: |
| 28 | print ' ', k, v |
| 29 | if not k: |
| 30 | continue |
Fred Drake | 132dce2 | 2000-12-12 23:11:42 +0000 | [diff] [blame] | 31 | if nis.match(k, nismap) != v: |
Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 32 | print "NIS match failed for key `%s' in map `%s'" % (k, nismap) |
| 33 | else: |
| 34 | # just test the one key, otherwise this test could take a |
| 35 | # very long time |
| 36 | done = 1 |
| 37 | break |
Guido van Rossum | 2b6c2fa | 1996-12-11 16:28:30 +0000 | [diff] [blame] | 38 | if done: |
Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 39 | break |