cpython/Lib/test/test_dbm.py
Guido van Rossum be19ed77dd Fix most trivially-findable print statements.
There's one major and one minor category still unfixed:
doctests are the major category (and I hope to be able to augment the
refactoring tool to refactor bona fide doctests soon);
other code generating print statements in strings is the minor category.

(Oh, and I don't know if the compiler package works.)
2007-02-09 05:37:30 +00:00

56 lines
1.3 KiB
Python
Executable file

#! /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 as e:
(errno, strerror) = e
# 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 'a' in d:
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()