Testsuite: speedup running a single test
authorThomas Miedema <thomasmiedema@gmail.com>
Sat, 15 Aug 2015 19:10:32 +0000 (21:10 +0200)
committerThomas Miedema <thomasmiedema@gmail.com>
Sat, 15 Aug 2015 19:14:34 +0000 (21:14 +0200)
Benchmark: in rootdirectory, run `time make test TEST=dummy VERBOSE=0`
Before this commit: 2.6s
After this commit: 0.7s

testsuite/driver/testlib.py

index 4e419f4..3311f00 100644 (file)
@@ -591,6 +591,9 @@ 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
+
     global aloneTests
     global parallelTests
     global allTestNames
@@ -663,7 +666,6 @@ def test_common_work (name, opts, func, args):
 
         ok_way = lambda way: \
             not getTestOpts().skip \
-            and (config.only == [] or name in config.only) \
             and (getTestOpts().only_ways == None or way in getTestOpts().only_ways) \
             and (config.cmdline_ways == [] or way in config.cmdline_ways) \
             and (not (config.skip_perf_tests and isStatsTest())) \