Better integration between Python testing and bsddb3

This commit is contained in:
Jesus Cea 2008-05-27 13:26:02 +00:00
parent b1a54a3530
commit dbd2f6d8a9
2 changed files with 17 additions and 14 deletions

View File

@ -67,11 +67,20 @@ def get_new_database_path() :
return path
# NOTE: This path is overridden by a unique one and cleaned up
# afterwards when run under regrtest via Lib/test/test_bsddb3.py.
get_new_path.prefix="/tmp/z-Berkeley_DB"
# This path can be overriden via "set_test_path_prefix()".
import os, os.path
get_new_path.prefix=os.path.join(os.sep,"tmp","z-Berkeley_DB")
get_new_path.num=0
def get_test_path_prefix() :
return get_new_path.prefix
def set_test_path_prefix(path) :
get_new_path.prefix=path
def remove_test_path_directory() :
test_support.rmtree(get_new_path.prefix)
try :
import threading
get_new_path.mutex=threading.Lock()
@ -100,12 +109,6 @@ test_all.verbose = verbose
def suite(module_prefix='', timing_check=None):
try:
# this is special, it used to segfault the interpreter
import test_1413192
except:
pass
test_modules = [
'test_associate',
'test_basics',

View File

@ -52,13 +52,13 @@ class TimingCheck(unittest.TestCase):
def test_main():
from bsddb import db
from bsddb.test import test_all
test_all.get_new_path.prefix = os.path.join(tempfile.gettempdir(),
'z-test_bsddb3-%s' %
os.getpid())
test_all.set_test_path_prefix(os.path.join(tempfile.gettempdir(),
'z-test_bsddb3-%s' %
os.getpid()))
# Please leave this print in, having this show up in the buildbots
# makes diagnosing problems a lot easier.
print >>sys.stderr, db.DB_VERSION_STRING
print >>sys.stderr, 'Test path prefix: ', test_all.get_new_path.prefix
print >>sys.stderr, 'Test path prefix: ', test_all.get_test_path_prefix()
try:
run_unittest(test_all.suite(module_prefix='bsddb.test.',
timing_check=TimingCheck))
@ -67,7 +67,7 @@ def test_main():
# one lying around. This might be by a different user, so just
# ignore errors. We should always make a unique name now.
try:
rmtree(test_all.get_new_path.prefix)
test_all.remove_test_path_directory()
except:
pass