diff options
author | Joel E. Denny <jdenny.ornl@gmail.com> | 2019-09-16 21:22:29 +0000 |
---|---|---|
committer | Joel E. Denny <jdenny.ornl@gmail.com> | 2019-09-16 21:22:29 +0000 |
commit | 2152ae985c28ff10e6f4d4b674ae9b144ecb04c0 (patch) | |
tree | 3fcdd09272327c69b44f23af971e627540fc57a9 /llvm/utils/lit/tests/Inputs | |
parent | c1c519d2f1a66dd2eeaa4c321d8d7b50f623eb71 (diff) | |
download | bcm5719-llvm-2152ae985c28ff10e6f4d4b674ae9b144ecb04c0.tar.gz bcm5719-llvm-2152ae985c28ff10e6f4d4b674ae9b144ecb04c0.zip |
[lit] Make internal diff work in pipelines
When using lit's internal shell, RUN lines like the following
accidentally execute an external `diff` instead of lit's internal
`diff`:
```
# RUN: program | diff file -
# RUN: not diff file1 file2 | FileCheck %s
```
Such cases exist now, in `clang/test/Analysis` for example. We are
preparing patches to ensure lit's internal `diff` is called in such
cases, which will then fail because lit's internal `diff` cannot
currently be used in pipelines and doesn't recognize `-` as a
command-line option.
To enable pipelines, this patch moves lit's `diff` implementation into
an out-of-process script, similar to lit's `cat` implementation. A
follow-up patch will implement `-` to mean stdin.
Reviewed By: probinson, stella.stamenova
Differential Revision: https://reviews.llvm.org/D66574
llvm-svn: 372035
Diffstat (limited to 'llvm/utils/lit/tests/Inputs')
-rw-r--r-- | llvm/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txt | 3 | ||||
-rw-r--r-- | llvm/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt | 15 |
2 files changed, 15 insertions, 3 deletions
diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txt b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txt deleted file mode 100644 index 81888cf8197..00000000000 --- a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Check error on a unsupported diff (cannot be part of a pipeline). -# -# RUN: diff diff-error-0.txt diff-error-0.txt | echo Output diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt new file mode 100644 index 00000000000..ce0abca1661 --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt @@ -0,0 +1,15 @@ +# RUN: echo foo > %t.foo +# RUN: echo bar > %t.bar + +# Check output pipe. +# RUN: diff %t.foo %t.foo | FileCheck -allow-empty -check-prefix=EMPTY %s +# RUN: diff -u %t.foo %t.bar | FileCheck %s && false || true + +# Fail so lit will print output. +# RUN: false + +# CHECK: @@ +# CHECK-NEXT: -foo +# CHECK-NEXT: +bar + +# EMPTY-NOT: {{.}} |