aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-05-09 11:31:59 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-05-09 11:31:59 -0700
commit15d5d02a28b4d6bd66a8f621297965a36c16d879 (patch)
tree6bb81adf1e929a9b590e805e6266f987b9699935
parent7433a9e52aa981aeaa85a0783a64a54ad3fd8baf (diff)
parentf3dc904275d41e6853fa68815e9ead227cc64686 (diff)
Merge pull request #1158 from juj/ignore_tests_by_wildcard
Add support for skipping all modes of a single test...
-rwxr-xr-xtests/runner.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/runner.py b/tests/runner.py
index b84d7f5f..d9780696 100755
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -447,6 +447,8 @@ process(sys.argv[1])
sys.argv = map(lambda arg: arg if not arg.startswith('test_') else 'default.' + arg, sys.argv)
+test_modes = ['default', 'o1', 'o2', 'asm1', 'asm2', 'asm2g', 'asm2x86', 's_0_0', 's_0_1', 's_1_0', 's_1_1']
+
test_index = 0
if 'benchmark' not in str(sys.argv) and 'sanity' not in str(sys.argv) and 'browser' not in str(sys.argv):
@@ -454,10 +456,10 @@ if 'benchmark' not in str(sys.argv) and 'sanity' not in str(sys.argv) and 'brows
print "Running Emscripten tests..."
- if len(sys.argv) == 2 and 'ALL.' in sys.argv[1]:
+ if len(sys.argv) == 2 and sys.argv[1].startswith('ALL.'):
ignore, test = sys.argv[1].split('.')
print 'Running all test modes on test "%s"' % test
- sys.argv = [sys.argv[0], 'default.'+test, 'o1.'+test, 'o2.'+test, 'asm1.'+test, 'asm2.'+test, 'asm2g.'+test, 'asm2x86.'+test, 's_0_0.'+test, 's_0_1.'+test, 's_1_0.'+test, 's_1_1.'+test]
+ sys.argv = [sys.argv[0]] + map(lambda mode: mode+'.'+test, test_modes)
class T(RunnerCore): # Short name, to make it more fun to use manually on the commandline
## Does a complete test - builds, runs, checks output, etc.
@@ -13457,8 +13459,17 @@ if __name__ == '__main__':
arg = sys.argv[i]
if arg.startswith('skip:'):
which = arg.split('skip:')[1]
- print >> sys.stderr, 'will skip "%s"' % which
- exec(which + ' = RunnerCore.skipme')
+ if which.startswith('ALL.'):
+ ignore, test = which.split('.')
+ which = map(lambda mode: mode+'.'+test, test_modes)
+ else:
+ which = [which]
+
+ print >> sys.stderr, ','.join(which)
+ for test in which:
+ print >> sys.stderr, 'will skip "%s"' % test
+ exec(test + ' = RunnerCore.skipme')
+
sys.argv[i] = ''
sys.argv = filter(lambda arg: arg, sys.argv)