#! /usr/bin/env python """Test script for the gdbm module Roger E. Masse """ import gdbm import unittest from test.test_support import verbose, TESTFN, run_unittest filename = TESTFN class TestGdbm(unittest.TestCase): def tearDown(self): try: import os os.unlink(filename) except: pass def test_it(self): g = gdbm.open(filename, 'c') self.assertEqual(g.keys(), []) g['a'] = 'b' g['12345678910'] = '019237410982340912840198242' a = g.keys() if verbose: print 'Test gdbm file keys: ', a g.has_key('a') g.close() # try access a closed database self.assertRaises(gdbm.error, lambda: g['a']) g = gdbm.open(filename, 'r') g.close() g = gdbm.open(filename, 'w') g.close() g = gdbm.open(filename, 'n') g.close() # try pass an invalid open flag self.assertRaises(gdbm.error, lambda: gdbm.open(filename, 'rx').close()) def test_main(): run_unittest(TestGdbm) if __name__ == '__main__': test_main()