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