cpython/Lib/bsddb/test/test_1413192.py
Gregory P. Smith e468ada1e6 Back port of r57286 from py3k and trunk
------------------------------------------------------------------------
  r57286 | gregory.p.smith | 2007-08-22 14:32:34 -0700 (Wed, 22 Aug 2007) | 3 lines

  stop leaving log.0000001 __db.00* and xxx.db turds in developer
  sandboxes when bsddb3 tests are run.
2007-08-23 05:05:12 +00:00

29 lines
753 B
Python

# http://python.org/sf/1413192
#
# This test relies on the variable names, see the bug report for details.
# The problem was that the env was deallocated prior to the txn.
import shutil
import tempfile
try:
# For Pythons w/distutils and add-on pybsddb
from bsddb3 import db
except ImportError:
# For Python >= 2.3 builtin bsddb distribution
from bsddb import db
env_name = tempfile.mkdtemp()
env = db.DBEnv()
env.open(env_name, db.DB_CREATE | db.DB_INIT_TXN | db.DB_INIT_MPOOL)
the_txn = env.txn_begin()
map = db.DB(env)
map.open('xxx.db', "p", db.DB_HASH, db.DB_CREATE, 0666, txn=the_txn)
# try not to leave a turd (won't help Windows since files are still open)
try:
shutil.rmtree(env_name)
except EnvironmentError:
pass