## Show that llvm-strings prints only strings with length of at least the
## requested number of bytes.

RUN: echo a > %t
RUN: echo ab >> %t
RUN: echo abc >> %t
RUN: echo abcd >> %t
RUN: echo abcde >> %t
RUN: not llvm-strings -n 0 2>&1 %t | FileCheck --check-prefix CHECK-0 %s
RUN: llvm-strings -n 1 %t | FileCheck --check-prefix CHECK-1 %s --implicit-check-not={{.}}
RUN: llvm-strings -n 2 %t | FileCheck --check-prefix CHECK-2 %s --implicit-check-not={{.}}
RUN: llvm-strings -n 4 %t | FileCheck --check-prefix CHECK-4 %s --implicit-check-not={{.}}
RUN: llvm-strings -n 5 %t | FileCheck --check-prefix CHECK-5 %s --implicit-check-not={{.}}
RUN: llvm-strings -n 6 %t | FileCheck %s --implicit-check-not={{.}} --allow-empty

## Default is equivalent to -n 4.
RUN: llvm-strings %t | FileCheck --check-prefix CHECK-4 %s --implicit-check-not={{.}}

## Show --bytes works too.
RUN: llvm-strings --bytes 2 %t | FileCheck --check-prefix CHECK-2 %s --implicit-check-not={{.}}

## Show different syntaxes work.
RUN: llvm-strings --bytes=2 %t | FileCheck --check-prefix CHECK-2 %s --implicit-check-not={{.}}
RUN: llvm-strings -n=2 %t | FileCheck --check-prefix CHECK-2 %s --implicit-check-not={{.}}

CHECK-0: invalid minimum string length 0

CHECK-1:      a
CHECK-1-NEXT: ab
CHECK-1-NEXT: abc
CHECK-1-NEXT: abcd
CHECK-1-NEXT: abcde

CHECK-2:      ab
CHECK-2-NEXT: abc
CHECK-2-NEXT: abcd
CHECK-2-NEXT: abcde

CHECK-4:      abcd
CHECK-4-NEXT: abcde

CHECK-5:      abcde

## Show that a non-numeric argument is rejected.
RUN: not llvm-strings -n foo %t 2>&1 | FileCheck %s --check-prefix=ERR
ERR: llvm-strings{{.*}}: for the --bytes option: 'foo' value invalid for integer argument!
