blob: f9b9913bd826f887f800a59f1c0cad37487f67d6 [file]
## Show that llvm-strings can handle stdin input properly.
## On z/OS, ebcdic output from printf is converted into utf-8 as
## the output being redirected, causing the values to be incorrect.
## TODO: use a builtin version of printf
# UNSUPPORTED: system-zos
## Case 1: output with single string.
RUN: printf "abcdefg" | llvm-strings - | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}
CASE1: abcdefg
## Case 2: output too short for string.
RUN: printf "abc" | llvm-strings - | FileCheck %s --implicit-check-not={{.}} --allow-empty
## Case 3: output with new line.
RUN: printf "abcd\nefgh" | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
CASE3: abcd
CASE3-NEXT: efgh
## Case 4: output containing unprintable characters.
RUN: printf "abcd\000ef\037ghij\177klmn" | 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: printf "abcdefg" | llvm-strings | FileCheck %s --check-prefix=CASE1 --implicit-check-not={{.}}