xref: /llvm-project/llvm/test/tools/llvm-strings/stdin.test (revision 3819316040abe2a7f30a385e5f4f773cefc8d2b9)
1## Show that llvm-strings can handle stdin input properly.
2
3## Case 1: output with single string.
4RUN: echo -n "abcdefg" | llvm-strings - | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
5CASE1: abcdefg
6
7## Case 2: output too short for string.
8RUN: echo -n "abc" | llvm-strings - | FileCheck %s --implicit-check-not={{.}} --allow-empty
9
10## Case 3: output with new line.
11RUN: echo -e "abcd\nefgh" | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
12CASE3:      abcd
13CASE3-NEXT: efgh
14
15## Case 4: output containing unprintable characters.
16RUN: echo -e "abcd\x00ef\x1fghij\x7fklmn" | llvm-strings - | FileCheck %s --check-prefix=CASE4 --implicit-check-not={{.}}
17CASE4:      abcd
18CASE4-NEXT: ghij
19CASE4-NEXT: klmn
20
21## Case 5: no file name specified is equivalent to explicitly requesting stdin.
22RUN: echo -n "abcdefg" | llvm-strings | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
23