diff options
author | Gregory P. Smith <greg@mad-scientist.com> | 2007-09-06 23:06:50 (GMT) |
---|---|---|
committer | Gregory P. Smith <greg@mad-scientist.com> | 2007-09-06 23:06:50 (GMT) |
commit | a5e8ab5d5cf4d8ebe5e40e30e0ae8ab7d7438a83 (patch) | |
tree | 63333f55a8f4223c67c6039906f2342d54bcb632 /Lib | |
parent | 1cc5544345a6cfbe034f2c804c54660763320220 (diff) | |
download | cpython-a5e8ab5d5cf4d8ebe5e40e30e0ae8ab7d7438a83.zip cpython-a5e8ab5d5cf4d8ebe5e40e30e0ae8ab7d7438a83.tar.gz cpython-a5e8ab5d5cf4d8ebe5e40e30e0ae8ab7d7438a83.tar.bz2 |
merge r58023 to fix issue1112 on windows. make this test more robust
and deterministic.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/bsddb/test/test_1413192.py | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/Lib/bsddb/test/test_1413192.py b/Lib/bsddb/test/test_1413192.py index 2f27c8e..5caae81 100644 --- a/Lib/bsddb/test/test_1413192.py +++ b/Lib/bsddb/test/test_1413192.py @@ -1,7 +1,6 @@ - -# http://python.org/sf/1413192 +# http://bugs.python.org/issue1413192 # -# This test relies on the variable names, see the bug report for details. +# See the bug report for details. # The problem was that the env was deallocated prior to the txn. import shutil @@ -15,15 +14,28 @@ except ImportError: 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() +# Wrap test operation in a class so we can control destruction rather than +# waiting for the controlling Python executable to exit + +class Context: + + def __init__(self): + self.env = db.DBEnv() + self.env.open(env_name, + db.DB_CREATE | db.DB_INIT_TXN | db.DB_INIT_MPOOL) + self.the_txn = self.env.txn_begin() + + self.map = db.DB(self.env) + self.map.open('xxx.db', "p", + db.DB_HASH, db.DB_CREATE, 0o666, txn=self.the_txn) + del self.env + del self.the_txn + -map = db.DB(env) -map.open('xxx.db', - "p", db.DB_HASH, db.DB_CREATE, 0o666, txn=the_txn) +context = Context() +del context -# try not to leave a turd (won't help Windows since files are still open) +# try not to leave a turd try: shutil.rmtree(env_name) except EnvironmentError: |