commit 3263d5bd94e79f68c91c4ff27244878c5483d032 Author: Damian Johnson atagar@torproject.org Date: Tue Mar 3 09:23:13 2015 -0800
Didn't account for test modules citing the class
Oops! Didn't catch that the test modules include the class. For example...
test.unit.util.conf.TestConf.test_parse_enum_csv
civ's original patch did, though he surfaced it in our output which caused our test names to be a lot longer. Changing us back so we hide it. --- run_tests.py | 18 ++++++++++++------ test/util.py | 8 +++++--- 2 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/run_tests.py b/run_tests.py index 3af6d31..8e2b8f2 100755 --- a/run_tests.py +++ b/run_tests.py @@ -445,12 +445,18 @@ def _run_test(args, test_class, output_filters, logging_buffer): if args.verbose: test.output.print_divider(test_class) else: - label = test_class - - if label.startswith('test.unit.'): - label = label[10:] - elif label.startswith('test.integ.'): - label = label[11:] + # Test classes look like... + # + # test.unit.util.conf.TestConf.test_parse_enum_csv + # + # We want to strip the 'test.unit.' or 'test.integ.' prefix since it's + # redundant. We also want to drop the test class name. The individual test + # name at the end it optional (only present if we used the '--test' + # argument). + + label_comp = test_class.split('.')[2:] + del label_comp[-1 if label_comp[-1][0].isupper() else -2] + label = '.'.join(label_comp)
label = ' %s...' % label label = '%-54s' % label diff --git a/test/util.py b/test/util.py index 35909e5..eb8b5eb 100644 --- a/test/util.py +++ b/test/util.py @@ -110,16 +110,18 @@ def get_integ_tests(module_prefix = None): def _get_tests(modules, module_prefix): for import_name in modules: if import_name: - if not module_prefix or import_name.startswith(module_prefix): + module, module_name = import_name.rsplit('.', 1) # example: util.conf.TestConf + + if not module_prefix or module.startswith(module_prefix): yield import_name - elif module_prefix.startswith(import_name): + elif module_prefix.startswith(module): # might be a single test in this module, check if we match any
module, test = module_prefix.rsplit('.', 1)
# TODO: should check if the test exists
- yield module_prefix + yield '%s.%s' % (import_name, test)
def get_help_message():
tor-commits@lists.torproject.org