1 # Check the internal shell handling component of the ShTest format.
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
7 # RUN: FileCheck --input-file %t.out %s
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
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
29 # CHECK: FAIL: shtest-shell :: colon-error.txt
30 # CHECK: *** TEST 'shtest-shell :: colon-error.txt' FAILED ***
32 # CHECK: # command stderr:
33 # CHECK: Unsupported: ':' cannot be part of a pipeline
34 # CHECK: error: command failed with exit status: 127
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
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
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
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
69 # CHECK: FAIL: shtest-shell :: diff-error-4.txt
70 # CHECK: *** TEST 'shtest-shell :: diff-error-4.txt' FAILED ***
72 # CHECK: # command output:
73 # CHECK: diff-error-4.txt.tmp
74 # CHECK: diff-error-4.txt.tmp1
76 # CHECK: ! hello-first
78 # CHECK: ! hello-second
81 # CHECK: FAIL: shtest-shell :: diff-error-5.txt
82 # CHECK: *** TEST 'shtest-shell :: diff-error-5.txt' FAILED ***
84 # CHECK: # command stderr:
85 # CHECK: Error: missing or extra operand
86 # CHECK: error: command failed with exit status: 127
89 # CHECK: FAIL: shtest-shell :: diff-error-6.txt
90 # CHECK: *** TEST 'shtest-shell :: diff-error-6.txt' FAILED ***
92 # CHECK: # command stderr:
93 # CHECK: Error: missing or extra operand
94 # CHECK: error: command failed with exit status: 127
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
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
113 # CHECK: error: command failed with exit status: 1
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
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
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
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
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
150 # CHECK: PASS: shtest-shell :: diff-r.txt
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
160 # FIXME: The output here sucks.
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'
167 # CHECK: FAIL: shtest-shell :: error-2.txt
168 # CHECK: *** TEST 'shtest-shell :: error-2.txt' FAILED ***
169 # CHECK: Unsupported redirect:
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
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
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
196 # CHECK: PASS: shtest-shell :: redirects.txt
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
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
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
222 # CHECK: FAIL: shtest-shell :: rm-error-3.txt
223 # CHECK: *** TEST 'shtest-shell :: rm-error-3.txt' FAILED ***
224 # CHECK: Exit Code: 1
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)