blob: a68957633ae483d005632e18c8b752630ffdcb6d [file] [log] [blame]
Roger E. Masse62a017c1996-12-17 19:54:27 +00001#! /usr/bin/env python
2"""Test script for the gdbm module
3 Roger E. Masse
4"""
Fred Drake004d5e62000-10-23 17:22:08 +00005
Roger E. Masse62a017c1996-12-17 19:54:27 +00006import gdbm
7from gdbm import error
Guido van Rossumf35ad332006-08-25 23:40:32 +00008from test.test_support import verbose, verify, TestFailed, TESTFN
Roger E. Massefab8ab81996-12-20 22:36:52 +00009
Guido van Rossumf35ad332006-08-25 23:40:32 +000010filename = TESTFN
Roger E. Masse62a017c1996-12-17 19:54:27 +000011
12g = gdbm.open(filename, 'c')
Guido van Rossumf6e47ad2001-03-22 00:40:23 +000013verify(g.keys() == [])
Roger E. Masse62a017c1996-12-17 19:54:27 +000014g['a'] = 'b'
15g['12345678910'] = '019237410982340912840198242'
16a = g.keys()
17if verbose:
18 print 'Test gdbm file keys: ', a
Fred Drake004d5e62000-10-23 17:22:08 +000019
Guido van Rossume2b70bc2006-08-18 22:13:04 +000020'a' in g
Roger E. Masse62a017c1996-12-17 19:54:27 +000021g.close()
Fred Drakea710d6e2000-02-07 17:15:48 +000022try:
23 g['a']
24except error:
25 pass
26else:
27 raise TestFailed, "expected gdbm.error accessing closed database"
Roger E. Masse62a017c1996-12-17 19:54:27 +000028g = gdbm.open(filename, 'r')
29g.close()
Roger E. Masse62a017c1996-12-17 19:54:27 +000030g = gdbm.open(filename, 'w')
31g.close()
32g = gdbm.open(filename, 'n')
33g.close()
Neil Schemenauer99664e42000-12-18 17:28:05 +000034try:
35 g = gdbm.open(filename, 'rx')
36 g.close()
37except error:
38 pass
39else:
40 raise TestFailed, "expected gdbm.error when passing invalid open flags"
Roger E. Masse62a017c1996-12-17 19:54:27 +000041
42try:
43 import os
44 os.unlink(filename)
45except:
46 pass