blob: 44b712c3c6a04e41635d72ed96d0fe31b62f7873 [file] [log] [blame]
Christian Heimesb186d002008-03-18 15:15:01 +00001from test import test_support
2import unittest
Neal Norwitze7629c82002-11-02 18:25:08 +00003import os
Christian Heimesb186d002008-03-18 15:15:01 +00004import random
Roger E. Masse16f9fd21996-12-10 00:06:24 +00005import dbm
6from dbm import error
Roger E. Massefab8ab81996-12-20 22:36:52 +00007
Christian Heimesb186d002008-03-18 15:15:01 +00008class DbmTestCase(unittest.TestCase):
Roger E. Masse16f9fd21996-12-10 00:06:24 +00009
Christian Heimesb186d002008-03-18 15:15:01 +000010 def setUp(self):
11 self.filename = test_support.TESTFN
12 self.d = dbm.open(self.filename, 'c')
13 self.d.close()
Fred Drake57a4e902000-09-18 17:56:58 +000014
Christian Heimesb186d002008-03-18 15:15:01 +000015 def tearDown(self):
16 for suffix in ['', '.pag', '.dir', '.db']:
17 test_support.unlink(self.filename + suffix)
Roger E. Masse16f9fd21996-12-10 00:06:24 +000018
Christian Heimesb186d002008-03-18 15:15:01 +000019 def test_keys(self):
20 self.d = dbm.open(self.filename, 'c')
21 self.assert_(self.d.keys() == [])
22 self.d['a'] = 'b'
23 self.d['12345678910'] = '019237410982340912840198242'
24 self.d.keys()
25 self.assert_(b'a' in self.d)
26 self.d.close()
Neal Norwitze7629c82002-11-02 18:25:08 +000027
Christian Heimesb186d002008-03-18 15:15:01 +000028 def test_modes(self):
29 for mode in ['r', 'rw', 'w', 'n']:
30 try:
31 self.d = dbm.open(self.filename, mode)
32 self.d.close()
33 except dbm.error:
34 self.fail()
Neal Norwitze7629c82002-11-02 18:25:08 +000035
Christian Heimes180510d2008-03-03 19:15:45 +000036def test_main():
Christian Heimesb186d002008-03-18 15:15:01 +000037 test_support.run_unittest(DbmTestCase)
Christian Heimes180510d2008-03-03 19:15:45 +000038
39if __name__ == '__main__':
40 test_main()