mirror of
https://github.com/python/cpython.git
synced 2024-11-27 11:55:13 +08:00
05e8be17fd
svn+ssh://pythondev@svn.python.org/python/trunk ........ r60990 | eric.smith | 2008-02-23 17:05:26 +0100 (Sat, 23 Feb 2008) | 1 line Removed duplicate Py_CHARMASK define. It's already defined in Python.h. ........ r60991 | andrew.kuchling | 2008-02-23 17:23:05 +0100 (Sat, 23 Feb 2008) | 4 lines #1330538: Improve comparison of xmlrpclib.DateTime and datetime instances. Remove automatic handling of datetime.date and datetime.time. This breaks backward compatibility, but python-dev discussion was strongly against this automatic conversion; see the bug for a link. ........ r60994 | andrew.kuchling | 2008-02-23 17:39:43 +0100 (Sat, 23 Feb 2008) | 1 line #835521: Add index entries for various pickle-protocol methods and attributes ........ r60995 | andrew.kuchling | 2008-02-23 18:10:46 +0100 (Sat, 23 Feb 2008) | 2 lines #1433694: minidom's .normalize() failed to set .nextSibling for last element. Fix by Malte Helmert ........ r61000 | christian.heimes | 2008-02-23 18:40:11 +0100 (Sat, 23 Feb 2008) | 1 line Patch #2167 from calvin: Remove unused imports ........ r61001 | christian.heimes | 2008-02-23 18:42:31 +0100 (Sat, 23 Feb 2008) | 1 line Patch #1957: syslogmodule: Release GIL when calling syslog(3) ........ r61002 | christian.heimes | 2008-02-23 18:52:07 +0100 (Sat, 23 Feb 2008) | 2 lines Issue #2051 and patch from Alexander Belopolsky: Permission for pyc and pyo files are inherited from the py file. ........
56 lines
1.3 KiB
Python
Executable File
56 lines
1.3 KiB
Python
Executable File
#! /usr/bin/env python
|
|
"""Test script for the dbm module
|
|
Roger E. Masse
|
|
"""
|
|
import os
|
|
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.errno, e.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[b'a'] = b'b'
|
|
d[b'12345678910'] = b'019237410982340912840198242'
|
|
d.keys()
|
|
if b'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()
|