Option to skip ways when running the testsuite
authorIan Lynagh <igloo@earth.li>
Tue, 6 Feb 2007 01:22:12 +0000 (01:22 +0000)
committerIan Lynagh <igloo@earth.li>
Tue, 6 Feb 2007 01:22:12 +0000 (01:22 +0000)
testsuite/driver/runtests.py
testsuite/driver/testutil.py
testsuite/mk/test.mk

index daacd59..db793a8 100644 (file)
@@ -26,6 +26,7 @@ long_options = [
   "output-summary=",   # file in which to save the (human-readable) summary
   "only=",             # just this test (can be give multiple --only= flags)
   "way=",              # just this way
+  "skipway=",          # skip this way
   "threads=",           # threads to run simultaneously
   ]
 
@@ -57,6 +58,15 @@ for opt,arg in opts:
         config.run_ways = filter(eq(arg), config.run_ways + config.other_ways)
         config.compile_ways = filter(eq(arg), config.compile_ways + config.other_ways)
 
+    if opt == '--skipway':
+        if (arg not in config.run_ways and arg not in config.compile_ways and arg not in config.other_ways):
+            sys.stderr.write("ERROR: requested way \'" +
+                             arg + "\' does not exist\n")
+            sys.exit(1)
+        config.other_ways = filter(neq(arg), config.other_ways)
+        config.run_ways = filter(neq(arg), config.run_ways)
+        config.compile_ways = filter(neq(arg), config.compile_ways)
+
     if opt == '--threads':
         config.threads = int(arg)
 
index a8f993c..938ded8 100644 (file)
@@ -4,6 +4,9 @@
 def eq(x):
     return lambda y,z=x: y == z
 
+def neq(x):
+    return lambda y,z=x: y != z
+
 def append(x,y):
     return x + y
 
index d405ec1..dbb1933 100644 (file)
@@ -140,6 +140,7 @@ test: timeout
                $(patsubst %, --only=%, $(TEST)) \
                $(patsubst %, --only=%, $(TESTS)) \
                $(patsubst %, --way=%, $(WAY)) \
+               $(patsubst %, --skipway=%, $(SKIPWAY)) \
                $(setfast) \
                $(setaccept)