lit: Warn when a test suite contains no tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86448 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/lit/lit.py b/utils/lit/lit.py
index 462f912..d4820d0 100755
--- a/utils/lit/lit.py
+++ b/utils/lit/lit.py
@@ -236,8 +236,8 @@
litConfig.note('resolved input %r to %r::%r' % (path, ts.name,
path_in_suite))
- return getTestsInSuite(ts, path_in_suite, litConfig,
- testSuiteCache, localConfigCache)
+ return ts, getTestsInSuite(ts, path_in_suite, litConfig,
+ testSuiteCache, localConfigCache)
def getTestsInSuite(ts, path_in_suite, litConfig,
testSuiteCache, localConfigCache):
@@ -277,19 +277,24 @@
# site configuration and then in the source path.
file_execpath = ts.getExecPath(path_in_suite + (filename,))
if dirContainsTestSuite(file_execpath):
- subiter = getTests(file_execpath, litConfig,
- testSuiteCache, localConfigCache)
+ sub_ts, subiter = getTests(file_execpath, litConfig,
+ testSuiteCache, localConfigCache)
elif dirContainsTestSuite(file_sourcepath):
- subiter = getTests(file_sourcepath, litConfig,
- testSuiteCache, localConfigCache)
+ sub_ts, subiter = getTests(file_sourcepath, litConfig,
+ testSuiteCache, localConfigCache)
else:
# Otherwise, continue loading from inside this test suite.
subiter = getTestsInSuite(ts, path_in_suite + (filename,),
litConfig, testSuiteCache,
localConfigCache)
+ sub_ts = None
+ N = 0
for res in subiter:
+ N += 1
yield res
+ if sub_ts and not N:
+ litConfig.warning('test suite %r contained no tests' % sub_ts.name)
def runTests(numThreads, litConfig, provider, display):
# If only using one testing thread, don't use threads at all; this lets us
@@ -428,7 +433,7 @@
for input in inputs:
prev = len(tests)
tests.extend(getTests(input, litConfig,
- testSuiteCache, localConfigCache))
+ testSuiteCache, localConfigCache)[1])
if prev == len(tests):
litConfig.warning('input %r contained no tests' % input)