blob: 562b14f3db461b67a2d2732e990eb97e0bce37e7 [file] [log] [blame]
Brett Cannonba17cfc2008-03-18 01:50:25 +00001from test import test_support
2import unittest
Neal Norwitze7629c82002-11-02 18:25:08 +00003import os
Brett Cannonba17cfc2008-03-18 01:50:25 +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
Brett Cannonba17cfc2008-03-18 01:50:25 +00008class DbmTestCase(unittest.TestCase):
Roger E. Masse16f9fd21996-12-10 00:06:24 +00009
Brett Cannonba17cfc2008-03-18 01:50:25 +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
Brett Cannonba17cfc2008-03-18 01:50:25 +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
Brett Cannonba17cfc2008-03-18 01:50:25 +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_(self.d.has_key('a'))
26 self.d.close()
Neal Norwitze7629c82002-11-02 18:25:08 +000027
Brett Cannonba17cfc2008-03-18 01:50:25 +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
Brett Cannon7dbd9182008-03-03 04:19:29 +000036def test_main():
Brett Cannonba17cfc2008-03-18 01:50:25 +000037 test_support.run_unittest(DbmTestCase)
Brett Cannon7dbd9182008-03-03 04:19:29 +000038
39if __name__ == '__main__':
40 test_main()