blob: 8c318697195ac87f3692f456a61ae16ab15015dc [file] [log] [blame]
Daniel Dunbar14b82652013-01-31 18:05:01 +00001# Check the various features of the ShTest format.
2#
Justin Bogner78bb0b42018-07-23 18:08:36 +00003# RUN: rm -f %t.xml
4# RUN: not %{lit} -j 1 -v %{inputs}/shtest-format --xunit-xml-output %t.xml > %t.out
Daniel Dunbar14b82652013-01-31 18:05:01 +00005# RUN: FileCheck < %t.out %s
Justin Bogner78bb0b42018-07-23 18:08:36 +00006# RUN: FileCheck --check-prefix=XUNIT < %t.xml %s
7
Daniel Dunbar14b82652013-01-31 18:05:01 +00008# END.
9
10# CHECK: -- Testing:
11
Daniel Dunbarb8da61f2013-08-29 02:52:10 +000012# CHECK: PASS: shtest-format :: argv0.txt
Daniel Dunbar14b82652013-01-31 18:05:01 +000013# CHECK: FAIL: shtest-format :: external_shell/fail.txt
Daniel Dunbar54d613b2013-08-14 22:21:01 +000014# CHECK-NEXT: *** TEST 'shtest-format :: external_shell/fail.txt' FAILED ***
15# CHECK: Command Output (stdout):
16# CHECK-NEXT: --
17# CHECK-NEXT: line 1: failed test output on stdout
18# CHECK-NEXT: line 2: failed test output on stdout
Daniel Dunbar14b82652013-01-31 18:05:01 +000019# CHECK: Command Output (stderr):
Daniel Dunbar54d613b2013-08-14 22:21:01 +000020# CHECK-NEXT: --
Greg Bedwell34a83f02017-11-29 18:05:26 +000021# CHECK-NEXT: cat{{(\.exe)?}}: does-not-exist: No such file or directory
Daniel Dunbar54d613b2013-08-14 22:21:01 +000022# CHECK: --
23
24# CHECK: FAIL: shtest-format :: external_shell/fail_with_bad_encoding.txt
25# CHECK-NEXT: *** TEST 'shtest-format :: external_shell/fail_with_bad_encoding.txt' FAILED ***
26# CHECK: Command Output (stdout):
27# CHECK-NEXT: --
28# CHECK-NEXT: a line with bad encoding:
Daniel Dunbar14b82652013-01-31 18:05:01 +000029# CHECK: --
30
31# CHECK: PASS: shtest-format :: external_shell/pass.txt
32
33# CHECK: FAIL: shtest-format :: fail.txt
Daniel Dunbar54d613b2013-08-14 22:21:01 +000034# CHECK-NEXT: *** TEST 'shtest-format :: fail.txt' FAILED ***
35# CHECK-NEXT: Script:
36# CHECK-NEXT: --
37# CHECK-NEXT: printf "line 1
38# CHECK-NEXT: false
39# CHECK-NEXT: --
40# CHECK-NEXT: Exit Code: 1
41#
42# CHECK: Command Output (stdout):
43# CHECK-NEXT: --
Joel E. Denny31b37392018-05-31 00:55:32 +000044# CHECK-NEXT: $ ":" "RUN: at line 1"
Daniel Dunbar591838d2016-06-02 23:49:42 +000045# CHECK-NEXT: $ "printf"
46# CHECK-NEXT: # command output:
Daniel Dunbar54d613b2013-08-14 22:21:01 +000047# CHECK-NEXT: line 1: failed test output on stdout
48# CHECK-NEXT: line 2: failed test output on stdout
Daniel Dunbar14b82652013-01-31 18:05:01 +000049
50# CHECK: UNRESOLVED: shtest-format :: no-test-line.txt
51# CHECK: PASS: shtest-format :: pass.txt
Greg Parkerd9728822017-01-24 08:58:20 +000052# CHECK: UNSUPPORTED: shtest-format :: requires-any-missing.txt
53# CHECK: PASS: shtest-format :: requires-any-present.txt
Daniel Dunbar14b82652013-01-31 18:05:01 +000054# CHECK: UNSUPPORTED: shtest-format :: requires-missing.txt
55# CHECK: PASS: shtest-format :: requires-present.txt
Greg Parker17db7702017-01-25 02:26:03 +000056# CHECK: UNRESOLVED: shtest-format :: requires-star.txt
57# CHECK: UNSUPPORTED: shtest-format :: requires-triple.txt
58# CHECK: PASS: shtest-format :: unsupported-expr-false.txt
59# CHECK: UNSUPPORTED: shtest-format :: unsupported-expr-true.txt
60# CHECK: UNRESOLVED: shtest-format :: unsupported-star.txt
Daniel Dunbar14b82652013-01-31 18:05:01 +000061# CHECK: UNSUPPORTED: shtest-format :: unsupported_dir/some-test.txt
Greg Parker17db7702017-01-25 02:26:03 +000062# CHECK: PASS: shtest-format :: xfail-expr-false.txt
63# CHECK: XFAIL: shtest-format :: xfail-expr-true.txt
Daniel Dunbar14b82652013-01-31 18:05:01 +000064# CHECK: XFAIL: shtest-format :: xfail-feature.txt
65# CHECK: XFAIL: shtest-format :: xfail-target.txt
66# CHECK: XFAIL: shtest-format :: xfail.txt
67# CHECK: XPASS: shtest-format :: xpass.txt
Daniel Dunbar898d0d32013-08-21 22:26:42 +000068# CHECK-NEXT: *** TEST 'shtest-format :: xpass.txt' FAILED ***
69# CHECK-NEXT: Script
70# CHECK-NEXT: --
71# CHECK-NEXT: true
72# CHECK-NEXT: --
Daniel Dunbar14b82652013-01-31 18:05:01 +000073# CHECK: Testing Time
74
75# CHECK: Unexpected Passing Tests (1)
76# CHECK: shtest-format :: xpass.txt
77
Daniel Dunbar54d613b2013-08-14 22:21:01 +000078# CHECK: Failing Tests (3)
Daniel Dunbar14b82652013-01-31 18:05:01 +000079# CHECK: shtest-format :: external_shell/fail.txt
Daniel Dunbar54d613b2013-08-14 22:21:01 +000080# CHECK: shtest-format :: external_shell/fail_with_bad_encoding.txt
Daniel Dunbar14b82652013-01-31 18:05:01 +000081# CHECK: shtest-format :: fail.txt
82
Greg Parker17db7702017-01-25 02:26:03 +000083# CHECK: Expected Passes : 7
84# CHECK: Expected Failures : 4
85# CHECK: Unsupported Tests : 5
86# CHECK: Unresolved Tests : 3
Daniel Dunbar14b82652013-01-31 18:05:01 +000087# CHECK: Unexpected Passes : 1
Daniel Dunbar54d613b2013-08-14 22:21:01 +000088# CHECK: Unexpected Failures: 3
Justin Bogner78bb0b42018-07-23 18:08:36 +000089
90
91# XUNIT: <?xml version="1.0" encoding="UTF-8" ?>
92# XUNIT-NEXT: <testsuites>
93# XUNIT-NEXT: <testsuite name="shtest-format" tests="23" failures="7" skipped="5">
94
95# XUNIT: <testcase classname="shtest-format.shtest-format" name="argv0.txt" time="{{[0-9]+\.[0-9]+}}"/>
96
97# XUNIT: <testcase classname="shtest-format.external_shell" name="fail.txt" time="{{[0-9]+\.[0-9]+}}">
98# XUNIT-NEXT: <failure{{[ ]*}}>
99# XUNIT: </failure>
100# XUNIT-NEXT: </testcase>
101
102
103# XUNIT: <testcase classname="shtest-format.external_shell" name="fail_with_bad_encoding.txt" time="{{[0-9]+\.[0-9]+}}">
104# XUNIT-NEXT: <failure{{[ ]*}}>
105# XUNIT: </failure>
106# XUNIT-NEXT: </testcase>
107
108# XUNIT: <testcase classname="shtest-format.external_shell" name="pass.txt" time="{{[0-9]+\.[0-9]+}}"/>
109
110# XUNIT: <testcase classname="shtest-format.shtest-format" name="fail.txt" time="{{[0-9]+\.[0-9]+}}">
111# XUNIT-NEXT: <failure{{[ ]*}}>
112# XUNIT: </failure>
113# XUNIT-NEXT: </testcase>
114
115# XUNIT: <testcase classname="shtest-format.shtest-format" name="no-test-line.txt" time="{{[0-9]+\.[0-9]+}}">
116# XUNIT-NEXT: <failure{{[ ]*}}>
117# XUNIT: </failure>
118# XUNIT-NEXT: </testcase>
119
120# XUNIT: <testcase classname="shtest-format.shtest-format" name="pass.txt" time="{{[0-9]+\.[0-9]+}}"/>
121
122# XUNIT: <testcase classname="shtest-format.shtest-format" name="requires-any-missing.txt" time="{{[0-9]+\.[0-9]+}}">
123# XUNIT-NEXT:<skipped message="Skipping because of: a-missing-feature || a-missing-feature-2" />
124
125# XUNIT: <testcase classname="shtest-format.shtest-format" name="requires-any-present.txt" time="{{[0-9]+\.[0-9]+}}"/>
126
127# XUNIT: <testcase classname="shtest-format.shtest-format" name="requires-missing.txt" time="{{[0-9]+\.[0-9]+}}">
128# XUNIT-NEXT:<skipped message="Skipping because of: a-missing-feature" />
129
130# XUNIT: <testcase classname="shtest-format.shtest-format" name="requires-present.txt" time="{{[0-9]+\.[0-9]+}}"/>
131
132# XUNIT: <testcase classname="shtest-format.shtest-format" name="requires-star.txt" time="{{[0-9]+\.[0-9]+}}">
133# XUNIT-NEXT: <failure{{[ ]*}}>
134# XUNIT: </failure>
135# XUNIT-NEXT: </testcase>
136
137
138# XUNIT: <testcase classname="shtest-format.shtest-format" name="requires-triple.txt" time="{{[0-9]+\.[0-9]+}}">
139# XUNIT-NEXT:<skipped message="Skipping because of: x86_64" />
140
141# XUNIT: <testcase classname="shtest-format.shtest-format" name="unsupported-expr-false.txt" time="{{[0-9]+\.[0-9]+}}"/>
142
143# XUNIT: <testcase classname="shtest-format.shtest-format" name="unsupported-expr-true.txt" time="{{[0-9]+\.[0-9]+}}">
144# XUNIT-NEXT:<skipped message="Skipping because of configuration." />
145
146# XUNIT: <testcase classname="shtest-format.shtest-format" name="unsupported-star.txt" time="{{[0-9]+\.[0-9]+}}">
147# XUNIT-NEXT: <failure{{[ ]*}}>
148# XUNIT: </failure>
149# XUNIT-NEXT: </testcase>
150
151# XUNIT: <testcase classname="shtest-format.unsupported_dir" name="some-test.txt" time="{{[0-9]+\.[0-9]+}}">
152# XUNIT-NEXT:<skipped message="Skipping because of configuration." />
153
154# XUNIT: <testcase classname="shtest-format.shtest-format" name="xfail-expr-false.txt" time="{{[0-9]+\.[0-9]+}}"/>
155
156# XUNIT: <testcase classname="shtest-format.shtest-format" name="xfail-expr-true.txt" time="{{[0-9]+\.[0-9]+}}"/>
157
158# XUNIT: <testcase classname="shtest-format.shtest-format" name="xfail-feature.txt" time="{{[0-9]+\.[0-9]+}}"/>
159
160# XUNIT: <testcase classname="shtest-format.shtest-format" name="xfail-target.txt" time="{{[0-9]+\.[0-9]+}}"/>
161
162# XUNIT: <testcase classname="shtest-format.shtest-format" name="xfail.txt" time="{{[0-9]+\.[0-9]+}}"/>
163
164# XUNIT: <testcase classname="shtest-format.shtest-format" name="xpass.txt" time="{{[0-9]+\.[0-9]+}}">
165# XUNIT-NEXT: <failure{{[ ]*}}>
166# XUNIT: </failure>
167# XUNIT-NEXT: </testcase>
168
169# XUNIT: </testsuite>
170# XUNIT-NEXT: </testsuites>