diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-12-05 22:54:26 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-12-05 22:54:26 +0000 |
commit | 00fb9c429e4400f3daeb87e6fad9498d4c73862a (patch) | |
tree | 1e5aa0caa7806c412f54dbbf4e156f102c091cfd /utils/lit | |
parent | c4c14a7b4a14c30b4fc7b130eb003ea7e4449e41 (diff) | |
download | external_llvm-00fb9c429e4400f3daeb87e6fad9498d4c73862a.zip external_llvm-00fb9c429e4400f3daeb87e6fad9498d4c73862a.tar.gz external_llvm-00fb9c429e4400f3daeb87e6fad9498d4c73862a.tar.bz2 |
PR10867. lit would interpret
RUN: a
RUN: b || true
as "a && (b || true)" in Tcl mode, and as "(a && b) || true" in sh mode.
Everyone seems to (quite reasonably) write tests assuming the Tcl behavior,
so use that in sh mode too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169441 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/lit')
-rw-r--r-- | utils/lit/lit/TestRunner.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py index e339652..fa4880a 100644 --- a/utils/lit/lit/TestRunner.py +++ b/utils/lit/lit/TestRunner.py @@ -241,11 +241,16 @@ def executeShCmd(cmd, cfg, cwd, results): return exitCode def executeScriptInternal(test, litConfig, tmpBase, commands, cwd): - ln = ' &&\n'.join(commands) - try: - cmd = ShUtil.ShParser(ln, litConfig.isWindows).parse() - except: - return (Test.FAIL, "shell parser error on: %r" % ln) + cmds = [] + for ln in commands: + try: + cmds.append(ShUtil.ShParser(ln, litConfig.isWindows).parse()) + except: + return (Test.FAIL, "shell parser error on: %r" % ln) + + cmd = cmds[0] + for c in cmds[1:]: + cmd = ShUtil.Seq(cmd, '&&', c) results = [] try: |