1 # Check the not command
3 # RUN: not %{lit} -a -v %{inputs}/shtest-not \
4 # RUN: | FileCheck -match-full-lines %s
8 # Make sure not and env commands are included in printed commands.
10 # CHECK: -- Testing: 17 tests{{.*}}
12 # CHECK: FAIL: shtest-not :: exclamation-args-nested-none.txt {{.*}}
14 # CHECK: # executed command: ! ! !
15 # CHECK: # | Error: '!' requires a subcommand
16 # CHECK: # error: command failed with exit status: {{.*}}
18 # CHECK: FAIL: shtest-not :: exclamation-args-none.txt {{.*}}
20 # CHECK: # executed command: !
21 # CHECK: # | Error: '!' requires a subcommand
22 # CHECK: # error: command failed with exit status: {{.*}}
24 # CHECK: FAIL: shtest-not :: exclamation-calls-external.txt {{.*}}
26 # CHECK: ! [[PYTHON:.*]] fail.py
27 # CHECK: # executed command: ! [[PYTHON_BARE:.*]] fail.py
28 # CHECK: ! ! [[PYTHON]] pass.py
29 # CHECK: # executed command: ! ! [[PYTHON_BARE]] pass.py
30 # CHECK: ! ! ! [[PYTHON]] fail.py
31 # CHECK: # executed command: ! ! ! [[PYTHON_BARE]] fail.py
32 # CHECK: ! ! ! ! [[PYTHON]] pass.py
33 # CHECK: # executed command: ! ! ! ! [[PYTHON_BARE]] pass.py
35 # CHECK: ! [[PYTHON]] pass.py
36 # CHECK: # executed command: ! [[PYTHON_BARE]] pass.py
37 # CHECK: # error: command failed with exit status: {{.*}}
39 # CHECK: FAIL: shtest-not :: not-args-last-is-crash.txt {{.*}}
41 # CHECK: # executed command: not --crash
42 # CHECK: # | Error: 'not' requires a subcommand
43 # CHECK: # error: command failed with exit status: {{.*}}
45 # CHECK: FAIL: shtest-not :: not-args-nested-none.txt {{.*}}
47 # CHECK: # executed command: not not not
48 # CHECK: # | Error: 'not' requires a subcommand
49 # CHECK: # error: command failed with exit status: {{.*}}
51 # CHECK: FAIL: shtest-not :: not-args-none.txt {{.*}}
53 # CHECK: # executed command: not
54 # CHECK: # | Error: 'not' requires a subcommand
55 # CHECK: # error: command failed with exit status: {{.*}}
57 # CHECK: FAIL: shtest-not :: not-calls-cd.txt {{.*}}
58 # CHECK: not not cd foobar
59 # CHECK: # executed command: not not cd foobar
60 # CHECK: not --crash cd foobar
61 # CHECK: # executed command: not --crash cd foobar
62 # CHECK: # | Error: 'not --crash' cannot call 'cd'
63 # CHECK: # error: command failed with exit status: {{.*}}
65 # CHECK: FAIL: shtest-not :: not-calls-colon.txt {{.*}}
66 # CHECK: not not : foobar
67 # CHECK: # executed command: not not : foobar
68 # CHECK: not --crash :
69 # CHECK: # executed command: not --crash :
70 # CHECK: # | Error: 'not --crash' cannot call ':'
71 # CHECK: # error: command failed with exit status: {{.*}}
73 # CHECK: FAIL: shtest-not :: not-calls-diff-with-crash.txt {{.*}}
74 # CHECK: not --crash diff -u {{.*}}
75 # CHECK: # executed command: not --crash diff -u {{.*}}
76 # CHECK-NOT: # executed command: {{.*}}
77 # CHECK-NOT: {{[Ee]rror}}
78 # CHECK: # error: command failed with exit status: {{.*}}
79 # CHECK-NOT: # executed command: {{.*}}
80 # CHECK-NOT: {{[Ee]rror}}
82 # CHECK: FAIL: shtest-not :: not-calls-diff.txt {{.*}}
83 # CHECK: not diff {{.*}}
84 # CHECK: # executed command: not diff {{.*}}
85 # CHECK: not not not diff {{.*}}
86 # CHECK: # executed command: not not not diff {{.*}}
87 # CHECK: not not not not not diff {{.*}}
88 # CHECK: # executed command: not not not not not diff {{.*}}
90 # CHECK: # executed command: diff {{.*}}
91 # CHECK: not not diff {{.*}}
92 # CHECK: # executed command: not not diff {{.*}}
93 # CHECK: not not not not diff {{.*}}
94 # CHECK: # executed command: not not not not diff {{.*}}
95 # CHECK: not diff {{.*}}
96 # CHECK: # executed command: not diff {{.*}}
97 # CHECK-NOT: # executed command: {{.*}}
99 # CHECK: FAIL: shtest-not :: not-calls-echo.txt {{.*}}
100 # CHECK: not not echo hello world
101 # CHECK: # executed command: not not echo hello world
102 # CHECK: not --crash echo hello world
103 # CHECK: # executed command: not --crash echo hello world
104 # CHECK: # | Error: 'not --crash' cannot call 'echo'
105 # CHECK: # error: command failed with exit status: {{.*}}
107 # CHECK: FAIL: shtest-not :: not-calls-env-builtin.txt {{.*}}
108 # CHECK: not --crash env -u FOO BAR=3 rm {{.*}}.no-such-file
109 # CHECK: # executed command: not --crash env -u FOO BAR=3 rm {{.+}}.no-such-file{{.*}}
110 # CHECK: # | Error: 'env' cannot call 'rm'
111 # CHECK: # error: command failed with exit status: {{.*}}
113 # CHECK: FAIL: shtest-not :: not-calls-export.txt {{.*}}
114 # CHECK: not not export FOO=1
115 # CHECK: # executed command: not not export FOO=1
116 # CHECK: not --crash export BAZ=3
117 # CHECK: # executed command: not --crash export BAZ=3
118 # CHECK: # | Error: 'not --crash' cannot call 'export'
119 # CHECK: # error: command failed with exit status: {{.*}}
122 # CHECK: PASS: shtest-not :: not-calls-external.txt {{.*}}
124 # CHECK: not [[PYTHON]] fail.py
125 # CHECK: # executed command: not [[PYTHON_BARE]] fail.py
126 # CHECK: not not [[PYTHON]] pass.py
127 # CHECK: # executed command: not not [[PYTHON_BARE]] pass.py
128 # CHECK: not not not [[PYTHON]] fail.py
129 # CHECK: # executed command: not not not [[PYTHON_BARE]] fail.py
130 # CHECK: not not not not [[PYTHON]] pass.py
131 # CHECK: # executed command: not not not not [[PYTHON_BARE]] pass.py
133 # CHECK: not not --crash [[PYTHON]] pass.py
134 # CHECK: # executed command: not not --crash [[PYTHON_BARE]] pass.py
135 # CHECK: not not --crash [[PYTHON]] fail.py
136 # CHECK: # executed command: not not --crash [[PYTHON_BARE]] fail.py
137 # CHECK: not not --crash not [[PYTHON]] pass.py
138 # CHECK: # executed command: not not --crash not [[PYTHON_BARE]] pass.py
139 # CHECK: not not --crash not [[PYTHON]] fail.py
140 # CHECK: # executed command: not not --crash not [[PYTHON_BARE]] fail.py
142 # CHECK: env not [[PYTHON]] fail.py | {{.*}}
143 # CHECK: # executed command: env not [[PYTHON_BARE]] fail.py
144 # CHECK: not env [[PYTHON]] fail.py | {{.*}}
145 # CHECK: # executed command: not env [[PYTHON_BARE]] fail.py
146 # CHECK: env FOO=1 not [[PYTHON]] fail.py | {{.*}}
147 # CHECK: # executed command: env FOO=1 not [[PYTHON_BARE]] fail.py
148 # CHECK: not env FOO=1 BAR=1 [[PYTHON]] fail.py | {{.*}}
149 # CHECK: # executed command: not env FOO=1 BAR=1 [[PYTHON_BARE]] fail.py
150 # CHECK: env FOO=1 BAR=1 not env -u FOO BAR=2 [[PYTHON]] fail.py | {{.*}}
151 # CHECK: # executed command: env FOO=1 BAR=1 not env -u FOO BAR=2 [[PYTHON_BARE]] fail.py
152 # CHECK: not env FOO=1 BAR=1 not env -u FOO -u BAR [[PYTHON]] pass.py | {{.*}}
153 # CHECK: # executed command: not env FOO=1 BAR=1 not env -u FOO -u BAR [[PYTHON_BARE]] pass.py
154 # CHECK: not not env FOO=1 env FOO=2 BAR=1 [[PYTHON]] pass.py | {{.*}}
155 # CHECK: # executed command: not not env FOO=1 env FOO=2 BAR=1 [[PYTHON_BARE]] pass.py
156 # CHECK: env FOO=1 -u BAR env -u FOO BAR=1 not not [[PYTHON]] pass.py | {{.*}}
157 # CHECK: # executed command: env FOO=1 -u BAR env -u FOO BAR=1 not not [[PYTHON_BARE]] pass.py
159 # CHECK: not env FOO=1 BAR=1 env FOO=2 BAR=2 not --crash [[PYTHON]] pass.py | {{.*}}
160 # CHECK: # executed command: not env FOO=1 BAR=1 env FOO=2 BAR=2 not --crash [[PYTHON_BARE]] pass.py
161 # CHECK: not env FOO=1 BAR=1 not --crash not [[PYTHON]] pass.py | {{.*}}
162 # CHECK: # executed command: not env FOO=1 BAR=1 not --crash not [[PYTHON_BARE]] pass.py
163 # CHECK: not not --crash env -u BAR not env -u FOO BAR=1 [[PYTHON]] pass.py | {{.*}}
164 # CHECK: # executed command: not not --crash env -u BAR not env -u FOO BAR=1 [[PYTHON_BARE]] pass.py
167 # CHECK: FAIL: shtest-not :: not-calls-fail2.txt {{.*}}
168 # CHECK-NEXT: {{.*}} TEST 'shtest-not :: not-calls-fail2.txt' FAILED {{.*}}
169 # CHECK-NEXT: Exit Code: 1
171 # CHECK: FAIL: shtest-not :: not-calls-mkdir.txt {{.*}}
172 # CHECK: not mkdir {{.*}}
173 # CHECK: # executed command: not mkdir {{.*}}
174 # CHECK: not --crash mkdir foobar
175 # CHECK: # executed command: not --crash mkdir foobar
176 # CHECK: # | Error: 'not --crash' cannot call 'mkdir'
177 # CHECK: # error: command failed with exit status: {{.*}}
179 # CHECK: FAIL: shtest-not :: not-calls-rm.txt {{.*}}
180 # CHECK: not rm {{.*}}
181 # CHECK: # executed command: not rm {{.*}}
182 # CHECK: not --crash rm foobar
183 # CHECK: # executed command: not --crash rm foobar
184 # CHECK: # | Error: 'not --crash' cannot call 'rm'
185 # CHECK: # error: command failed with exit status: {{.*}}
187 # CHECK: Total Discovered Tests: 17
188 # CHECK: Passed: 1 {{\([0-9]*\.[0-9]*%\)}}
189 # CHECK: Failed: 16 {{\([0-9]*\.[0-9]*%\)}}