Viewing file: test_dbm.py (1.29 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#! /usr/bin/env python2.4 """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
# make filename unique to allow multiple concurrent tests # and to minimize the likelihood of a problem from an old file filename = '/tmp/delete_me_' + str(random.random())[-6:]
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()
|