2 # Automated Testing Framework (atf)
4 # Copyright (c) 2007 The NetBSD Foundation, Inc.
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
10 # 1. Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in the
14 # documentation and/or other materials provided with the distribution.
16 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
17 # CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
18 # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 # IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
21 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
23 # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25 # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 # -------------------------------------------------------------------------
31 # Helper tests for "t_atf_check".
32 # -------------------------------------------------------------------------
34 atf_test_case atf_check_info_ok
35 atf_check_info_ok_head
()
37 atf_set
"descr" "Helper test case for the t_atf_check test program"
39 atf_check_info_ok_body
()
41 atf_check
-s eq
:0 -o empty
-e empty true
44 atf_test_case atf_check_info_fail
45 atf_check_info_fail_head
()
47 atf_set
"descr" "Helper test case for the t_atf_check test program"
49 atf_check_info_fail_body
()
51 # In Solaris, /usr/bin/false returns 255 rather than 1. Use the
52 # built-in version for the check.
53 atf_check
-s eq
:1 -o empty
-e empty sh
-c "false"
56 atf_test_case atf_check_expout_mismatch
57 atf_check_expout_mismatch_head
()
59 atf_set
"descr" "Helper test case for the t_atf_check test program"
61 atf_check_expout_mismatch_body
()
63 cat >expout
<<SECONDEOF
66 atf_check
-s eq
:0 -o file:expout
-e empty
echo bar
69 atf_test_case atf_check_experr_mismatch
70 atf_check_experr_mismatch_head
()
72 atf_set
"descr" "Helper test case for the t_atf_check test program"
74 atf_check_experr_mismatch_body
()
76 cat >experr
<<SECONDEOF
79 atf_check
-s eq
:0 -o empty
-e file:experr
-x 'echo bar 1>&2'
82 atf_test_case atf_check_null_stdout
83 atf_check_null_stdout_head
()
85 atf_set
"descr" "Helper test case for the t_atf_check test program"
87 atf_check_null_stdout_body
()
89 atf_check
-s eq
:0 -o empty
-e empty
echo "These are the contents"
92 atf_test_case atf_check_null_stderr
93 atf_check_null_stderr_head
()
95 atf_set
"descr" "Helper test case for the t_atf_check test program"
97 atf_check_null_stderr_body
()
99 atf_check
-s eq
:0 -o empty
-e empty
-x 'echo "These are the contents" 1>&2'
102 atf_test_case atf_check_equal_ok
103 atf_check_equal_ok_head
()
105 atf_set
"descr" "Helper test case for the t_atf_check test program"
107 atf_check_equal_ok_body
()
112 atf_test_case atf_check_equal_fail
113 atf_check_equal_fail_head
()
115 atf_set
"descr" "Helper test case for the t_atf_check test program"
117 atf_check_equal_fail_body
()
122 atf_test_case atf_check_equal_eval_ok
123 atf_check_equal_eval_ok_head
()
125 atf_set
"descr" "Helper test case for the t_atf_check test program"
127 atf_check_equal_eval_ok_body
()
131 atf_check_equal
'${x}' '${y}'
134 atf_test_case atf_check_equal_eval_fail
135 atf_check_equal_eval_fail_head
()
137 atf_set
"descr" "Helper test case for the t_atf_check test program"
139 atf_check_equal_eval_fail_body
()
143 atf_check_equal
'${x}' '${y}'
146 atf_test_case atf_check_timeout
147 atf_check_timeout_head
()
149 atf_set
"descr" "Helper test case for the t_atf_check test program"
152 atf_check_timeout_body
()
158 # -------------------------------------------------------------------------
159 # Helper tests for "t_config".
160 # -------------------------------------------------------------------------
162 atf_test_case config_get
165 atf_set
"descr" "Helper test case for the t_config test program"
169 if atf_config_has
${TEST_VARIABLE}; then
170 echo "${TEST_VARIABLE} = $(atf_config_get ${TEST_VARIABLE})"
174 atf_test_case config_has
177 atf_set
"descr" "Helper test case for the t_config test program"
181 if atf_config_has
${TEST_VARIABLE}; then
182 echo "${TEST_VARIABLE} found"
184 echo "${TEST_VARIABLE} not found"
188 # -------------------------------------------------------------------------
189 # Helper tests for "t_normalize".
190 # -------------------------------------------------------------------------
192 atf_test_case normalize
195 atf_set
"descr" "Helper test case for the t_normalize test program"
196 atf_set
"a.b" "test value 1"
197 atf_set
"c-d" "test value 2"
201 echo "a.b: $(atf_get a.b)"
202 echo "c-d: $(atf_get c-d)"
205 # -------------------------------------------------------------------------
206 # Helper tests for "t_tc".
207 # -------------------------------------------------------------------------
209 atf_test_case tc_pass_true
212 atf_set
"descr" "Helper test case for the t_tc test program"
219 atf_test_case tc_pass_false
222 atf_set
"descr" "Helper test case for the t_tc test program"
229 atf_test_case tc_pass_return_error
230 tc_pass_return_error_head
()
232 atf_set
"descr" "Helper test case for the t_tc test program"
234 tc_pass_return_error_body
()
239 atf_test_case tc_fail
242 atf_set
"descr" "Helper test case for the t_tc test program"
250 atf_test_case tc_missing_body
251 tc_missing_body_head
()
253 atf_set
"descr" "Helper test case for the t_tc test program"
256 # -------------------------------------------------------------------------
257 # Helper tests for "t_tp".
258 # -------------------------------------------------------------------------
260 atf_test_case tp_srcdir
263 atf_set
"descr" "Helper test case for the t_tp test program"
267 echo "Calling helper"
268 helper_subr || atf_fail
"Could not call helper subroutine"
271 # -------------------------------------------------------------------------
273 # -------------------------------------------------------------------------
275 atf_init_test_cases
()
277 # Add helper tests for t_atf_check.
278 atf_add_test_case atf_check_info_ok
279 atf_add_test_case atf_check_info_fail
280 atf_add_test_case atf_check_expout_mismatch
281 atf_add_test_case atf_check_experr_mismatch
282 atf_add_test_case atf_check_null_stdout
283 atf_add_test_case atf_check_null_stderr
284 atf_add_test_case atf_check_equal_ok
285 atf_add_test_case atf_check_equal_fail
286 atf_add_test_case atf_check_equal_eval_ok
287 atf_add_test_case atf_check_equal_eval_fail
288 atf_add_test_case atf_check_timeout
290 # Add helper tests for t_config.
291 atf_add_test_case config_get
292 atf_add_test_case config_has
294 # Add helper tests for t_normalize.
295 atf_add_test_case normalize
297 # Add helper tests for t_tc.
298 atf_add_test_case tc_pass_true
299 atf_add_test_case tc_pass_false
300 atf_add_test_case tc_pass_return_error
301 atf_add_test_case tc_fail
302 atf_add_test_case tc_missing_body
304 # Add helper tests for t_tp.
305 [ -f $
(atf_get_srcdir
)/subrs
] && . $
(atf_get_srcdir
)/subrs
306 atf_add_test_case tp_srcdir
309 # vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4