diff -r 000000000000 -r ae805ac0140d python-2.5.2/win32/Lib/test/test_dbm.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python-2.5.2/win32/Lib/test/test_dbm.py Fri Apr 03 17:19:34 2009 +0100 @@ -0,0 +1,55 @@ +#! /usr/bin/env python +"""Test script for the dbm module + Roger E. Masse +""" +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() + +cleanup() +try: + test_keys() + test_modes() +except: + cleanup() + raise + +cleanup()