| # 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 4{{.*}} true | |
| # CHECK-NEXT: RUN: at line 5{{.*}} false | |
| # CHECK-NEXT: RUN: at line 6{{.*}} true | |
| # CHECK: RUN: at line 4 | |
| # CHECK: RUN: at line 5 | |
| # CHECK-NOT: RUN | |
| # CHECK-LABEL: FAIL: shtest-run-at-line :: external-shell/line-continuation.txt | |
| # CHECK: Script: | |
| # CHECK: RUN: at line 4{{.*}} echo 'foo bar' | FileCheck | |
| # CHECK-NEXT: RUN: at line 6{{.*}} echo 'foo baz' | FileCheck | |
| # CHECK-NEXT: RUN: at line 9{{.*}} echo 'foo bar' | FileCheck | |
| # CHECK: RUN: at line 4 | |
| # CHECK: RUN: at line 6 | |
| # 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 |