From 1ca666886f48401e603404e8c932028edcab05a8 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Wed, 25 Apr 2018 17:30:00 +0000 Subject: [PATCH] Revert r330755 "[lit] Report line number for failed RUN command" It is causing many tests to fail on Windows buildbots: http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/10211 llvm-svn: 330848 --- llvm/docs/CommandGuide/lit.rst | 2 - llvm/utils/lit/lit/TestRunner.py | 31 +++------ .../shtest-run-at-line/external-shell/basic.txt | 3 - .../external-shell/line-continuation.txt | 11 ---- .../external-shell/lit.local.cfg | 2 - .../shtest-run-at-line/internal-shell/basic.txt | 3 - .../internal-shell/line-continuation.txt | 11 ---- .../internal-shell/lit.local.cfg | 2 - .../lit/tests/Inputs/shtest-run-at-line/lit.cfg | 3 - .../lit/tests/Inputs/shtest-shell/colon-error.txt | 3 - llvm/utils/lit/tests/max-failures.py | 2 +- llvm/utils/lit/tests/shtest-format.py | 1 - llvm/utils/lit/tests/shtest-output-printing.py | 5 +- llvm/utils/lit/tests/shtest-run-at-line.py | 74 ---------------------- llvm/utils/lit/tests/shtest-shell.py | 12 +--- llvm/utils/lit/tests/unit/TestRunner.py | 6 +- 16 files changed, 16 insertions(+), 155 deletions(-) delete mode 100644 llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/basic.txt delete mode 100644 llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/line-continuation.txt delete mode 100644 llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg delete mode 100644 llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/basic.txt delete mode 100644 llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/line-continuation.txt delete mode 100644 llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/lit.local.cfg delete mode 100644 llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg delete mode 100644 llvm/utils/lit/tests/Inputs/shtest-shell/colon-error.txt delete mode 100644 llvm/utils/lit/tests/shtest-run-at-line.py diff --git a/llvm/docs/CommandGuide/lit.rst b/llvm/docs/CommandGuide/lit.rst index 1133769..fbe1a9a 100644 --- a/llvm/docs/CommandGuide/lit.rst +++ b/llvm/docs/CommandGuide/lit.rst @@ -85,8 +85,6 @@ OUTPUT OPTIONS Echo all commands to stdout, as they are being executed. This can be valuable for debugging test failures, as the last echoed command will be the one which has failed. - To help you find the source RUN line, :program:`lit` inserts a no-op ``:`` - command with argument ``'RUN: at line N'`` before each command pipeline. This option implies ``--verbose``. .. option:: -a, --show-all diff --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py index 07cda7f..a6f9276 100644 --- a/llvm/utils/lit/lit/TestRunner.py +++ b/llvm/utils/lit/lit/TestRunner.py @@ -789,13 +789,6 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper): results.append(cmdResult) return cmdResult.exitCode - if cmd.commands[0].args[0] == ':': - if len(cmd.commands) != 1: - raise InternalShellError(cmd.commands[0], "Unsupported: ':' " - "cannot be part of a pipeline") - results.append(ShellCommandResult(cmd.commands[0], '', '', 0, False)) - return 0; - procs = [] default_stdin = subprocess.PIPE stderrTempFiles = [] @@ -1325,8 +1318,7 @@ class IntegratedTestKeywordParser(object): def parseLine(self, line_number, line): try: self.parsed_lines += [(line_number, line)] - self.value = self.parser(line_number, line, self.value, - self.keyword) + self.value = self.parser(line_number, line, self.value) except ValueError as e: raise ValueError(str(e) + ("\nin %s directive on test line %d" % (self.keyword, line_number))) @@ -1335,12 +1327,12 @@ class IntegratedTestKeywordParser(object): return self.value @staticmethod - def _handleTag(line_number, line, output, keyword): + def _handleTag(line_number, line, output): """A helper for parsing TAG type keywords""" return (not line.strip() or output) @staticmethod - def _handleCommand(line_number, line, output, keyword): + def _handleCommand(line_number, line, output): """A helper for parsing COMMAND type keywords""" # Trim trailing whitespace. line = line.rstrip() @@ -1359,15 +1351,11 @@ class IntegratedTestKeywordParser(object): else: if output is None: output = [] - line = ": '{keyword} at line {line}'; {real_command}".format( - keyword=keyword, - line=line_number, - real_command=line) output.append(line) return output @staticmethod - def _handleList(line_number, line, output, keyword): + def _handleList(line_number, line, output): """A parser for LIST type keywords""" if output is None: output = [] @@ -1375,7 +1363,7 @@ class IntegratedTestKeywordParser(object): return output @staticmethod - def _handleBooleanExpr(line_number, line, output, keyword): + def _handleBooleanExpr(line_number, line, output): """A parser for BOOLEAN_EXPR type keywords""" if output is None: output = [] @@ -1388,18 +1376,17 @@ class IntegratedTestKeywordParser(object): return output @staticmethod - def _handleRequiresAny(line_number, line, output, keyword): + def _handleRequiresAny(line_number, line, output): """A custom parser to transform REQUIRES-ANY: into REQUIRES:""" # Extract the conditions specified in REQUIRES-ANY: as written. conditions = [] - IntegratedTestKeywordParser._handleList(line_number, line, conditions, - keyword) + IntegratedTestKeywordParser._handleList(line_number, line, conditions) # Output a `REQUIRES: a || b || c` expression in its place. expression = ' || '.join(conditions) - IntegratedTestKeywordParser._handleBooleanExpr(line_number, expression, - output, keyword) + IntegratedTestKeywordParser._handleBooleanExpr(line_number, + expression, output) return output def parseIntegratedTestScript(test, additional_parsers=[], diff --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/basic.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/basic.txt deleted file mode 100644 index ba26954..0000000 --- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/basic.txt +++ /dev/null @@ -1,3 +0,0 @@ -# RUN: true -# RUN: false -# RUN: true diff --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/line-continuation.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/line-continuation.txt deleted file mode 100644 index 1e00bcb..0000000 --- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/line-continuation.txt +++ /dev/null @@ -1,11 +0,0 @@ -# RUN: : first line continued \ -# RUN: to second line -# RUN: echo 'foo bar' \ -# RUN: | FileCheck %s -# RUN: echo \ -# RUN: 'foo baz' \ -# RUN: | FileCheck %s -# RUN: echo 'foo bar' \ -# RUN: | FileCheck %s - -# CHECK: foo bar diff --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg deleted file mode 100644 index 5e87c72..0000000 --- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg +++ /dev/null @@ -1,2 +0,0 @@ -import lit.formats -config.test_format = lit.formats.ShTest(execute_external=True) diff --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/basic.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/basic.txt deleted file mode 100644 index ba26954..0000000 --- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/basic.txt +++ /dev/null @@ -1,3 +0,0 @@ -# RUN: true -# RUN: false -# RUN: true diff --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/line-continuation.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/line-continuation.txt deleted file mode 100644 index 1e00bcb..0000000 --- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/line-continuation.txt +++ /dev/null @@ -1,11 +0,0 @@ -# RUN: : first line continued \ -# RUN: to second line -# RUN: echo 'foo bar' \ -# RUN: | FileCheck %s -# RUN: echo \ -# RUN: 'foo baz' \ -# RUN: | FileCheck %s -# RUN: echo 'foo bar' \ -# RUN: | FileCheck %s - -# CHECK: foo bar diff --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/lit.local.cfg b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/lit.local.cfg deleted file mode 100644 index b76b7a2..0000000 --- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/lit.local.cfg +++ /dev/null @@ -1,2 +0,0 @@ -import lit.formats -config.test_format = lit.formats.ShTest(execute_external=False) diff --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg deleted file mode 100644 index b14c52a..0000000 --- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg +++ /dev/null @@ -1,3 +0,0 @@ -import lit.formats -config.name = 'shtest-run-at-line' -config.suffixes = ['.txt'] diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/colon-error.txt b/llvm/utils/lit/tests/Inputs/shtest-shell/colon-error.txt deleted file mode 100644 index 8b84c08..0000000 --- a/llvm/utils/lit/tests/Inputs/shtest-shell/colon-error.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Check error on an unsupported ":". (cannot be part of a pipeline) -# -# RUN: : | echo "hello" diff --git a/llvm/utils/lit/tests/max-failures.py b/llvm/utils/lit/tests/max-failures.py index ca107bc..1613eee 100644 --- a/llvm/utils/lit/tests/max-failures.py +++ b/llvm/utils/lit/tests/max-failures.py @@ -8,7 +8,7 @@ # # END. -# CHECK: Failing Tests (27) +# CHECK: Failing Tests (26) # CHECK: Failing Tests (1) # CHECK: Failing Tests (2) # CHECK: error: Setting --max-failures to 0 does not have any effect. diff --git a/llvm/utils/lit/tests/shtest-format.py b/llvm/utils/lit/tests/shtest-format.py index 33ed2fe..94d74e3 100644 --- a/llvm/utils/lit/tests/shtest-format.py +++ b/llvm/utils/lit/tests/shtest-format.py @@ -39,7 +39,6 @@ # # CHECK: Command Output (stdout): # CHECK-NEXT: -- -# CHECK-NEXT: $ ":" "RUN: at line 1" # CHECK-NEXT: $ "printf" # CHECK-NEXT: # command output: # CHECK-NEXT: line 1: failed test output on stdout diff --git a/llvm/utils/lit/tests/shtest-output-printing.py b/llvm/utils/lit/tests/shtest-output-printing.py index 2344ef2..2a85cf9 100644 --- a/llvm/utils/lit/tests/shtest-output-printing.py +++ b/llvm/utils/lit/tests/shtest-output-printing.py @@ -16,15 +16,12 @@ # # CHECK: Command Output # CHECK-NEXT: -- -# CHECK-NEXT: $ ":" "RUN: at line 1" # CHECK-NEXT: $ "true" -# CHECK-NEXT: $ ":" "RUN: at line 2" # CHECK-NEXT: $ "echo" "hi" # CHECK-NEXT: # command output: # CHECK-NEXT: hi # -# CHECK: $ ":" "RUN: at line 3" -# CHECK-NEXT: $ "wc" "missing-file" +# CHECK: $ "wc" "missing-file" # CHECK-NEXT: # redirected output from '{{.*(/|\\\\)}}basic.txt.tmp.out': # CHECK-NEXT: missing-file{{.*}} No such file or directory # CHECK: note: command had no output on stdout or stderr diff --git a/llvm/utils/lit/tests/shtest-run-at-line.py b/llvm/utils/lit/tests/shtest-run-at-line.py deleted file mode 100644 index 03a516e..0000000 --- a/llvm/utils/lit/tests/shtest-run-at-line.py +++ /dev/null @@ -1,74 +0,0 @@ -# Check that -vv makes the line number of the failing RUN command clear. -# (-v is actually sufficient in the case of the internal shell.) -# -# RUN: not %{lit} -j 1 -vv %{inputs}/shtest-run-at-line > %t.out -# RUN: FileCheck --input-file %t.out %s -# -# END. - - -# CHECK: Testing: 4 tests - - -# In the case of the external shell, we check for only RUN lines in stderr in -# case some shell implementations format "set -x" output differently. - -# CHECK-LABEL: FAIL: shtest-run-at-line :: external-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: Command Output (stderr) -# CHECK: RUN: at line 1 -# CHECK: RUN: at line 2 -# CHECK-NOT: RUN - -# CHECK-LABEL: FAIL: shtest-run-at-line :: external-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: Command Output (stderr) -# CHECK: RUN: at line 1 -# CHECK: RUN: at line 3 -# CHECK: RUN: at line 5 -# CHECK-NOT: RUN - - -# 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: Command Output (stdout) -# CHECK: $ ":" "RUN: at line 1" -# CHECK-NEXT: $ "true" -# CHECK-NEXT: $ ":" "RUN: at line 2" -# CHECK-NEXT: $ "false" -# CHECK-NOT: RUN - -# 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: Command Output (stdout) -# CHECK: $ ":" "RUN: at line 1" -# CHECK-NEXT: $ ":" "first" "line" "continued" "to" "second" "line" -# CHECK-NEXT: $ ":" "RUN: at line 3" -# CHECK-NEXT: $ "echo" "foo bar" -# CHECK-NEXT: $ "FileCheck" "{{.*}}" -# CHECK-NEXT: $ ":" "RUN: at line 5" -# CHECK-NEXT: $ "echo" "foo baz" -# CHECK-NEXT: $ "FileCheck" "{{.*}}" -# CHECK-NOT: RUN diff --git a/llvm/utils/lit/tests/shtest-shell.py b/llvm/utils/lit/tests/shtest-shell.py index ed0bdf35..b3d55a0 100644 --- a/llvm/utils/lit/tests/shtest-shell.py +++ b/llvm/utils/lit/tests/shtest-shell.py @@ -26,14 +26,6 @@ # CHECK: error: command failed with exit status: 1 # CHECK: *** -# CHECK: FAIL: shtest-shell :: colon-error.txt -# CHECK: *** TEST 'shtest-shell :: colon-error.txt' FAILED *** -# CHECK: $ ":" -# CHECK: # command stderr: -# CHECK: Unsupported: ':' cannot be part of a pipeline -# CHECK: error: command failed with exit status: 127 -# CHECK: *** - # CHECK: FAIL: shtest-shell :: diff-error-0.txt # CHECK: *** TEST 'shtest-shell :: diff-error-0.txt' FAILED *** # CHECK: $ "diff" "diff-error-0.txt" "diff-error-0.txt" @@ -161,7 +153,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: 'echo "missing quote' # CHECK: *** # CHECK: FAIL: shtest-shell :: error-2.txt @@ -227,4 +219,4 @@ # CHECK: PASS: shtest-shell :: sequencing-0.txt # CHECK: XFAIL: shtest-shell :: sequencing-1.txt # CHECK: PASS: shtest-shell :: valid-shell.txt -# CHECK: Failing Tests (27) +# CHECK: Failing Tests (26) diff --git a/llvm/utils/lit/tests/unit/TestRunner.py b/llvm/utils/lit/tests/unit/TestRunner.py index b3988b0..874bf27 100644 --- a/llvm/utils/lit/tests/unit/TestRunner.py +++ b/llvm/utils/lit/tests/unit/TestRunner.py @@ -47,7 +47,7 @@ class TestIntegratedTestKeywordParser(unittest.TestCase): @staticmethod def make_parsers(): - def custom_parse(line_number, line, output, keyword): + def custom_parse(line_number, line, output): if output is None: output = [] output += [part for part in line.split(' ') if part.strip()] @@ -99,8 +99,8 @@ class TestIntegratedTestKeywordParser(unittest.TestCase): 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(), ": 'MY_RUN: at line 4'; baz") - self.assertEqual(value[1].strip(), ": 'MY_RUN: at line 7'; foo bar") + self.assertEqual(value[0].strip(), 'baz') + self.assertEqual(value[1].strip(), 'foo bar') def test_custom(self): parsers = self.make_parsers() -- 2.7.4