From 0b8e99a6c7ecf5b35c61ce4eed1b2eec3110d41d Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Sun, 6 Dec 2020 11:35:41 +0100 Subject: [PATCH 1/2] Add ability to run tests with verbosity and failfast options --- runtests.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/runtests.py b/runtests.py index 5da5428c..944c2426 100644 --- a/runtests.py +++ b/runtests.py @@ -1,3 +1,4 @@ +import argparse import os import sys @@ -14,13 +15,28 @@ from django.test.utils import get_runner -def runtests(): +def runtests(verbosity=1, failfast=False): django.setup() TestRunner = get_runner(settings) - test_runner = TestRunner(verbosity=1, interactive=True) + test_runner = TestRunner(interactive=True, verbosity=verbosity, failfast=failfast) failures = test_runner.run_tests(["tinymce"]) sys.exit(bool(failures)) if __name__ == "__main__": - runtests() + parser = argparse.ArgumentParser(description="Run the django-tinymce test suite.") + parser.add_argument( + "-v", + "--verbosity", + default=1, + type=int, + choices=[0, 1, 2, 3], + help="Verbosity level; 0=minimal output, 1=normal output, 2=all output", + ) + parser.add_argument( + "--failfast", + action="store_true", + help="Stop running the test suite after first failed test.", + ) + options = parser.parse_args() + runtests(verbosity=options.verbosity, failfast=options.failfast) From 896f402c79dd3bbe7d5cbc6e59787398a96b3747 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Sun, 6 Dec 2020 11:41:20 +0100 Subject: [PATCH 2/2] Add ability to run subset of tests --- runtests.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/runtests.py b/runtests.py index 944c2426..735acf2e 100644 --- a/runtests.py +++ b/runtests.py @@ -15,16 +15,23 @@ from django.test.utils import get_runner -def runtests(verbosity=1, failfast=False): +def runtests(modules=["tinymce"], verbosity=1, failfast=False): django.setup() TestRunner = get_runner(settings) test_runner = TestRunner(interactive=True, verbosity=verbosity, failfast=failfast) - failures = test_runner.run_tests(["tinymce"]) + failures = test_runner.run_tests(modules) sys.exit(bool(failures)) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Run the django-tinymce test suite.") + parser.add_argument( + "modules", + nargs="*", + metavar="module", + help='Optional path(s) to test modules; e.g. "tinymce" or ' + '"tinymce.tests.test_widgets".', + ) parser.add_argument( "-v", "--verbosity", @@ -39,4 +46,4 @@ def runtests(verbosity=1, failfast=False): help="Stop running the test suite after first failed test.", ) options = parser.parse_args() - runtests(verbosity=options.verbosity, failfast=options.failfast) + runtests(modules=options.modules, verbosity=options.verbosity, failfast=options.failfast)