summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_dbm.py
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2008-03-18 01:50:25 (GMT)
committerBrett Cannon <bcannon@gmail.com>2008-03-18 01:50:25 (GMT)
commitba17cfc66c3ea90613a934704766147c7b8284a0 (patch)
tree606341b54f0d97921170681a6269bd50c8a2a374 /Lib/test/test_dbm.py
parent5de250e823f03e45cee3558b699f9e8b4404c347 (diff)
downloadcpython-ba17cfc66c3ea90613a934704766147c7b8284a0.zip
cpython-ba17cfc66c3ea90613a934704766147c7b8284a0.tar.gz
cpython-ba17cfc66c3ea90613a934704766147c7b8284a0.tar.bz2
Convert test_dummy_threading and test_dbm to unittest.
Diffstat (limited to 'Lib/test/test_dbm.py')
-rwxr-xr-xLib/test/test_dbm.py82
1 files changed, 31 insertions, 51 deletions
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py
index 6b57efb..562b14f 100755
--- a/Lib/test/test_dbm.py
+++ b/Lib/test/test_dbm.py
@@ -1,60 +1,40 @@
-#! /usr/bin/env python
-"""Test script for the dbm module
- Roger E. Masse
-"""
+from test import test_support
+import unittest
import os
+import random
import dbm
from dbm import error
-from test.test_support import verbose, verify, TestSkipped, TESTFN
-# make filename unique to allow multiple concurrent tests
-# and to minimize the likelihood of a problem from an old file
-filename = TESTFN
-
-def cleanup():
- for suffix in ['', '.pag', '.dir', '.db']:
- try:
- os.unlink(filename + suffix)
- except OSError, (errno, strerror):
- # if we can't delete the file because of permissions,
- # nothing will work, so skip the test
- if errno == 1:
- raise TestSkipped, 'unable to remove: ' + filename + suffix
-
-def test_keys():
- d = dbm.open(filename, 'c')
- verify(d.keys() == [])
- d['a'] = 'b'
- d['12345678910'] = '019237410982340912840198242'
- d.keys()
- if d.has_key('a'):
- if verbose:
- print 'Test dbm keys: ', d.keys()
-
- d.close()
-
-def test_modes():
- d = dbm.open(filename, 'r')
- d.close()
- d = dbm.open(filename, 'rw')
- d.close()
- d = dbm.open(filename, 'w')
- d.close()
- d = dbm.open(filename, 'n')
- d.close()
+class DbmTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.filename = test_support.TESTFN
+ self.d = dbm.open(self.filename, 'c')
+ self.d.close()
+
+ def tearDown(self):
+ for suffix in ['', '.pag', '.dir', '.db']:
+ test_support.unlink(self.filename + suffix)
+
+ def test_keys(self):
+ self.d = dbm.open(self.filename, 'c')
+ self.assert_(self.d.keys() == [])
+ self.d['a'] = 'b'
+ self.d['12345678910'] = '019237410982340912840198242'
+ self.d.keys()
+ self.assert_(self.d.has_key('a'))
+ self.d.close()
+
+ def test_modes(self):
+ for mode in ['r', 'rw', 'w', 'n']:
+ try:
+ self.d = dbm.open(self.filename, mode)
+ self.d.close()
+ except dbm.error:
+ self.fail()
def test_main():
- cleanup()
- try:
- test_keys()
- test_modes()
- except:
- cleanup()
- raise
-
- cleanup()
-
-
+ test_support.run_unittest(DbmTestCase)
if __name__ == '__main__':
test_main()