mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
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
This commit is contained in:
parent
c4c14a7b4a
commit
00fb9c429e
9
test/tools/llvm-lit/chain.c
Normal file
9
test/tools/llvm-lit/chain.c
Normal file
@ -0,0 +1,9 @@
|
||||
// This test should fail. lit used to interpret this as:
|
||||
// (false && false) || true
|
||||
// instead of the intended
|
||||
// false && (false || true
|
||||
//
|
||||
// RUN: false
|
||||
// RUN: false || true
|
||||
//
|
||||
// XFAIL: *
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user