[llvm] r333620 - [lit] Terminate ": RUN at line N" with ";" not "&&"

Joel E. Denny via llvm-commits llvm-commits at lists.llvm.org
Wed May 30 20:40:37 PDT 2018


Author: jdenny
Date: Wed May 30 20:40:37 2018
New Revision: 333620

URL: http://llvm.org/viewvc/llvm-project?rev=333620&view=rev
Log:
[lit] Terminate ": RUN at line N" with ";" not "&&"

This fixes projects/compiler-rt/test/fuzzer/sigusr.test, which was
broken by r333614.  The trouble was that "&&" changes the command for
which "$!" gives the pid.

Modified:
    llvm/trunk/utils/lit/lit/TestRunner.py
    llvm/trunk/utils/lit/tests/shtest-run-at-line.py
    llvm/trunk/utils/lit/tests/shtest-shell.py
    llvm/trunk/utils/lit/tests/unit/TestRunner.py

Modified: llvm/trunk/utils/lit/lit/TestRunner.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/TestRunner.py?rev=333620&r1=333619&r2=333620&view=diff
==============================================================================
--- llvm/trunk/utils/lit/lit/TestRunner.py (original)
+++ llvm/trunk/utils/lit/lit/TestRunner.py Wed May 30 20:40:37 2018
@@ -1001,7 +1001,7 @@ def _executeShCmd(cmd, shenv, results, t
 def executeScriptInternal(test, litConfig, tmpBase, commands, cwd):
     cmds = []
     for i, ln in enumerate(commands):
-        ln = commands[i] = re.sub(kPdbgRegex, ": '\\1'", ln)
+        ln = commands[i] = re.sub(kPdbgRegex, ": '\\1'; ", ln)
         try:
             cmds.append(ShUtil.ShParser(ln, litConfig.isWindows,
                                         test.config.pipefail).parse())
@@ -1086,7 +1086,7 @@ def executeScript(test, litConfig, tmpBa
     f = open(script, mode)
     if isWin32CMDEXE:
         for i, ln in enumerate(commands):
-            commands[i] = re.sub(kPdbgRegex, "echo '\\1' > nul", ln)
+            commands[i] = re.sub(kPdbgRegex, "echo '\\1' > nul && ", ln)
         if litConfig.echo_all_commands:
             f.write('@echo on\n')
         else:
@@ -1094,7 +1094,7 @@ def executeScript(test, litConfig, tmpBa
         f.write('\n at if %ERRORLEVEL% NEQ 0 EXIT\n'.join(commands))
     else:
         for i, ln in enumerate(commands):
-            commands[i] = re.sub(kPdbgRegex, ": '\\1'", ln)
+            commands[i] = re.sub(kPdbgRegex, ": '\\1'; ", ln)
         if test.config.pipefail:
             f.write('set -o pipefail;')
         if litConfig.echo_all_commands:
@@ -1384,7 +1384,7 @@ class IntegratedTestKeywordParser(object
                 line_number=line_number)
             assert re.match(kPdbgRegex + "$", pdbg), \
                    "kPdbgRegex expected to match actual %dbg usage"
-            line = "{pdbg} && {real_command}".format(
+            line = "{pdbg} {real_command}".format(
                 pdbg=pdbg,
                 real_command=line)
             output.append(line)

Modified: llvm/trunk/utils/lit/tests/shtest-run-at-line.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/shtest-run-at-line.py?rev=333620&r1=333619&r2=333620&view=diff
==============================================================================
--- llvm/trunk/utils/lit/tests/shtest-run-at-line.py (original)
+++ llvm/trunk/utils/lit/tests/shtest-run-at-line.py Wed May 30 20:40:37 2018
@@ -16,9 +16,9 @@
 # CHECK-LABEL: FAIL: shtest-run-at-line :: external-shell/basic.txt
 
 # CHECK:      Script:
-# CHECK:      [[pdbg0]]RUN: at line 4[[pdbg1]] &&  true
-# CHECK-NEXT: [[pdbg0]]RUN: at line 5[[pdbg1]] &&  false
-# CHECK-NEXT: [[pdbg0]]RUN: at line 6[[pdbg1]] &&  true
+# CHECK:      [[pdbg0]]RUN: at line 4[[pdbg1]];  true
+# CHECK-NEXT: [[pdbg0]]RUN: at line 5[[pdbg1]];  false
+# CHECK-NEXT: [[pdbg0]]RUN: at line 6[[pdbg1]];  true
 
 # CHECK:     RUN: at line 4
 # CHECK:     RUN: at line 5
@@ -27,9 +27,9 @@
 # CHECK-LABEL: FAIL: shtest-run-at-line :: external-shell/line-continuation.txt
 
 # CHECK:      Script:
-# CHECK:      [[pdbg0]]RUN: at line 4[[pdbg1]] &&  echo 'foo bar'  | FileCheck
-# CHECK-NEXT: [[pdbg0]]RUN: at line 6[[pdbg1]] &&  echo  'foo baz'  | FileCheck
-# CHECK-NEXT: [[pdbg0]]RUN: at line 9[[pdbg1]] &&  echo 'foo bar'  | FileCheck
+# CHECK:      [[pdbg0]]RUN: at line 4[[pdbg1]];  echo 'foo bar'  | FileCheck
+# CHECK-NEXT: [[pdbg0]]RUN: at line 6[[pdbg1]];  echo  'foo baz'  | FileCheck
+# CHECK-NEXT: [[pdbg0]]RUN: at line 9[[pdbg1]];  echo 'foo bar'  | FileCheck
 
 # CHECK:     RUN: at line 4
 # CHECK:     RUN: at line 6
@@ -39,9 +39,9 @@
 # CHECK-LABEL: FAIL: shtest-run-at-line :: internal-shell/basic.txt
 
 # CHECK:      Script:
-# CHECK:      : 'RUN: at line 1' &&  true
-# CHECK-NEXT: : 'RUN: at line 2' &&  false
-# CHECK-NEXT: : 'RUN: at line 3' &&  true
+# CHECK:      : 'RUN: at line 1';  true
+# CHECK-NEXT: : 'RUN: at line 2';  false
+# CHECK-NEXT: : 'RUN: at line 3';  true
 
 # CHECK:      Command Output (stdout)
 # CHECK:      $ ":" "RUN: at line 1"
@@ -53,10 +53,10 @@
 # CHECK-LABEL: FAIL: shtest-run-at-line :: internal-shell/line-continuation.txt
 
 # CHECK:      Script:
-# CHECK:      : 'RUN: at line 1' &&  : first line continued to second line
-# CHECK-NEXT: : 'RUN: at line 3' &&  echo 'foo bar'  | FileCheck
-# CHECK-NEXT: : 'RUN: at line 5' &&  echo  'foo baz'  | FileCheck
-# CHECK-NEXT: : 'RUN: at line 8' &&  echo 'foo bar'  | FileCheck
+# CHECK:      : 'RUN: at line 1';  : first line continued to second line
+# CHECK-NEXT: : 'RUN: at line 3';  echo 'foo bar'  | FileCheck
+# CHECK-NEXT: : 'RUN: at line 5';  echo  'foo baz'  | FileCheck
+# CHECK-NEXT: : 'RUN: at line 8';  echo 'foo bar'  | FileCheck
 
 # CHECK:      Command Output (stdout)
 # CHECK:      $ ":" "RUN: at line 1"

Modified: llvm/trunk/utils/lit/tests/shtest-shell.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/shtest-shell.py?rev=333620&r1=333619&r2=333620&view=diff
==============================================================================
--- llvm/trunk/utils/lit/tests/shtest-shell.py (original)
+++ llvm/trunk/utils/lit/tests/shtest-shell.py Wed May 30 20:40:37 2018
@@ -161,7 +161,7 @@
 #
 # CHECK: FAIL: shtest-shell :: error-1.txt
 # CHECK: *** TEST 'shtest-shell :: error-1.txt' FAILED ***
-# CHECK: shell parser error on: ': \'RUN: at line 3\' && echo "missing quote'
+# CHECK: shell parser error on: ': \'RUN: at line 3\'; echo "missing quote'
 # CHECK: ***
 
 # CHECK: FAIL: shtest-shell :: error-2.txt

Modified: llvm/trunk/utils/lit/tests/unit/TestRunner.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/unit/TestRunner.py?rev=333620&r1=333619&r2=333620&view=diff
==============================================================================
--- llvm/trunk/utils/lit/tests/unit/TestRunner.py (original)
+++ llvm/trunk/utils/lit/tests/unit/TestRunner.py Wed May 30 20:40:37 2018
@@ -99,8 +99,8 @@ class TestIntegratedTestKeywordParser(un
         cmd_parser = self.get_parser(parsers, 'MY_RUN:')
         value = cmd_parser.getValue()
         self.assertEqual(len(value), 2)  # there are only two run lines
-        self.assertEqual(value[0].strip(), "%dbg(MY_RUN: at line 4) &&  baz")
-        self.assertEqual(value[1].strip(), "%dbg(MY_RUN: at line 7) &&  foo  bar")
+        self.assertEqual(value[0].strip(), "%dbg(MY_RUN: at line 4)  baz")
+        self.assertEqual(value[1].strip(), "%dbg(MY_RUN: at line 7)  foo  bar")
 
     def test_custom(self):
         parsers = self.make_parsers()




More information about the llvm-commits mailing list