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
|
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.prefix="/tmp/z-Berkeley_DB"
|
||||||
get_new_path.num=0
|
get_new_path.num=0
|
||||||
|
|
||||||
|
@ -97,7 +99,7 @@ import test_all
|
||||||
test_all.verbose = verbose
|
test_all.verbose = verbose
|
||||||
|
|
||||||
|
|
||||||
def suite():
|
def suite(module_prefix='', timing_check=None):
|
||||||
try:
|
try:
|
||||||
# this is special, it used to segfault the interpreter
|
# this is special, it used to segfault the interpreter
|
||||||
import test_1413192
|
import test_1413192
|
||||||
|
@ -107,14 +109,14 @@ def suite():
|
||||||
test_modules = [
|
test_modules = [
|
||||||
'test_associate',
|
'test_associate',
|
||||||
'test_basics',
|
'test_basics',
|
||||||
'test_compat',
|
|
||||||
'test_compare',
|
'test_compare',
|
||||||
|
'test_compat',
|
||||||
|
'test_cursor_pget_bug',
|
||||||
'test_dbobj',
|
'test_dbobj',
|
||||||
'test_dbshelve',
|
'test_dbshelve',
|
||||||
'test_dbtables',
|
'test_dbtables',
|
||||||
'test_early_close',
|
|
||||||
'test_distributed_transactions',
|
'test_distributed_transactions',
|
||||||
'test_replication',
|
'test_early_close',
|
||||||
'test_get_none',
|
'test_get_none',
|
||||||
'test_join',
|
'test_join',
|
||||||
'test_lock',
|
'test_lock',
|
||||||
|
@ -122,15 +124,21 @@ def suite():
|
||||||
'test_pickle',
|
'test_pickle',
|
||||||
'test_queue',
|
'test_queue',
|
||||||
'test_recno',
|
'test_recno',
|
||||||
'test_thread',
|
'test_replication',
|
||||||
'test_sequence',
|
'test_sequence',
|
||||||
'test_cursor_pget_bug',
|
'test_thread',
|
||||||
]
|
]
|
||||||
|
|
||||||
alltests = unittest.TestSuite()
|
alltests = unittest.TestSuite()
|
||||||
for name in test_modules:
|
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())
|
alltests.addTest(module.test_suite())
|
||||||
|
if timing_check:
|
||||||
|
alltests.addTest(unittest.makeSuite(timing_check))
|
||||||
return alltests
|
return alltests
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,61 +48,29 @@ class TimingCheck(unittest.TestCase):
|
||||||
sys.__stdout__.flush()
|
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
|
# For invocation through regrtest
|
||||||
def test_main():
|
def test_main():
|
||||||
run_unittest(suite())
|
from bsddb import db
|
||||||
db_home = os.path.join(tempfile.gettempdir(), 'db_home')
|
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
|
# 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
|
# one lying around. This might be by a different user, so just
|
||||||
# ignore errors. We should always make a unique name now.
|
# ignore errors. We should always make a unique name now.
|
||||||
try:
|
try:
|
||||||
rmtree(db_home)
|
rmtree(test_all.get_new_path.prefix)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
rmtree('db_home%d' % os.getpid())
|
|
||||||
|
|
||||||
# For invocation as a script
|
|
||||||
if __name__ == '__main__':
|
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()
|
test_main()
|
||||||
|
|
Loading…
Reference in New Issue