[lit] Add a --show-tests option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187850 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2013-08-07 03:11:42 +00:00
parent cd594283f7
commit 3915c080cc

View File

@ -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)