mirror of
https://github.com/django/django.git
synced 2025-11-07 07:15:35 +00:00
Fixed #12624 -- Modified test runners to be class based.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12255 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -21,14 +21,20 @@ class Command(BaseCommand):
|
||||
verbosity = int(options.get('verbosity', 1))
|
||||
interactive = options.get('interactive', True)
|
||||
failfast = options.get('failfast', False)
|
||||
test_runner = get_runner(settings)
|
||||
TestRunner = get_runner(settings)
|
||||
|
||||
# Some custom test runners won't accept the failfast flag, so let's make sure they accept it before passing it to them
|
||||
if 'failfast' in test_runner.func_code.co_varnames:
|
||||
failures = test_runner(test_labels, verbosity=verbosity, interactive=interactive,
|
||||
failfast=failfast)
|
||||
if hasattr(TestRunner, 'func_name'):
|
||||
# Pre 1.2 test runners were just functions,
|
||||
# and did not support the 'failfast' option.
|
||||
import warnings
|
||||
warnings.warn(
|
||||
'Function-based test runners are deprecated. Test runners should be classes with a run_tests() method.',
|
||||
PendingDeprecationWarning
|
||||
)
|
||||
failures = TestRunner(test_labels, verbosity=verbosity, interactive=interactive)
|
||||
else:
|
||||
failures = test_runner(test_labels, verbosity=verbosity, interactive=interactive)
|
||||
test_runner = TestRunner(verbosity=verbosity, interactive=interactive, failfast=failfast)
|
||||
failures = test_runner.run_tests(test_labels)
|
||||
|
||||
if failures:
|
||||
sys.exit(bool(failures))
|
||||
|
||||
Reference in New Issue
Block a user