summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit/tests/Inputs
diff options
context:
space:
mode:
authorJoel E. Denny <jdenny.ornl@gmail.com>2019-10-16 17:21:24 +0000
committerJoel E. Denny <jdenny.ornl@gmail.com>2019-10-16 17:21:24 +0000
commitf095b8c425ecf832d0a5ccdbaa02c27153f80a0c (patch)
tree69651c319a801cdab8ea500840dfb744ebdfa48b /llvm/utils/lit/tests/Inputs
parentf89cf21337b07e0f6fc3704eadaddc05aa845831 (diff)
downloadbcm5719-llvm-f095b8c425ecf832d0a5ccdbaa02c27153f80a0c.tar.gz
bcm5719-llvm-f095b8c425ecf832d0a5ccdbaa02c27153f80a0c.zip
[lit] Clean up internal diff's encoding handling
As suggested by rnk at D67643#1673043, instead of reading files multiple times until an appropriate encoding is found, read them once as binary, and then try to decode what was read. For Python >= 3.5, don't fail when attempting to decode the `diff_bytes` output in order to print it. Avoid failures for Python 2.7 used on some Windows bots by transforming diff output with `lit.util.to_string` before writing it to stdout. Finally, add some tests for encoding handling. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68664 llvm-svn: 375018
Diffstat (limited to 'llvm/utils/lit/tests/Inputs')
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt9
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.binbin0 -> 26 bytes
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf16bin0 -> 24 bytes
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf83
4 files changed, 12 insertions, 0 deletions
diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt
new file mode 100644
index 00000000000..d8b9718a099
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt
@@ -0,0 +1,9 @@
+# Check that diff falls back to binary mode if it cannot decode a file.
+
+# RUN: diff -u diff-in.bin diff-in.bin
+# RUN: diff -u diff-in.utf16 diff-in.bin && false || true
+# RUN: diff -u diff-in.utf8 diff-in.bin && false || true
+# RUN: diff -u diff-in.bin diff-in.utf8 && false || true
+
+# Fail so lit will print output.
+# RUN: false
diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.bin b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.bin
new file mode 100644
index 00000000000..06b800b707c
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.bin
Binary files differ
diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf16 b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf16
new file mode 100644
index 00000000000..d7d9feefa7d
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf16
Binary files differ
diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf8 b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf8
new file mode 100644
index 00000000000..86e041dad66
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf8
@@ -0,0 +1,3 @@
+foo
+bar
+baz
OpenPOWER on IntegriCloud