xref: /freebsd/contrib/kyua/integration/cmd_report_test.sh (revision 257e70f1d5ee61037c8c59b116538d3b6b1427a2)
1b0d29bc4SBrooks Davis# Copyright 2011 The Kyua Authors.
2b0d29bc4SBrooks Davis# All rights reserved.
3b0d29bc4SBrooks Davis#
4b0d29bc4SBrooks Davis# Redistribution and use in source and binary forms, with or without
5b0d29bc4SBrooks Davis# modification, are permitted provided that the following conditions are
6b0d29bc4SBrooks Davis# met:
7b0d29bc4SBrooks Davis#
8b0d29bc4SBrooks Davis# * Redistributions of source code must retain the above copyright
9b0d29bc4SBrooks Davis#   notice, this list of conditions and the following disclaimer.
10b0d29bc4SBrooks Davis# * Redistributions in binary form must reproduce the above copyright
11b0d29bc4SBrooks Davis#   notice, this list of conditions and the following disclaimer in the
12b0d29bc4SBrooks Davis#   documentation and/or other materials provided with the distribution.
13b0d29bc4SBrooks Davis# * Neither the name of Google Inc. nor the names of its contributors
14b0d29bc4SBrooks Davis#   may be used to endorse or promote products derived from this software
15b0d29bc4SBrooks Davis#   without specific prior written permission.
16b0d29bc4SBrooks Davis#
17b0d29bc4SBrooks Davis# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18b0d29bc4SBrooks Davis# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19b0d29bc4SBrooks Davis# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20b0d29bc4SBrooks Davis# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21b0d29bc4SBrooks Davis# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22b0d29bc4SBrooks Davis# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23b0d29bc4SBrooks Davis# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24b0d29bc4SBrooks Davis# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25b0d29bc4SBrooks Davis# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26b0d29bc4SBrooks Davis# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27b0d29bc4SBrooks Davis# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28b0d29bc4SBrooks Davis
29b0d29bc4SBrooks Davis
30b0d29bc4SBrooks Davis# Executes a mock test suite to generate data in the database.
31b0d29bc4SBrooks Davis#
32b0d29bc4SBrooks Davis# \param mock_env The value to store in a MOCK variable in the environment.
33b0d29bc4SBrooks Davis#     Use this to be able to differentiate executions by inspecting the
34b0d29bc4SBrooks Davis#     context of the output.
35b0d29bc4SBrooks Davis# \param dbfile_name File to which to write the path to the generated database
36b0d29bc4SBrooks Davis#     file.
37b0d29bc4SBrooks Davisrun_tests() {
38b0d29bc4SBrooks Davis    local mock_env="${1}"; shift
39b0d29bc4SBrooks Davis    local dbfile_name="${1}"; shift
40b0d29bc4SBrooks Davis
41b0d29bc4SBrooks Davis    cat >Kyuafile <<EOF
42b0d29bc4SBrooks Davissyntax(2)
43b0d29bc4SBrooks Davistest_suite("integration")
44b0d29bc4SBrooks Davisatf_test_program{name="simple_all_pass"}
45b0d29bc4SBrooks DavisEOF
46b0d29bc4SBrooks Davis
47b0d29bc4SBrooks Davis    utils_cp_helper simple_all_pass .
48b0d29bc4SBrooks Davis    atf_check -s exit:0 -o save:stdout -e empty env \
49b0d29bc4SBrooks Davis        MOCK="${mock_env}" _='fake-value' kyua test
50b0d29bc4SBrooks Davis    grep '^Results saved to ' stdout | cut -d ' ' -f 4 >"${dbfile_name}"
51b0d29bc4SBrooks Davis    rm stdout
52b0d29bc4SBrooks Davis
53b0d29bc4SBrooks Davis    # Ensure the results of 'report' come from the database.
54b0d29bc4SBrooks Davis    rm Kyuafile simple_all_pass
55b0d29bc4SBrooks Davis}
56b0d29bc4SBrooks Davis
57b0d29bc4SBrooks Davis
58b0d29bc4SBrooks Davisutils_test_case default_behavior__ok
59b0d29bc4SBrooks Davisdefault_behavior__ok_body() {
60b0d29bc4SBrooks Davis    utils_install_times_wrapper
61b0d29bc4SBrooks Davis
62b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
63b0d29bc4SBrooks Davis
64b0d29bc4SBrooks Davis    cat >expout <<EOF
65b0d29bc4SBrooks Davis===> Skipped tests
66b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
67b0d29bc4SBrooks Davis===> Summary
68b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
69b0d29bc4SBrooks DavisTest cases: 2 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
70b0d29bc4SBrooks DavisTotal time: S.UUUs
71b0d29bc4SBrooks DavisEOF
72b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report
73b0d29bc4SBrooks Davis
74b0d29bc4SBrooks Davis    run_tests "mock2" dbfile_name2
75b0d29bc4SBrooks Davis
76b0d29bc4SBrooks Davis    cat >expout <<EOF
77b0d29bc4SBrooks Davis===> Skipped tests
78b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
79b0d29bc4SBrooks Davis===> Summary
80b0d29bc4SBrooks DavisResults read from $(cat dbfile_name2)
81b0d29bc4SBrooks DavisTest cases: 2 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
82b0d29bc4SBrooks DavisTotal time: S.UUUs
83b0d29bc4SBrooks DavisEOF
84b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report
85b0d29bc4SBrooks Davis}
86b0d29bc4SBrooks Davis
87b0d29bc4SBrooks Davis
88b0d29bc4SBrooks Davisutils_test_case default_behavior__no_store
89b0d29bc4SBrooks Davisdefault_behavior__no_store_body() {
90b0d29bc4SBrooks Davis    echo 'kyua: E: No previous results file found for test suite' \
91b0d29bc4SBrooks Davis        "$(utils_test_suite_id)." >experr
92b0d29bc4SBrooks Davis    atf_check -s exit:2 -o empty -e file:experr kyua report
93b0d29bc4SBrooks Davis}
94b0d29bc4SBrooks Davis
95b0d29bc4SBrooks Davis
96b0d29bc4SBrooks Davisutils_test_case results_file__explicit
97b0d29bc4SBrooks Davisresults_file__explicit_body() {
98b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
99b0d29bc4SBrooks Davis    run_tests "mock2" dbfile_name2
100b0d29bc4SBrooks Davis
101b0d29bc4SBrooks Davis    atf_check -s exit:0 -o match:"MOCK=mock1" -o not-match:"MOCK=mock2" \
102b0d29bc4SBrooks Davis        -e empty kyua report --results-file="$(cat dbfile_name1)" \
103b0d29bc4SBrooks Davis        --verbose
104b0d29bc4SBrooks Davis    atf_check -s exit:0 -o not-match:"MOCK=mock1" -o match:"MOCK=mock2" \
105b0d29bc4SBrooks Davis        -e empty kyua report --results-file="$(cat dbfile_name2)" \
106b0d29bc4SBrooks Davis        --verbose
107b0d29bc4SBrooks Davis}
108b0d29bc4SBrooks Davis
109b0d29bc4SBrooks Davis
110b0d29bc4SBrooks Davisutils_test_case results_file__not_found
111b0d29bc4SBrooks Davisresults_file__not_found_body() {
112b0d29bc4SBrooks Davis    atf_check -s exit:2 -o empty -e match:"kyua: E: No previous results.*foo" \
113b0d29bc4SBrooks Davis        kyua report --results-file=foo
114b0d29bc4SBrooks Davis}
115b0d29bc4SBrooks Davis
116b0d29bc4SBrooks Davis
117b0d29bc4SBrooks Davisutils_test_case output__explicit
118b0d29bc4SBrooks Davisoutput__explicit_body() {
119b0d29bc4SBrooks Davis    run_tests unused_mock dbfile_name
120b0d29bc4SBrooks Davis
121b0d29bc4SBrooks Davis    cat >report <<EOF
122b0d29bc4SBrooks Davis===> Skipped tests
123b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
124b0d29bc4SBrooks Davis===> Summary
125b0d29bc4SBrooks DavisResults read from $(cat dbfile_name)
126b0d29bc4SBrooks DavisTest cases: 2 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
127b0d29bc4SBrooks DavisTotal time: S.UUUs
128b0d29bc4SBrooks DavisEOF
129b0d29bc4SBrooks Davis
130b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:report -e empty -x kyua report \
131b0d29bc4SBrooks Davis        --output=/dev/stdout "| ${utils_strip_times_but_not_ids}"
132b0d29bc4SBrooks Davis    atf_check -s exit:0 -o empty -e save:stderr kyua report \
133b0d29bc4SBrooks Davis        --output=/dev/stderr
134b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:report -x cat stderr \
135b0d29bc4SBrooks Davis        "| ${utils_strip_times_but_not_ids}"
136b0d29bc4SBrooks Davis
137b0d29bc4SBrooks Davis    atf_check -s exit:0 -o empty -e empty kyua report \
138b0d29bc4SBrooks Davis        --output=my-file
139b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:report -x cat my-file \
140b0d29bc4SBrooks Davis        "| ${utils_strip_times_but_not_ids}"
141b0d29bc4SBrooks Davis}
142b0d29bc4SBrooks Davis
143b0d29bc4SBrooks Davis
144b0d29bc4SBrooks Davisutils_test_case filter__ok
145b0d29bc4SBrooks Davisfilter__ok_body() {
146b0d29bc4SBrooks Davis    utils_install_times_wrapper
147b0d29bc4SBrooks Davis
148b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
149b0d29bc4SBrooks Davis
150b0d29bc4SBrooks Davis    cat >expout <<EOF
151b0d29bc4SBrooks Davis===> Skipped tests
152b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
153b0d29bc4SBrooks Davis===> Summary
154b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
155b0d29bc4SBrooks DavisTest cases: 1 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
156b0d29bc4SBrooks DavisTotal time: S.UUUs
157b0d29bc4SBrooks DavisEOF
158b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report \
159b0d29bc4SBrooks Davis        simple_all_pass:skip
160b0d29bc4SBrooks Davis}
161b0d29bc4SBrooks Davis
162b0d29bc4SBrooks Davis
163b0d29bc4SBrooks Davisutils_test_case filter__ok_passed_excluded_by_default
164b0d29bc4SBrooks Davisfilter__ok_passed_excluded_by_default_body() {
165b0d29bc4SBrooks Davis    utils_install_times_wrapper
166b0d29bc4SBrooks Davis
167b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
168b0d29bc4SBrooks Davis
169b0d29bc4SBrooks Davis    # Passed results are excluded by default so they are not displayed even if
170b0d29bc4SBrooks Davis    # requested with a test case filter.  This might be somewhat confusing...
171b0d29bc4SBrooks Davis    cat >expout <<EOF
172b0d29bc4SBrooks Davis===> Summary
173b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
174b0d29bc4SBrooks DavisTest cases: 1 total, 0 skipped, 0 expected failures, 0 broken, 0 failed
175b0d29bc4SBrooks DavisTotal time: S.UUUs
176b0d29bc4SBrooks DavisEOF
177b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report \
178b0d29bc4SBrooks Davis        simple_all_pass:pass
179b0d29bc4SBrooks Davis    cat >expout <<EOF
180b0d29bc4SBrooks Davis===> Passed tests
181b0d29bc4SBrooks Davissimple_all_pass:pass  ->  passed  [S.UUUs]
182b0d29bc4SBrooks Davis===> Summary
183b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
184b0d29bc4SBrooks DavisTest cases: 1 total, 0 skipped, 0 expected failures, 0 broken, 0 failed
185b0d29bc4SBrooks DavisTotal time: S.UUUs
186b0d29bc4SBrooks DavisEOF
187b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report \
188b0d29bc4SBrooks Davis        --results-filter= simple_all_pass:pass
189b0d29bc4SBrooks Davis}
190b0d29bc4SBrooks Davis
191b0d29bc4SBrooks Davis
192b0d29bc4SBrooks Davisutils_test_case filter__no_match
193b0d29bc4SBrooks Davisfilter__no_match_body() {
194b0d29bc4SBrooks Davis    utils_install_times_wrapper
195b0d29bc4SBrooks Davis
196b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
197b0d29bc4SBrooks Davis
198b0d29bc4SBrooks Davis    cat >expout <<EOF
199b0d29bc4SBrooks Davis===> Skipped tests
200b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
201b0d29bc4SBrooks Davis===> Summary
202b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
203b0d29bc4SBrooks DavisTest cases: 1 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
204b0d29bc4SBrooks DavisTotal time: S.UUUs
205b0d29bc4SBrooks DavisEOF
206b0d29bc4SBrooks Davis    cat >experr <<EOF
207b0d29bc4SBrooks Daviskyua: W: No test cases matched by the filter 'first'.
208b0d29bc4SBrooks Daviskyua: W: No test cases matched by the filter 'simple_all_pass:second'.
209b0d29bc4SBrooks DavisEOF
210b0d29bc4SBrooks Davis    atf_check -s exit:1 -o file:expout -e file:experr kyua report \
211b0d29bc4SBrooks Davis        first simple_all_pass:skip simple_all_pass:second
212b0d29bc4SBrooks Davis}
213b0d29bc4SBrooks Davis
214b0d29bc4SBrooks Davis
215b0d29bc4SBrooks Davisutils_test_case verbose
216b0d29bc4SBrooks Davisverbose_body() {
217b0d29bc4SBrooks Davis    # Switch to the current directory using its physical location and update
218b0d29bc4SBrooks Davis    # HOME accordingly.  Otherwise, the test below where we compare the value
219b0d29bc4SBrooks Davis    # of HOME in the output might fail if the path to HOME contains a symlink
220b0d29bc4SBrooks Davis    # (as is the case in OS X when HOME points to the temporary directory.)
221b0d29bc4SBrooks Davis    local real_cwd="$(pwd -P)"
222b0d29bc4SBrooks Davis    cd "${real_cwd}"
223b0d29bc4SBrooks Davis    HOME="${real_cwd}"
224b0d29bc4SBrooks Davis
225b0d29bc4SBrooks Davis    run_tests "mock1
226b0d29bc4SBrooks Davishas multiple lines
227b0d29bc4SBrooks Davisand terminates here" dbfile_name
228b0d29bc4SBrooks Davis
229b0d29bc4SBrooks Davis    cat >expout <<EOF
230b0d29bc4SBrooks Davis===> Execution context
231b0d29bc4SBrooks DavisCurrent directory: ${real_cwd}
232b0d29bc4SBrooks DavisEnvironment variables:
233b0d29bc4SBrooks DavisEOF
234b0d29bc4SBrooks Davis    # $_ is a bash variable.  To keep our tests stable, we override its value
235b0d29bc4SBrooks Davis    # below to match the hardcoded value in run_tests.
236b0d29bc4SBrooks Davis    env \
237b0d29bc4SBrooks Davis        HOME="${real_cwd}" \
238b0d29bc4SBrooks Davis        MOCK="mock1
239b0d29bc4SBrooks Davishas multiple lines
240b0d29bc4SBrooks Davisand terminates here" \
241b0d29bc4SBrooks Davis        _='fake-value' \
242b0d29bc4SBrooks Davis        "$(atf_get_srcdir)/helpers/dump_env" '    ' '        ' >>expout
243b0d29bc4SBrooks Davis    cat >>expout <<EOF
244b0d29bc4SBrooks Davis===> simple_all_pass:skip
245b0d29bc4SBrooks DavisResult:     skipped: The reason for skipping is this
246b0d29bc4SBrooks DavisStart time: YYYY-MM-DDTHH:MM:SS.ssssssZ
247b0d29bc4SBrooks DavisEnd time:   YYYY-MM-DDTHH:MM:SS.ssssssZ
248b0d29bc4SBrooks DavisDuration:   S.UUUs
249b0d29bc4SBrooks Davis
250b0d29bc4SBrooks DavisMetadata:
251b0d29bc4SBrooks Davis    allowed_architectures is empty
252b0d29bc4SBrooks Davis    allowed_platforms is empty
253b0d29bc4SBrooks Davis    description is empty
254*257e70f1SIgor Ostapenko    execenv is empty
255*257e70f1SIgor Ostapenko    execenv_jail_params is empty
256b0d29bc4SBrooks Davis    has_cleanup = false
257b0d29bc4SBrooks Davis    is_exclusive = false
258b0d29bc4SBrooks Davis    required_configs is empty
259b0d29bc4SBrooks Davis    required_disk_space = 0
260b0d29bc4SBrooks Davis    required_files is empty
261b0d29bc4SBrooks Davis    required_memory = 0
262b0d29bc4SBrooks Davis    required_programs is empty
263b0d29bc4SBrooks Davis    required_user is empty
264b0d29bc4SBrooks Davis    timeout = 300
265b0d29bc4SBrooks Davis
266b0d29bc4SBrooks DavisStandard output:
267b0d29bc4SBrooks DavisThis is the stdout of skip
268b0d29bc4SBrooks Davis
269b0d29bc4SBrooks DavisStandard error:
270b0d29bc4SBrooks DavisThis is the stderr of skip
271b0d29bc4SBrooks Davis===> Skipped tests
272b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
273b0d29bc4SBrooks Davis===> Summary
274b0d29bc4SBrooks DavisResults read from $(cat dbfile_name)
275b0d29bc4SBrooks DavisTest cases: 2 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
276b0d29bc4SBrooks DavisStart time: YYYY-MM-DDTHH:MM:SS.ssssssZ
277b0d29bc4SBrooks DavisEnd time:   YYYY-MM-DDTHH:MM:SS.ssssssZ
278b0d29bc4SBrooks DavisTotal time: S.UUUs
279b0d29bc4SBrooks DavisEOF
280b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty -x kyua report --verbose \
281b0d29bc4SBrooks Davis        "| ${utils_strip_times_but_not_ids}"
282b0d29bc4SBrooks Davis}
283b0d29bc4SBrooks Davis
284b0d29bc4SBrooks Davis
285b0d29bc4SBrooks Davisutils_test_case results_filter__empty
286b0d29bc4SBrooks Davisresults_filter__empty_body() {
287b0d29bc4SBrooks Davis    utils_install_times_wrapper
288b0d29bc4SBrooks Davis
289b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
290b0d29bc4SBrooks Davis
291b0d29bc4SBrooks Davis    cat >expout <<EOF
292b0d29bc4SBrooks Davis===> Passed tests
293b0d29bc4SBrooks Davissimple_all_pass:pass  ->  passed  [S.UUUs]
294b0d29bc4SBrooks Davis===> Skipped tests
295b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
296b0d29bc4SBrooks Davis===> Summary
297b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
298b0d29bc4SBrooks DavisTest cases: 2 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
299b0d29bc4SBrooks DavisTotal time: S.UUUs
300b0d29bc4SBrooks DavisEOF
301b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report --results-filter=
302b0d29bc4SBrooks Davis}
303b0d29bc4SBrooks Davis
304b0d29bc4SBrooks Davis
305b0d29bc4SBrooks Davisutils_test_case results_filter__one
306b0d29bc4SBrooks Davisresults_filter__one_body() {
307b0d29bc4SBrooks Davis    utils_install_times_wrapper
308b0d29bc4SBrooks Davis
309b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
310b0d29bc4SBrooks Davis
311b0d29bc4SBrooks Davis    cat >expout <<EOF
312b0d29bc4SBrooks Davis===> Passed tests
313b0d29bc4SBrooks Davissimple_all_pass:pass  ->  passed  [S.UUUs]
314b0d29bc4SBrooks Davis===> Summary
315b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
316b0d29bc4SBrooks DavisTest cases: 2 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
317b0d29bc4SBrooks DavisTotal time: S.UUUs
318b0d29bc4SBrooks DavisEOF
319b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report \
320b0d29bc4SBrooks Davis        --results-filter=passed
321b0d29bc4SBrooks Davis}
322b0d29bc4SBrooks Davis
323b0d29bc4SBrooks Davis
324b0d29bc4SBrooks Davisutils_test_case results_filter__multiple_all_match
325b0d29bc4SBrooks Davisresults_filter__multiple_all_match_body() {
326b0d29bc4SBrooks Davis    utils_install_times_wrapper
327b0d29bc4SBrooks Davis
328b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
329b0d29bc4SBrooks Davis
330b0d29bc4SBrooks Davis    cat >expout <<EOF
331b0d29bc4SBrooks Davis===> Skipped tests
332b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
333b0d29bc4SBrooks Davis===> Passed tests
334b0d29bc4SBrooks Davissimple_all_pass:pass  ->  passed  [S.UUUs]
335b0d29bc4SBrooks Davis===> Summary
336b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
337b0d29bc4SBrooks DavisTest cases: 2 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
338b0d29bc4SBrooks DavisTotal time: S.UUUs
339b0d29bc4SBrooks DavisEOF
340b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report \
341b0d29bc4SBrooks Davis        --results-filter=skipped,passed
342b0d29bc4SBrooks Davis}
343b0d29bc4SBrooks Davis
344b0d29bc4SBrooks Davis
345b0d29bc4SBrooks Davisutils_test_case results_filter__multiple_some_match
346b0d29bc4SBrooks Davisresults_filter__multiple_some_match_body() {
347b0d29bc4SBrooks Davis    utils_install_times_wrapper
348b0d29bc4SBrooks Davis
349b0d29bc4SBrooks Davis    run_tests "mock1" dbfile_name1
350b0d29bc4SBrooks Davis
351b0d29bc4SBrooks Davis    cat >expout <<EOF
352b0d29bc4SBrooks Davis===> Skipped tests
353b0d29bc4SBrooks Davissimple_all_pass:skip  ->  skipped: The reason for skipping is this  [S.UUUs]
354b0d29bc4SBrooks Davis===> Summary
355b0d29bc4SBrooks DavisResults read from $(cat dbfile_name1)
356b0d29bc4SBrooks DavisTest cases: 2 total, 1 skipped, 0 expected failures, 0 broken, 0 failed
357b0d29bc4SBrooks DavisTotal time: S.UUUs
358b0d29bc4SBrooks DavisEOF
359b0d29bc4SBrooks Davis    atf_check -s exit:0 -o file:expout -e empty kyua report \
360b0d29bc4SBrooks Davis        --results-filter=skipped,xfail,broken,failed
361b0d29bc4SBrooks Davis}
362b0d29bc4SBrooks Davis
363b0d29bc4SBrooks Davis
364b0d29bc4SBrooks Davisatf_init_test_cases() {
365b0d29bc4SBrooks Davis    atf_add_test_case default_behavior__ok
366b0d29bc4SBrooks Davis    atf_add_test_case default_behavior__no_store
367b0d29bc4SBrooks Davis
368b0d29bc4SBrooks Davis    atf_add_test_case results_file__explicit
369b0d29bc4SBrooks Davis    atf_add_test_case results_file__not_found
370b0d29bc4SBrooks Davis
371b0d29bc4SBrooks Davis    atf_add_test_case filter__ok
372b0d29bc4SBrooks Davis    atf_add_test_case filter__ok_passed_excluded_by_default
373b0d29bc4SBrooks Davis    atf_add_test_case filter__no_match
374b0d29bc4SBrooks Davis
375b0d29bc4SBrooks Davis    atf_add_test_case verbose
376b0d29bc4SBrooks Davis
377b0d29bc4SBrooks Davis    atf_add_test_case output__explicit
378b0d29bc4SBrooks Davis
379b0d29bc4SBrooks Davis    atf_add_test_case results_filter__empty
380b0d29bc4SBrooks Davis    atf_add_test_case results_filter__one
381b0d29bc4SBrooks Davis    atf_add_test_case results_filter__multiple_all_match
382b0d29bc4SBrooks Davis    atf_add_test_case results_filter__multiple_some_match
383b0d29bc4SBrooks Davis}
384