Skip to content

Commit 349d76d

Browse files
authored
[llvm-lit][test] Updated built-in cat command tests (#104473)
This patch makes changes to improve syntax in tests and to add more strict checks on cat output. This is a prequisite for #101530.
1 parent 552d26e commit 349d76d

File tree

3 files changed

+68
-79
lines changed

3 files changed

+68
-79
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# Check error on an unsupported option for cat .
1+
## Test error on an unsupported option for cat.
22
#
33
# RUN: cat -b temp1.txt
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# Check error on a unsupported cat (Unable to find input file).
1+
## Test error on a unsupported cat (Unable to find input file).
22
#
33
# RUN: cat temp1.txt
Lines changed: 66 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,72 @@
11
## Test cat command with a single file.
2-
#
3-
# RUN: rm -rf %T/testCat
4-
# RUN: mkdir -p %T/testCat
5-
# RUN: echo "abcdefgh" > %T/testCat/temp.write
6-
# RUN: cat %T/testCat/temp.write > %T/testCat/tempcat.write
7-
# RUN: %{python} %S/../check_path.py file %T/testCat/tempcat.write > %T/testCat/path.out
8-
# RUN: FileCheck --check-prefix=FILE-EXISTS < %T/testCat/path.out %s
9-
# RUN: FileCheck --check-prefix=CAT-OUTPUT < %T/testCat/tempcat.write %s
2+
# RUN: rm -rf %t
3+
# RUN: mkdir -p %t
4+
# RUN: echo "abcdefgh" > %t/temp.write
5+
# RUN: cat %t/temp.write > %t/tempcat.write
6+
# RUN: %{python} %S/../check_path.py file %t/tempcat.write > %t/path.out
7+
# RUN: FileCheck --check-prefix=FILE-EXISTS < %t/path.out %s
8+
# RUN: FileCheck --check-prefix=CAT-OUTPUT --implicit-check-not={{.}} \
9+
# RUN: --match-full-lines --strict-whitespace < %t/tempcat.write %s
1010
# FILE-EXISTS: True
11-
# CAT-OUTPUT: abcdefgh
12-
#
11+
# CAT-OUTPUT:abcdefgh
12+
1313
## Test cat command with multiple files.
14-
#
15-
# RUN: rm -rf %T/testCat
16-
# RUN: mkdir -p %T/testCat
17-
# RUN: echo "abcdefgh" > %T/testCat/temp1.write
18-
# RUN: echo "efghijkl" > %T/testCat/temp2.write
19-
# RUN: echo "mnopqrst" > %T/testCat/temp3.write
20-
# RUN: cat %T/testCat/temp1.write %T/testCat/temp2.write %T/testCat/temp3.write > %T/testCat/tempmulticat.write
21-
# RUN: %{python} %S/../check_path.py file %T/testCat/tempmulticat.write > %T/testCat/path.out
22-
# RUN: FileCheck --check-prefix=MULTI-FILE-EXISTS < %T/testCat/path.out %s
23-
# RUN: FileCheck --check-prefix=MULTI-CAT-OUTPUT < %T/testCat/tempmulticat.write %s
14+
# RUN: rm -rf %t
15+
# RUN: mkdir -p %t
16+
# RUN: echo "abcdefgh" > %t/temp1.write
17+
# RUN: echo "efghijkl" > %t/temp2.write
18+
# RUN: echo "mnopqrst" > %t/temp3.write
19+
# RUN: cat %t/temp1.write %t/temp2.write %t/temp3.write > %t/tempmulticat.write
20+
# RUN: %{python} %S/../check_path.py file %t/tempmulticat.write > %t/path.out
21+
# RUN: FileCheck --check-prefix=MULTI-FILE-EXISTS < %t/path.out %s
22+
# RUN: FileCheck --check-prefix=MULTI-CAT-OUTPUT --implicit-check-not={{.}} \
23+
# RUN: --match-full-lines --strict-whitespace < %t/tempmulticat.write %s
2424
# MULTI-FILE-EXISTS: True
25-
# MULTI-CAT-OUTPUT: abcdefgh
26-
# MULTI-CAT-OUTPUT-NEXT: efghijkl
27-
# MULTI-CAT-OUTPUT-NEXT: mnopqrst
28-
#
25+
# MULTI-CAT-OUTPUT:abcdefgh
26+
# MULTI-CAT-OUTPUT-NEXT:efghijkl
27+
# MULTI-CAT-OUTPUT-NEXT:mnopqrst
28+
2929
## Test cat command with multiple files and piped output to FileCheck.
30-
#
31-
# RUN: rm -rf %T/testCat
32-
# RUN: mkdir -p %T/testCat
33-
# RUN: echo "abcdefgh" > %T/testCat/temp1.write
34-
# RUN: echo "efghijkl" > %T/testCat/temp2.write
35-
# RUN: cat %T/testCat/temp1.write %T/testCat/temp2.write | FileCheck --check-prefix=PIPED-CAT-OUTPUT %s
36-
# PIPED-CAT-OUTPUT: abcdefgh
37-
# PIPED-CAT-OUTPUT-NEXT: efghijkl
38-
#
30+
# RUN: rm -rf %t
31+
# RUN: mkdir -p %t
32+
# RUN: echo "abcdefgh" > %t/temp1.write
33+
# RUN: echo "efghijkl" > %t/temp2.write
34+
# RUN: cat %t/temp1.write %t/temp2.write | \
35+
# RUN: FileCheck --check-prefix=PIPED-CAT-OUTPUT --implicit-check-not={{.}} \
36+
# RUN: --match-full-lines --strict-whitespace %s
37+
# PIPED-CAT-OUTPUT:abcdefgh
38+
# PIPED-CAT-OUTPUT-NEXT:efghijkl
39+
3940
## Test cat command with multiple files and glob expressions.
40-
#
41-
# RUN: rm -rf %T/testCat
42-
# RUN: mkdir -p %T/testCat
43-
# RUN: echo "cvbnm" > %T/testCat/temp1.write
44-
# RUN: echo "qwerty" > %T/testCat/temp2.write
45-
# RUN: cat %T/testCat/*.write | FileCheck --check-prefix=GLOB-CAT-OUTPUT %s
46-
# GLOB-CAT-OUTPUT: cvbnm
47-
# GLOB-CAT-OUTPUT-NEXT: qwerty
48-
#
49-
## Test cat command with -v option
50-
#
51-
# RUN: cat -v %S/cat_nonprinting.bin | FileCheck --check-prefix=NP-CAT-OUTPUT %s
52-
# NP-CAT-OUTPUT: ^@^A^B^C^D^E^F^G ^H
53-
# NP-CAT-OUTPUT-NEXT: ^K^L^M^N^O^P^Q^R^S
54-
# NP-CAT-OUTPUT-NEXT: ^T^U^V^W^X^Y^Z^[^\^]^^^_ !"#$%&'
55-
# NP-CAT-OUTPUT-NEXT: ()*+,-./0123456789:;
56-
# NP-CAT-OUTPUT-NEXT: <=>?@ABCDEFGHIJKLMNO
57-
# NP-CAT-OUTPUT-NEXT: PQRSTUVWXYZ[\]^_`abc
58-
# NP-CAT-OUTPUT-NEXT: defghijklmnopqrstuvw
59-
# NP-CAT-OUTPUT-NEXT: xyz{|}~^?M-^@M-^AM-^BM-^CM-^DM-^EM-^FM-^GM-^HM-^IM-^JM-^K
60-
# NP-CAT-OUTPUT-NEXT: M-^LM-^MM-^NM-^OM-^PM-^QM-^RM-^SM-^TM-^UM-^VM-^WM-^XM-^YM-^ZM-^[M-^\M-^]M-^^M-^_
61-
# NP-CAT-OUTPUT-NEXT: M- M-!M-"M-#M-$M-%M-&M-'M-(M-)M-*M-+M-,M--M-.M-/M-0M-1M-2M-3
62-
# NP-CAT-OUTPUT-NEXT: M-4M-5M-6M-7M-8M-9M-:M-;M-<M-=M->M-?M-@M-AM-BM-CM-DM-EM-FM-G
63-
# NP-CAT-OUTPUT-NEXT: M-HM-IM-JM-KM-LM-MM-NM-OM-PM-QM-RM-SM-TM-UM-VM-WM-XM-YM-ZM-[
64-
# NP-CAT-OUTPUT-NEXT: M-\M-]M-^M-_M-`M-aM-bM-cM-dM-eM-fM-gM-hM-iM-jM-kM-lM-mM-nM-o
65-
# NP-CAT-OUTPUT-NEXT: M-pM-qM-rM-sM-tM-uM-vM-wM-xM-yM-zM-{M-|M-}M-~M-^?
66-
#
67-
## Test cat command with -show-nonprinting option
68-
#
69-
# RUN: cat --show-nonprinting %S/cat_nonprinting.bin | FileCheck --check-prefix=NPLONG-CAT-OUTPUT %s
70-
# NPLONG-CAT-OUTPUT: ^@^A^B^C^D^E^F^G ^H
71-
# NPLONG-CAT-OUTPUT-NEXT: ^K^L^M^N^O^P^Q^R^S
72-
# NPLONG-CAT-OUTPUT-NEXT: ^T^U^V^W^X^Y^Z^[^\^]^^^_ !"#$%&'
73-
# NPLONG-CAT-OUTPUT-NEXT: ()*+,-./0123456789:;
74-
# NPLONG-CAT-OUTPUT-NEXT: <=>?@ABCDEFGHIJKLMNO
75-
# NPLONG-CAT-OUTPUT-NEXT: PQRSTUVWXYZ[\]^_`abc
76-
# NPLONG-CAT-OUTPUT-NEXT: defghijklmnopqrstuvw
77-
# NPLONG-CAT-OUTPUT-NEXT: xyz{|}~^?M-^@M-^AM-^BM-^CM-^DM-^EM-^FM-^GM-^HM-^IM-^JM-^K
78-
# NPLONG-CAT-OUTPUT-NEXT: M-^LM-^MM-^NM-^OM-^PM-^QM-^RM-^SM-^TM-^UM-^VM-^WM-^XM-^YM-^ZM-^[M-^\M-^]M-^^M-^_
79-
# NPLONG-CAT-OUTPUT-NEXT: M- M-!M-"M-#M-$M-%M-&M-'M-(M-)M-*M-+M-,M--M-.M-/M-0M-1M-2M-3
80-
# NPLONG-CAT-OUTPUT-NEXT: M-4M-5M-6M-7M-8M-9M-:M-;M-<M-=M->M-?M-@M-AM-BM-CM-DM-EM-FM-G
81-
# NPLONG-CAT-OUTPUT-NEXT: M-HM-IM-JM-KM-LM-MM-NM-OM-PM-QM-RM-SM-TM-UM-VM-WM-XM-YM-ZM-[
82-
# NPLONG-CAT-OUTPUT-NEXT: M-\M-]M-^M-_M-`M-aM-bM-cM-dM-eM-fM-gM-hM-iM-jM-kM-lM-mM-nM-o
83-
# NPLONG-CAT-OUTPUT-NEXT: M-pM-qM-rM-sM-tM-uM-vM-wM-xM-yM-zM-{M-|M-}M-~M-^?
41+
# RUN: rm -rf %t
42+
# RUN: mkdir -p %t
43+
# RUN: echo "cvbnm" > %t/temp1.write
44+
# RUN: echo "qwerty" > %t/temp2.write
45+
# RUN: cat %t/*.write | \
46+
# RUN: FileCheck --check-prefix=GLOB-CAT-OUTPUT --implicit-check-not={{.}} \
47+
# RUN: --match-full-lines --strict-whitespace %s
48+
# GLOB-CAT-OUTPUT:cvbnm
49+
# GLOB-CAT-OUTPUT-NEXT:qwerty
50+
51+
## Test cat command with -v and --show-nonprinting option.
52+
## The -v/--show-nonprinting options format text input into ^ and M- notation
53+
# RUN: cat -v %S/cat_nonprinting.bin | \
54+
# RUN: FileCheck --check-prefix=NP-CAT-OUTPUT --implicit-check-not={{.}} \
55+
# RUN: --match-full-lines --strict-whitespace %s
56+
# RUN: cat --show-nonprinting %S/cat_nonprinting.bin | \
57+
# RUN: FileCheck --check-prefix=NP-CAT-OUTPUT --implicit-check-not={{.}} \
58+
# RUN: --match-full-lines --strict-whitespace %s
59+
# NP-CAT-OUTPUT:^@^A^B^C^D^E^F^G ^H
60+
# NP-CAT-OUTPUT-NEXT:^K^L^M^N^O^P^Q^R^S
61+
# NP-CAT-OUTPUT-NEXT:^T^U^V^W^X^Y^Z^[^\^]^^^_ !"#$%&'
62+
# NP-CAT-OUTPUT-NEXT:()*+,-./0123456789:;
63+
# NP-CAT-OUTPUT-NEXT:<=>?@ABCDEFGHIJKLMNO
64+
# NP-CAT-OUTPUT-NEXT:PQRSTUVWXYZ[\]^_`abc
65+
# NP-CAT-OUTPUT-NEXT:defghijklmnopqrstuvw
66+
# NP-CAT-OUTPUT-NEXT:xyz{|}~^?M-^@M-^AM-^BM-^CM-^DM-^EM-^FM-^GM-^HM-^IM-^JM-^K
67+
# NP-CAT-OUTPUT-NEXT:M-^LM-^MM-^NM-^OM-^PM-^QM-^RM-^SM-^TM-^UM-^VM-^WM-^XM-^YM-^ZM-^[M-^\M-^]M-^^M-^_
68+
# NP-CAT-OUTPUT-NEXT:M- M-!M-"M-#M-$M-%M-&M-'M-(M-)M-*M-+M-,M--M-.M-/M-0M-1M-2M-3
69+
# NP-CAT-OUTPUT-NEXT:M-4M-5M-6M-7M-8M-9M-:M-;M-<M-=M->M-?M-@M-AM-BM-CM-DM-EM-FM-G
70+
# NP-CAT-OUTPUT-NEXT:M-HM-IM-JM-KM-LM-MM-NM-OM-PM-QM-RM-SM-TM-UM-VM-WM-XM-YM-ZM-[
71+
# NP-CAT-OUTPUT-NEXT:M-\M-]M-^M-_M-`M-aM-bM-cM-dM-eM-fM-gM-hM-iM-jM-kM-lM-mM-nM-o
72+
# NP-CAT-OUTPUT-NEXT:M-pM-qM-rM-sM-tM-uM-vM-wM-xM-yM-zM-{M-|M-}M-~M-^?

0 commit comments

Comments
 (0)