mirror of https://github.com/python/cpython
* Give the test_bsddb3 tests a unique temporary directory to run their
stuff in and clean it up afterwards regardless of the result. * Get rid of duplicate list of test modules to run, they're maintained within test_all now. * Print the BerkeleyDB version to stderr when running test_bsddb3 to help buildbot problem diagnosis.
This commit is contained in:
parent
6153ab3fee
commit
8107290fa1
|
@ -67,6 +67,8 @@ 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"
|
||||
get_new_path.num=0
|
||||
|
||||
|
@ -97,7 +99,7 @@ import test_all
|
|||
test_all.verbose = verbose
|
||||
|
||||
|
||||
def suite():
|
||||
def suite(module_prefix='', timing_check=None):
|
||||
try:
|
||||
# this is special, it used to segfault the interpreter
|
||||
import test_1413192
|
||||
|
@ -107,14 +109,14 @@ def suite():
|
|||
test_modules = [
|
||||
'test_associate',
|
||||
'test_basics',
|
||||
'test_compat',
|
||||
'test_compare',
|
||||
'test_compat',
|
||||
'test_cursor_pget_bug',
|
||||
'test_dbobj',
|
||||
'test_dbshelve',
|
||||
'test_dbtables',
|
||||
'test_early_close',
|
||||
'test_distributed_transactions',
|
||||
'test_replication',
|
||||
'test_early_close',
|
||||
'test_get_none',
|
||||
'test_join',
|
||||
'test_lock',
|
||||
|
@ -122,15 +124,21 @@ def suite():
|
|||
'test_pickle',
|
||||
'test_queue',
|
||||
'test_recno',
|
||||
'test_thread',
|
||||
'test_replication',
|
||||
'test_sequence',
|
||||
'test_cursor_pget_bug',
|
||||
'test_thread',
|
||||
]
|
||||
|
||||
alltests = unittest.TestSuite()
|
||||
for name in test_modules:
|
||||
module = __import__(name)
|
||||
#module = __import__(name)
|
||||
# Do it this way so that suite may be called externally via
|
||||
# python's Lib/test/test_bsddb3.
|
||||
module = __import__(module_prefix+name, globals(), locals(), name)
|
||||
|
||||
alltests.addTest(module.test_suite())
|
||||
if timing_check:
|
||||
alltests.addTest(unittest.makeSuite(timing_check))
|
||||
return alltests
|
||||
|
||||
|
||||
|
|
|
@ -48,61 +48,29 @@ class TimingCheck(unittest.TestCase):
|
|||
sys.__stdout__.flush()
|
||||
|
||||
|
||||
def suite():
|
||||
test_modules = [
|
||||
'test_associate',
|
||||
'test_basics',
|
||||
'test_compare',
|
||||
'test_compat',
|
||||
'test_cursor_pget_bug',
|
||||
'test_dbobj',
|
||||
'test_dbshelve',
|
||||
'test_dbtables',
|
||||
'test_distributed_transactions',
|
||||
'test_early_close',
|
||||
'test_get_none',
|
||||
'test_join',
|
||||
'test_lock',
|
||||
'test_misc',
|
||||
'test_pickle',
|
||||
'test_queue',
|
||||
'test_recno',
|
||||
'test_replication',
|
||||
'test_sequence',
|
||||
'test_thread',
|
||||
]
|
||||
|
||||
alltests = unittest.TestSuite()
|
||||
for name in test_modules:
|
||||
module = __import__("bsddb.test."+name, globals(), locals(), name)
|
||||
#print module,name
|
||||
alltests.addTest(module.test_suite())
|
||||
alltests.addTest(unittest.makeSuite(TimingCheck))
|
||||
return alltests
|
||||
|
||||
|
||||
# For invocation through regrtest
|
||||
def test_main():
|
||||
run_unittest(suite())
|
||||
db_home = os.path.join(tempfile.gettempdir(), 'db_home')
|
||||
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())
|
||||
# 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
|
||||
try:
|
||||
run_unittest(test_all.suite(module_prefix='bsddb.test.',
|
||||
timing_check=TimingCheck))
|
||||
finally:
|
||||
# The only reason to remove db_home is in case if there is an old
|
||||
# one lying around. This might be by a different user, so just
|
||||
# ignore errors. We should always make a unique name now.
|
||||
try:
|
||||
rmtree(db_home)
|
||||
rmtree(test_all.get_new_path.prefix)
|
||||
except:
|
||||
pass
|
||||
rmtree('db_home%d' % os.getpid())
|
||||
|
||||
# For invocation as a script
|
||||
|
||||
if __name__ == '__main__':
|
||||
from bsddb import db
|
||||
print '-=' * 38
|
||||
print db.DB_VERSION_STRING
|
||||
print 'bsddb.db.version(): %s' % (db.version(),)
|
||||
print 'bsddb.db.__version__: %s' % db.__version__
|
||||
print 'bsddb.db.cvsid: %s' % db.cvsid
|
||||
print 'python version: %s' % sys.version
|
||||
print '-=' * 38
|
||||
|
||||
test_main()
|
||||
|
|
Loading…
Reference in New Issue