From c9dfec679c9f58d3d6b7abdf4d01729dc4772118 Mon Sep 17 00:00:00 2001 From: medmunds Date: Tue, 31 May 2016 12:19:04 -0700 Subject: [PATCH] Fix running tests from setup.py test_suite --- runtests.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/runtests.py b/runtests.py index 5c5072b..582cf57 100755 --- a/runtests.py +++ b/runtests.py @@ -13,10 +13,12 @@ from django.conf import settings from django.test.utils import get_runner -def runtests(test_labels=None): +def setup_and_run_tests(test_labels=None): """Discover and run project tests. Returns number of failures.""" test_labels = test_labels or ['tests'] + warnings.simplefilter('default') # show DeprecationWarning and other default-ignored warnings + # noinspection PyStringFormat os.environ['DJANGO_SETTINGS_MODULE'] = \ 'tests.test_settings.settings_%d_%d' % django.VERSION[:2] @@ -27,7 +29,12 @@ def runtests(test_labels=None): return test_runner.run_tests(test_labels) -if __name__ == '__main__': - warnings.simplefilter('default') # show DeprecationWarning and other default-ignored warnings - failures = runtests(test_labels=sys.argv[1:]) +def runtests(test_labels=None): + """Run project tests and exit""" + # Used as setup test_suite: must either exit or return a TestSuite + failures = setup_and_run_tests(test_labels) sys.exit(bool(failures)) + + +if __name__ == '__main__': + runtests(test_labels=sys.argv[1:])