summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit/tests/shtest-run-at-line.py
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/lit/tests/shtest-run-at-line.py')
-rw-r--r--llvm/utils/lit/tests/shtest-run-at-line.py74
1 files changed, 74 insertions, 0 deletions
diff --git a/llvm/utils/lit/tests/shtest-run-at-line.py b/llvm/utils/lit/tests/shtest-run-at-line.py
new file mode 100644
index 00000000000..03a516eed85
--- /dev/null
+++ b/llvm/utils/lit/tests/shtest-run-at-line.py
@@ -0,0 +1,74 @@
+# 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
OpenPOWER on IntegriCloud