summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-strings/stdin.test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-strings/stdin.test')
-rw-r--r--llvm/test/tools/llvm-strings/stdin.test22
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-strings/stdin.test b/llvm/test/tools/llvm-strings/stdin.test
new file mode 100644
index 00000000000..b8ccc12e52f
--- /dev/null
+++ b/llvm/test/tools/llvm-strings/stdin.test
@@ -0,0 +1,22 @@
+## Show that llvm-strings can handle stdin input properly.
+
+## Case 1: output with single string.
+RUN: echo -n "abcdefg" | llvm-strings - | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
+CASE1: abcdefg
+
+## Case 2: output too short for string.
+RUN: echo -n "abc" | llvm-strings - | FileCheck %s --implicit-check-not={{.}} --allow-empty
+
+## Case 3: output with new line.
+RUN: echo -e "abcd\nefgh" | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
+CASE3: abcd
+CASE3-NEXT: efgh
+
+## Case 4: output containing unprintable characters.
+RUN: echo -e "abcd\x00ef\x1fghij\x7fklmn" | llvm-strings - | FileCheck %s --check-prefix=CASE4 --implicit-check-not={{.}}
+CASE4: abcd
+CASE4-NEXT: ghij
+CASE4-NEXT: klmn
+
+## Case 5: no file name specified is equivalent to explicitly requesting stdin.
+RUN: echo -n "abcdefg" | llvm-strings | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
OpenPOWER on IntegriCloud