diff options
author | Thomas Miedema <thomasmiedema@gmail.com> | 2015-10-28 12:28:59 +0100 |
---|---|---|
committer | Thomas Miedema <thomasmiedema@gmail.com> | 2015-10-29 09:23:10 +0100 |
commit | 032be43b66db29ca6893bd4219c0d6036201a94e (patch) | |
tree | 21ac0e13f7a8fd6a647b8ec3f8fe2eb7757e4291 /testsuite/driver/testlib.py | |
parent | 08f5c4e3590609c1a9603bd78b089dbb28cff9f8 (diff) | |
download | haskell-032be43b66db29ca6893bd4219c0d6036201a94e.tar.gz |
Testsuite: report and error out on unfound tests
Users are sometimes confused why their test doesn't run. It is usually
because of a misspelled testname, for example using 'TEST=1234' instead
of 'TEST=T1234'. After this patch it is hopefully more clear what the
problem is, showing:
ERROR: tests not found: ['1234']
Instead of:
0 total tests, which gave rise to
0 test cases, of which
0 were skipped
Reviewed by: austin, bgamari
Differential Revision: https://phabricator.haskell.org/D1388
Diffstat (limited to 'testsuite/driver/testlib.py')
-rw-r--r-- | testsuite/driver/testlib.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py index 3ca5d026f5..45e8d3e295 100644 --- a/testsuite/driver/testlib.py +++ b/testsuite/driver/testlib.py @@ -591,8 +591,16 @@ def runTest (opts, name, func, args): # name :: String # setup :: TestOpts -> IO () def test (name, setup, func, args): - if config.only and name not in config.only: - return + if config.run_only_some_tests: + if name not in config.only: + return + else: + # Note [Mutating config.only] + # config.only is initiallly the set of tests requested by + # the user (via 'make TEST='). We then remove all tests that + # we've already seen (in .T files), so that we can later + # report on any tests we couldn't find and error out. + config.only.remove(name) global aloneTests global parallelTests |