| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 1 | # Test driver for bsddb package. | 
 | 2 | """ | 
 | 3 | Run all test cases. | 
 | 4 | """ | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 5 | import sys | 
 | 6 | import unittest | 
| Neal Norwitz | 14361ff | 2006-01-25 07:20:47 +0000 | [diff] [blame] | 7 | from test.test_support import requires, verbose, run_suite, unlink | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 8 |  | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 9 | # 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. | 
 | 11 | if __name__ <> '__main__': | 
 | 12 |     requires('bsddb') | 
 | 13 |  | 
 | 14 | verbose = False | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 15 | if 'verbose' in sys.argv: | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 16 |     verbose = True | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 17 |     sys.argv.remove('verbose') | 
 | 18 |  | 
 | 19 | if 'silent' in sys.argv:  # take care of old flag, just in case | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 20 |     verbose = False | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 21 |     sys.argv.remove('silent') | 
 | 22 |  | 
 | 23 |  | 
 | 24 | def suite(): | 
| Neal Norwitz | 62a2112 | 2006-01-25 05:21:55 +0000 | [diff] [blame] | 25 |     try: | 
 | 26 |         # this is special, it used to segfault the interpreter | 
 | 27 |         import bsddb.test.test_1413192 | 
 | 28 |     except: | 
| Neal Norwitz | 14361ff | 2006-01-25 07:20:47 +0000 | [diff] [blame] | 29 |         for f in ['__db.001', '__db.002', '__db.003', 'log.0000000001']: | 
 | 30 |             unlink(f) | 
| Neal Norwitz | 62a2112 | 2006-01-25 05:21:55 +0000 | [diff] [blame] | 31 |  | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 32 |     test_modules = [ | 
 | 33 |         'test_associate', | 
 | 34 |         'test_basics', | 
 | 35 |         'test_compat', | 
 | 36 |         'test_dbobj', | 
 | 37 |         'test_dbshelve', | 
 | 38 |         'test_dbtables', | 
 | 39 |         'test_env_close', | 
 | 40 |         'test_get_none', | 
 | 41 |         'test_join', | 
 | 42 |         'test_lock', | 
 | 43 |         'test_misc', | 
 | 44 |         'test_queue', | 
 | 45 |         'test_recno', | 
 | 46 |         'test_thread', | 
| Gregory P. Smith | f0547d0 | 2006-06-05 17:38:04 +0000 | [diff] [blame] | 47 |         'test_sequence', | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 48 |         ] | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 49 |  | 
 | 50 |     alltests = unittest.TestSuite() | 
 | 51 |     for name in test_modules: | 
 | 52 |         module = __import__("bsddb.test."+name, globals(), locals(), name) | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 53 |         #print module,name | 
 | 54 |         alltests.addTest(module.test_suite()) | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 55 |     return alltests | 
 | 56 |  | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 57 |  | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 58 | # For invocation through regrtest | 
 | 59 | def test_main(): | 
 | 60 |     tests = suite() | 
 | 61 |     run_suite(tests) | 
 | 62 |  | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 63 |  | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 64 | # For invocation as a script | 
 | 65 | if __name__ == '__main__': | 
 | 66 |     from bsddb import db | 
 | 67 |     print '-=' * 38 | 
 | 68 |     print db.DB_VERSION_STRING | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 69 |     print 'bsddb.db.version():   %s' % (db.version(),) | 
 | 70 |     print 'bsddb.db.__version__: %s' % db.__version__ | 
 | 71 |     print 'bsddb.db.cvsid:       %s' % db.cvsid | 
| Martin v. Löwis | 1c6b1a2 | 2002-11-19 17:47:07 +0000 | [diff] [blame] | 72 |     print 'python version:        %s' % sys.version | 
 | 73 |     print '-=' * 38 | 
 | 74 |  | 
| Barry Warsaw | 0a26235 | 2002-12-30 20:53:18 +0000 | [diff] [blame] | 75 |     unittest.main(defaultTest='suite') |