From 3915c080ccdd872893412c0a8eaa29f2cec05761 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Wed, 7 Aug 2013 03:11:42 +0000 Subject: [PATCH] [lit] Add a --show-tests option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187850 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/lit/lit/main.py | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/utils/lit/lit/main.py b/utils/lit/lit/main.py index c54ec3b5e61..0faa55ed397 100755 --- a/utils/lit/lit/main.py +++ b/utils/lit/lit/main.py @@ -242,6 +242,9 @@ def main(builtinParameters = {}): group.add_option("", "--show-suites", dest="showSuites", help="Show discovered test suites", action="store_true", default=False) + group.add_option("", "--show-tests", dest="showTests", + help="Show all discovered tests", + action="store_true", default=False) group.add_option("", "--repeat", dest="repeatTests", metavar="N", help="Repeat tests N times (for timing)", action="store", default=None, type=int) @@ -288,21 +291,32 @@ def main(builtinParameters = {}): tests = lit.discovery.find_tests_for_inputs(litConfig, inputs) - if opts.showSuites: + if opts.showSuites or opts.showTests: + # Aggregate the tests by suite. suitesAndTests = {} for t in tests: if t.suite not in suitesAndTests: suitesAndTests[t.suite] = [] suitesAndTests[t.suite].append(t) - - print '-- Test Suites --' suitesAndTests = suitesAndTests.items() suitesAndTests.sort(key = lambda (ts,_): ts.name) - for ts,ts_tests in suitesAndTests: - print ' %s - %d tests' %(ts.name, len(ts_tests)) - print ' Source Root: %s' % ts.source_root - print ' Exec Root : %s' % ts.exec_root + # Show the suites, if requested. + if opts.showSuites: + print '-- Test Suites --' + for ts,ts_tests in suitesAndTests: + print ' %s - %d tests' %(ts.name, len(ts_tests)) + print ' Source Root: %s' % ts.source_root + print ' Exec Root : %s' % ts.exec_root + + # Show the tests, if requested. + if opts.showTests: + print '-- Available Tests --' + for ts,ts_tests in suitesAndTests: + ts_tests.sort(key = lambda test: test.path_in_suite) + for test in ts_tests: + print ' %s' % (test.getFullName(),) + # Select and order the tests. numTotalTests = len(tests)