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