Roger E. Masse | 16f9fd2 | 1996-12-10 00:06:24 +0000 | [diff] [blame] | 1 | #! /usr/bin/env python |
| 2 | """Test script for the dbm module |
| 3 | Roger E. Masse |
| 4 | """ |
| 5 | import dbm |
| 6 | from dbm import error |
Barry Warsaw | 04f357c | 2002-07-23 19:04:11 +0000 | [diff] [blame] | 7 | from test.test_support import verbose, verify |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 8 | |
Fred Drake | 57a4e90 | 2000-09-18 17:56:58 +0000 | [diff] [blame] | 9 | filename = '/tmp/delete_me' |
Roger E. Masse | 16f9fd2 | 1996-12-10 00:06:24 +0000 | [diff] [blame] | 10 | |
| 11 | d = dbm.open(filename, 'c') |
Guido van Rossum | f6e47ad | 2001-03-22 00:40:23 +0000 | [diff] [blame] | 12 | verify(d.keys() == []) |
Roger E. Masse | 16f9fd2 | 1996-12-10 00:06:24 +0000 | [diff] [blame] | 13 | d['a'] = 'b' |
| 14 | d['12345678910'] = '019237410982340912840198242' |
| 15 | d.keys() |
Roger E. Masse | fab8ab8 | 1996-12-20 22:36:52 +0000 | [diff] [blame] | 16 | if d.has_key('a'): |
| 17 | if verbose: |
Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 18 | print 'Test dbm keys: ', d.keys() |
Fred Drake | 57a4e90 | 2000-09-18 17:56:58 +0000 | [diff] [blame] | 19 | |
Roger E. Masse | 16f9fd2 | 1996-12-10 00:06:24 +0000 | [diff] [blame] | 20 | d.close() |
| 21 | d = dbm.open(filename, 'r') |
| 22 | d.close() |
| 23 | d = dbm.open(filename, 'rw') |
| 24 | d.close() |
| 25 | d = dbm.open(filename, 'w') |
| 26 | d.close() |
| 27 | d = dbm.open(filename, 'n') |
| 28 | d.close() |
| 29 | |
| 30 | try: |
| 31 | import os |
Fred Drake | 57a4e90 | 2000-09-18 17:56:58 +0000 | [diff] [blame] | 32 | if dbm.library == "ndbm": |
| 33 | # classic dbm |
| 34 | os.unlink(filename + '.dir') |
| 35 | os.unlink(filename + '.pag') |
| 36 | elif dbm.library == "BSD db": |
| 37 | # BSD DB's compatibility layer |
| 38 | os.unlink(filename + '.db') |
| 39 | else: |
| 40 | # GNU gdbm compatibility layer |
| 41 | os.unlink(filename) |
Roger E. Masse | 16f9fd2 | 1996-12-10 00:06:24 +0000 | [diff] [blame] | 42 | except: |
| 43 | pass |