blob: 7c3d133cd490d263814f627ccdb658addbd5af68 [file] [log] [blame]
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +00001# Test driver for bsddb package.
2"""
3Run all test cases.
4"""
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +00005import sys
6import unittest
Guido van Rossumd8faa362007-04-27 19:54:29 +00007from test.test_support import requires, verbose, run_unittest, unlink
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +00008
Barry Warsaw0a262352002-12-30 20:53:18 +00009# When running as a script instead of within the regrtest framework, skip the
10# requires test, since it's obvious we want to run them.
Guido van Rossumb053cd82006-08-24 03:53:23 +000011if __name__ != '__main__':
Barry Warsaw0a262352002-12-30 20:53:18 +000012 requires('bsddb')
13
14verbose = False
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +000015if 'verbose' in sys.argv:
Barry Warsaw0a262352002-12-30 20:53:18 +000016 verbose = True
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +000017 sys.argv.remove('verbose')
18
19if 'silent' in sys.argv: # take care of old flag, just in case
Barry Warsaw0a262352002-12-30 20:53:18 +000020 verbose = False
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +000021 sys.argv.remove('silent')
22
23
24def suite():
Neal Norwitz62a21122006-01-25 05:21:55 +000025 try:
26 # this is special, it used to segfault the interpreter
Martin v. Löwis918f49e2007-08-08 22:08:30 +000027 #import bsddb.test.test_1413192
28 pass
Neal Norwitz62a21122006-01-25 05:21:55 +000029 except:
Neal Norwitz14361ff2006-01-25 07:20:47 +000030 for f in ['__db.001', '__db.002', '__db.003', 'log.0000000001']:
31 unlink(f)
Neal Norwitz62a21122006-01-25 05:21:55 +000032
Barry Warsaw0a262352002-12-30 20:53:18 +000033 test_modules = [
Martin v. Löwis918f49e2007-08-08 22:08:30 +000034 #'test_associate',
35 #'test_basics',
36 #'test_compat',
37 #'test_dbobj',
Barry Warsaw0a262352002-12-30 20:53:18 +000038 'test_dbshelve',
Martin v. Löwis918f49e2007-08-08 22:08:30 +000039 #'test_dbtables',
40 #'test_env_close',
41 #'test_get_none',
42 #'test_join',
43 #'test_lock',
44 #'test_misc',
45 #'test_queue',
46 #'test_recno',
47 #'test_thread',
48 #'test_sequence',
49 #'test_cursor_pget_bug',
Barry Warsaw0a262352002-12-30 20:53:18 +000050 ]
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +000051
52 alltests = unittest.TestSuite()
53 for name in test_modules:
54 module = __import__("bsddb.test."+name, globals(), locals(), name)
Barry Warsaw0a262352002-12-30 20:53:18 +000055 #print module,name
56 alltests.addTest(module.test_suite())
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +000057 return alltests
58
Barry Warsaw0a262352002-12-30 20:53:18 +000059
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +000060# For invocation through regrtest
61def test_main():
Guido van Rossumd8faa362007-04-27 19:54:29 +000062 run_unittest(suite())
Barry Warsaw0a262352002-12-30 20:53:18 +000063
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +000064# For invocation as a script
65if __name__ == '__main__':
66 from bsddb import db
Guido van Rossumbe19ed72007-02-09 05:37:30 +000067 print('-=' * 38)
68 print(db.DB_VERSION_STRING)
69 print('bsddb.db.version(): %s' % (db.version(),))
70 print('bsddb.db.__version__: %s' % db.__version__)
71 print('bsddb.db.cvsid: %s' % db.cvsid)
72 print('python version: %s' % sys.version)
73 print('-=' * 38)
Martin v. Löwis1c6b1a22002-11-19 17:47:07 +000074
Guido van Rossumd8faa362007-04-27 19:54:29 +000075 test_main()