Changeset 2067
- Timestamp:
- 06/25/09 13:15:57 (9 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
branches/0.9/pylucid_project/tests/test_tools/test_runner.py
r2043 r2067 33 33 UNITTEST_PLUGIN_DST_PATH = os.path.join(settings.PYLUCID_PLUGINS_ROOT, "unittest_plugin") 34 34 35 TEST_NAMES = ["pylucid_project.tests", ]35 TEST_NAMES = ["pylucid_project.tests", ] 36 36 for app_name in settings.INSTALLED_APPS: 37 37 if app_name.startswith("pylucid"): 38 38 TEST_NAMES.append("%s.tests" % app_name) 39 40 39 40 41 41 def _import_test(module_name, class_name=None): 42 42 """ … … 53 53 except TypeError: 54 54 raise ValueError("Test label '%s.%s' does not refer to a test class" % 55 (module_name, '.'.join(class_name)))55 (module_name, '.'.join(class_name))) 56 56 else: # label is fname.TestClass.test_method 57 57 return test_class(class_name[1]) … … 67 67 if verbosity: 68 68 print "\nContruct a test suite from all available tests." 69 if verbosity >=2:69 if verbosity >= 2: 70 70 print "Use test names: %r\n" % TEST_NAMES 71 71 72 72 test_suite = unittest.TestSuite() 73 73 74 74 for name in TEST_NAMES: 75 75 try: 76 76 tests = unittest.defaultTestLoader.loadTestsFromName(name) 77 77 except AttributeError, err: 78 if err.message!= "'module' object has no attribute 'tests'":78 if str(err) != "'module' object has no attribute 'tests'": 79 79 # Skip only if no tests available 80 80 raise 81 if verbosity >=2:81 if verbosity >= 2: 82 82 print "Skip %r: %s" % (name, err) 83 83 else: 84 84 if verbosity: 85 85 print "Add %s tests from %r" % (tests.countTestCases(), name) 86 if verbosity >=2:86 if verbosity >= 2: 87 87 for testcase in tests: 88 88 for test in testcase._tests: … … 91 91 print "\t%s.%s.%s" % (file_name, test.__class__.__name__, test._testMethodName) 92 92 test_suite.addTest(tests) 93 93 94 94 if verbosity: 95 95 print 96 96 97 97 return test_suite 98 98 … … 107 107 if verbosity: 108 108 print "Building test suite." 109 109 110 110 if test_labels: 111 111 test_suite = unittest.TestSuite() … … 115 115 test_suite.addTest(_import_test(parts[0])) 116 116 else: 117 test_suite.addTest(_import_test(parts[0], parts[1:]))117 test_suite.addTest(_import_test(parts[0], parts[1:])) 118 118 return test_suite 119 119 else: … … 133 133 if verbosity: 134 134 print "OK" 135 135 136 136 # Add unittest template dir 137 137 settings.TEMPLATE_DIRS += (os.path.join(UNITTEST_PLUGIN_DST_PATH, "templates"),) … … 166 166 if verbosity: 167 167 print "start tests:", test_labels, "\n" 168 168 169 169 setup_test_environment() 170 170 171 171 setup_unittest_plugin(verbosity) 172 172 173 173 old_name = settings.DATABASE_NAME 174 174 175 175 from django.db import connection 176 176 177 177 db_name = connection.creation.create_test_db( 178 178 verbosity=verbosity, autoclobber=not interactive … … 180 180 if verbosity: 181 181 print "\nTest database '%s' created" % db_name 182 182 183 183 pylucid_test_data.create_pylucid_test_data(site=None, verbosity=verbosity) 184 184 185 185 suite = get_tests(test_labels, verbosity) 186 186 if verbosity: … … 189 189 connection.creation.destroy_test_db(old_name, verbosity) 190 190 teardown_test_environment() 191 191 192 192 teardown_unittest_plugin(verbosity) 193 193