1# Check the internal shell handling component of the ShTest format.
2#
3# RUN: not %{lit} -j 1 -v %{inputs}/shtest-shell > %t.out
4# FIXME: Temporarily dump test output so we can debug failing tests on
5# buildbots.
6# RUN: cat %t.out
7# RUN: FileCheck --input-file %t.out %s
8#
9# END.
10
11# CHECK: -- Testing:
12
13# CHECK: FAIL: shtest-shell :: cat-error-0.txt
14# CHECK: *** TEST 'shtest-shell :: cat-error-0.txt' FAILED ***
15# CHECK: $ "cat" "-b" "temp1.txt"
16# CHECK: # command stderr:
17# CHECK: Unsupported: 'cat':  option -b not recognized
18# CHECK: error: command failed with exit status: 1
19# CHECK: ***
20
21# CHECK: FAIL: shtest-shell :: cat-error-1.txt
22# CHECK: *** TEST 'shtest-shell :: cat-error-1.txt' FAILED ***
23# CHECK: $ "cat" "temp1.txt"
24# CHECK: # command stderr:
25# CHECK: [Errno 2] No such file or directory: 'temp1.txt'
26# CHECK: error: command failed with exit status: 1
27# CHECK: ***
28
29# CHECK: FAIL: shtest-shell :: colon-error.txt
30# CHECK: *** TEST 'shtest-shell :: colon-error.txt' FAILED ***
31# CHECK: $ ":"
32# CHECK: # command stderr:
33# CHECK: Unsupported: ':' cannot be part of a pipeline
34# CHECK: error: command failed with exit status: 127
35# CHECK: ***
36
37# CHECK: FAIL: shtest-shell :: diff-error-0.txt
38# CHECK: *** TEST 'shtest-shell :: diff-error-0.txt' FAILED ***
39# CHECK: $ "diff" "diff-error-0.txt" "diff-error-0.txt"
40# CHECK: # command stderr:
41# CHECK: Unsupported: 'diff' cannot be part of a pipeline
42# CHECK: error: command failed with exit status: 127
43# CHECK: ***
44
45# CHECK: FAIL: shtest-shell :: diff-error-1.txt
46# CHECK: *** TEST 'shtest-shell :: diff-error-1.txt' FAILED ***
47# CHECK: $ "diff" "-B" "temp1.txt" "temp2.txt"
48# CHECK: # command stderr:
49# CHECK: Unsupported: 'diff': option -B not recognized
50# CHECK: error: command failed with exit status: 127
51# CHECK: ***
52
53# CHECK: FAIL: shtest-shell :: diff-error-2.txt
54# CHECK: *** TEST 'shtest-shell :: diff-error-2.txt' FAILED ***
55# CHECK: $ "diff" "temp.txt"
56# CHECK: # command stderr:
57# CHECK: Error:  missing or extra operand
58# CHECK: error: command failed with exit status: 127
59# CHECK: ***
60
61# CHECK: FAIL: shtest-shell :: diff-error-3.txt
62# CHECK: *** TEST 'shtest-shell :: diff-error-3.txt' FAILED ***
63# CHECK: $ "diff" "temp.txt" "temp1.txt"
64# CHECK: # command stderr:
65# CHECK: Error: 'diff' command failed
66# CHECK: error: command failed with exit status: 1
67# CHECK: ***
68
69# CHECK: FAIL: shtest-shell :: diff-error-4.txt
70# CHECK: *** TEST 'shtest-shell :: diff-error-4.txt' FAILED ***
71# CHECK: Exit Code: 1
72# CHECK: # command output:
73# CHECK: diff-error-4.txt.tmp
74# CHECK: diff-error-4.txt.tmp1
75# CHECK: *** 1 ****
76# CHECK: ! hello-first
77# CHECK: --- 1 ----
78# CHECK: ! hello-second
79# CHECK: ***
80
81# CHECK: FAIL: shtest-shell :: diff-error-5.txt
82# CHECK: *** TEST 'shtest-shell :: diff-error-5.txt' FAILED ***
83# CHECK: $ "diff"
84# CHECK: # command stderr:
85# CHECK: Error:  missing or extra operand
86# CHECK: error: command failed with exit status: 127
87# CHECK: ***
88
89# CHECK: FAIL: shtest-shell :: diff-error-6.txt
90# CHECK: *** TEST 'shtest-shell :: diff-error-6.txt' FAILED ***
91# CHECK: $ "diff"
92# CHECK: # command stderr:
93# CHECK: Error:  missing or extra operand
94# CHECK: error: command failed with exit status: 127
95# CHECK: ***
96
97# CHECK: FAIL: shtest-shell :: diff-r-error-0.txt
98# CHECK: *** TEST 'shtest-shell :: diff-r-error-0.txt' FAILED ***
99# CEHCK: $ "diff" "-r"
100# CHECK: # command output:
101# CHECK: Only in {{.*}}dir1: dir1unique
102# CHECK: Only in {{.*}}dir2: dir2unique
103# CHECK: error: command failed with exit status: 1
104
105# CHECK: FAIL: shtest-shell :: diff-r-error-1.txt
106# CHECK: *** TEST 'shtest-shell :: diff-r-error-1.txt' FAILED ***
107# CEHCK: $ "diff" "-r"
108# CHECK: # command output:
109# CHECK: *** {{.*}}dir1{{.*}}subdir{{.*}}f01
110# CHECK: --- {{.*}}dir2{{.*}}subdir{{.*}}f01
111# CHECK: 12345
112# CHECK: 00000
113# CHECK: error: command failed with exit status: 1
114
115# CHECK: FAIL: shtest-shell :: diff-r-error-2.txt
116# CHECK: *** TEST 'shtest-shell :: diff-r-error-2.txt' FAILED ***
117# CEHCK: $ "diff" "-r"
118# CHECK: # command output:
119# CHECK: Only in {{.*}}dir2: extrafile
120# CHECK: error: command failed with exit status: 1
121
122# CHECK: FAIL: shtest-shell :: diff-r-error-3.txt
123# CHECK: *** TEST 'shtest-shell :: diff-r-error-3.txt' FAILED ***
124# CEHCK: $ "diff" "-r"
125# CHECK: # command output:
126# CHECK: Only in {{.*}}dir1: extra_subdir
127# CHECK: error: command failed with exit status: 1
128
129# CHECK: FAIL: shtest-shell :: diff-r-error-4.txt
130# CHECK: *** TEST 'shtest-shell :: diff-r-error-4.txt' FAILED ***
131# CEHCK: $ "diff" "-r"
132# CHECK: # command output:
133# CHECK: File {{.*}}dir1{{.*}}extra_subdir is a directory while file {{.*}}dir2{{.*}}extra_subdir is a regular file
134# CHECK: error: command failed with exit status: 1
135
136# CHECK: FAIL: shtest-shell :: diff-r-error-5.txt
137# CHECK: *** TEST 'shtest-shell :: diff-r-error-5.txt' FAILED ***
138# CEHCK: $ "diff" "-r"
139# CHECK: # command output:
140# CHECK: Only in {{.*}}dir1: extra_subdir
141# CHECK: error: command failed with exit status: 1
142
143# CHECK: FAIL: shtest-shell :: diff-r-error-6.txt
144# CHECK: *** TEST 'shtest-shell :: diff-r-error-6.txt' FAILED ***
145# CEHCK: $ "diff" "-r"
146# CHECK: # command output:
147# CHECK: File {{.*}}dir1{{.*}}extra_file is a regular empty file while file {{.*}}dir2{{.*}}extra_file is a directory
148# CHECK: error: command failed with exit status: 1
149
150# CHECK: PASS: shtest-shell :: diff-r.txt
151
152# CHECK: FAIL: shtest-shell :: error-0.txt
153# CHECK: *** TEST 'shtest-shell :: error-0.txt' FAILED ***
154# CHECK: $ "not-a-real-command"
155# CHECK: # command stderr:
156# CHECK: 'not-a-real-command': command not found
157# CHECK: error: command failed with exit status: 127
158# CHECK: ***
159
160# FIXME: The output here sucks.
161#
162# CHECK: FAIL: shtest-shell :: error-1.txt
163# CHECK: *** TEST 'shtest-shell :: error-1.txt' FAILED ***
164# CHECK: shell parser error on: ': \'RUN: at line 3\'; echo "missing quote'
165# CHECK: ***
166
167# CHECK: FAIL: shtest-shell :: error-2.txt
168# CHECK: *** TEST 'shtest-shell :: error-2.txt' FAILED ***
169# CHECK: Unsupported redirect:
170# CHECK: ***
171
172# CHECK: FAIL: shtest-shell :: mkdir-error-0.txt
173# CHECK: *** TEST 'shtest-shell :: mkdir-error-0.txt' FAILED ***
174# CHECK: $ "mkdir" "-p" "temp"
175# CHECK: # command stderr:
176# CHECK: Unsupported: 'mkdir' cannot be part of a pipeline
177# CHECK: error: command failed with exit status: 127
178# CHECK: ***
179
180# CHECK: FAIL: shtest-shell :: mkdir-error-1.txt
181# CHECK: *** TEST 'shtest-shell :: mkdir-error-1.txt' FAILED ***
182# CHECK: $ "mkdir" "-p" "-m" "777" "temp"
183# CHECK: # command stderr:
184# CHECK: Unsupported: 'mkdir': option -m not recognized
185# CHECK: error: command failed with exit status: 127
186# CHECK: ***
187
188# CHECK: FAIL: shtest-shell :: mkdir-error-2.txt
189# CHECK: *** TEST 'shtest-shell :: mkdir-error-2.txt' FAILED ***
190# CHECK: $ "mkdir" "-p"
191# CHECK: # command stderr:
192# CHECK: Error: 'mkdir' is missing an operand
193# CHECK: error: command failed with exit status: 127
194# CHECK: ***
195
196# CHECK: PASS: shtest-shell :: redirects.txt
197
198# CHECK: FAIL: shtest-shell :: rm-error-0.txt
199# CHECK: *** TEST 'shtest-shell :: rm-error-0.txt' FAILED ***
200# CHECK: $ "rm" "-rf" "temp"
201# CHECK: # command stderr:
202# CHECK: Unsupported: 'rm' cannot be part of a pipeline
203# CHECK: error: command failed with exit status: 127
204# CHECK: ***
205
206# CHECK: FAIL: shtest-shell :: rm-error-1.txt
207# CHECK: *** TEST 'shtest-shell :: rm-error-1.txt' FAILED ***
208# CHECK: $ "rm" "-f" "-v" "temp"
209# CHECK: # command stderr:
210# CHECK: Unsupported: 'rm': option -v not recognized
211# CHECK: error: command failed with exit status: 127
212# CHECK: ***
213
214# CHECK: FAIL: shtest-shell :: rm-error-2.txt
215# CHECK: *** TEST 'shtest-shell :: rm-error-2.txt' FAILED ***
216# CHECK: $ "rm" "-r" "hello"
217# CHECK: # command stderr:
218# CHECK: Error: 'rm' command failed
219# CHECK: error: command failed with exit status: 1
220# CHECK: ***
221
222# CHECK: FAIL: shtest-shell :: rm-error-3.txt
223# CHECK: *** TEST 'shtest-shell :: rm-error-3.txt' FAILED ***
224# CHECK: Exit Code: 1
225# CHECK: ***
226
227# CHECK: PASS: shtest-shell :: sequencing-0.txt
228# CHECK: XFAIL: shtest-shell :: sequencing-1.txt
229# CHECK: PASS: shtest-shell :: valid-shell.txt
230# CHECK: Failing Tests (27)
231