commit 347d2859073672e9c0354727901769245fb3b758 Author: Damian Johnson atagar@torproject.org Date: Thu Apr 11 08:35:31 2013 -0700
Moving test filter to helper function
Shifting support for the '--test' argument to the helper. Oh, and the integ helper was running the unit tests instead. ;) --- run_tests.py | 12 ++---------- test/runner.py | 30 ++++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 18 deletions(-)
diff --git a/run_tests.py b/run_tests.py index 096de69..3de1fbf 100755 --- a/run_tests.py +++ b/run_tests.py @@ -358,11 +358,7 @@ if __name__ == '__main__': test.output.print_divider("UNIT TESTS", True) error_tracker.set_category("UNIT TEST")
- for test_class in test.runner.get_unit_tests(): - if CONFIG["argument.test"] and \ - not test_class.__module__.startswith(CONFIG["argument.test"]): - continue - + for test_class in test.runner.get_unit_tests(CONFIG["argument.test"]): test.output.print_divider(test_class.__module__) suite = unittest.TestLoader().loadTestsFromTestCase(test_class) test_results = StringIO.StringIO() @@ -442,11 +438,7 @@ if __name__ == '__main__': test.output.print_line("Running tests...", term.Color.BLUE, term.Attr.BOLD) print
- for test_class in test.runner.get_integ_tests(): - if CONFIG["argument.test"] and \ - not test_class.__module__.startswith(CONFIG["argument.test"]): - continue - + for test_class in test.runner.get_integ_tests(CONFIG["argument.test"]): test.output.print_divider(test_class.__module__) suite = unittest.TestLoader().loadTestsFromTestCase(test_class) test_results = StringIO.StringIO() diff --git a/test/runner.py b/test/runner.py index 592d367..9e809fe 100644 --- a/test/runner.py +++ b/test/runner.py @@ -217,28 +217,42 @@ def exercise_controller(test_case, controller):
-def get_unit_tests(): +def get_unit_tests(prefix = None): """ Provides the classes for our unit tests.
+ :param str prefix: only provide the test if the module starts with this prefix + :returns: an **iterator** for our unit tests """
- for test_module in CONFIG["test.unit_tests"].splitlines(): - if test_module: - yield _import_test(test_module) + for line in CONFIG["test.unit_tests"].splitlines(): + if line: + test_class = _import_test(line) + + if prefix and not test_class.__module__.startswith(prefix): + continue + + yield test_class
-def get_integ_tests(): +def get_integ_tests(prefix = None): """ Provides the classes for our integration tests.
+ :param str prefix: only provide the test if the module starts with this prefix + :returns: an **iterator** for our integration tests """
- for test_module in CONFIG["test.unit_tests"].splitlines(): - if test_module: - yield _import_test(test_module) + for line in CONFIG["test.integ_tests"].splitlines(): + if line: + test_class = _import_test(line) + + if prefix and not test_class.__module__.startswith(prefix): + continue + + yield test_class
def _import_test(import_name):