1# Copyright (c) 2007 The NetBSD Foundation, Inc. 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions 6# are met: 7# 1. Redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer. 9# 2. Redistributions in binary form must reproduce the above copyright 10# notice, this list of conditions and the following disclaimer in the 11# documentation and/or other materials provided with the distribution. 12# 13# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND 14# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 15# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY 18# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 20# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 22# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 23# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 24# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 26# ------------------------------------------------------------------------- 27# Helper tests for "t_atf_check". 28# ------------------------------------------------------------------------- 29 30atf_test_case atf_check_info_ok 31atf_check_info_ok_head() 32{ 33 atf_set "descr" "Helper test case for the t_atf_check test program" 34} 35atf_check_info_ok_body() 36{ 37 atf_check -s eq:0 -o empty -e empty true 38} 39 40atf_test_case atf_check_info_fail 41atf_check_info_fail_head() 42{ 43 atf_set "descr" "Helper test case for the t_atf_check test program" 44} 45atf_check_info_fail_body() 46{ 47 # In Solaris, /usr/bin/false returns 255 rather than 1. Use the 48 # built-in version for the check. 49 atf_check -s eq:1 -o empty -e empty sh -c "false" 50} 51 52atf_test_case atf_check_expout_mismatch 53atf_check_expout_mismatch_head() 54{ 55 atf_set "descr" "Helper test case for the t_atf_check test program" 56} 57atf_check_expout_mismatch_body() 58{ 59 cat >expout <<SECONDEOF 60foo 61SECONDEOF 62 atf_check -s eq:0 -o file:expout -e empty echo bar 63} 64 65atf_test_case atf_check_experr_mismatch 66atf_check_experr_mismatch_head() 67{ 68 atf_set "descr" "Helper test case for the t_atf_check test program" 69} 70atf_check_experr_mismatch_body() 71{ 72 cat >experr <<SECONDEOF 73foo 74SECONDEOF 75 atf_check -s eq:0 -o empty -e file:experr -x 'echo bar 1>&2' 76} 77 78atf_test_case atf_check_null_stdout 79atf_check_null_stdout_head() 80{ 81 atf_set "descr" "Helper test case for the t_atf_check test program" 82} 83atf_check_null_stdout_body() 84{ 85 atf_check -s eq:0 -o empty -e empty echo "These are the contents" 86} 87 88atf_test_case atf_check_null_stderr 89atf_check_null_stderr_head() 90{ 91 atf_set "descr" "Helper test case for the t_atf_check test program" 92} 93atf_check_null_stderr_body() 94{ 95 atf_check -s eq:0 -o empty -e empty -x 'echo "These are the contents" 1>&2' 96} 97 98atf_test_case atf_check_equal_ok 99atf_check_equal_ok_head() 100{ 101 atf_set "descr" "Helper test case for the t_atf_check test program" 102} 103atf_check_equal_ok_body() 104{ 105 atf_check_equal a a 106} 107 108atf_test_case atf_check_equal_fail 109atf_check_equal_fail_head() 110{ 111 atf_set "descr" "Helper test case for the t_atf_check test program" 112} 113atf_check_equal_fail_body() 114{ 115 atf_check_equal a b 116} 117 118atf_test_case atf_check_equal_eval_ok 119atf_check_equal_eval_ok_head() 120{ 121 atf_set "descr" "Helper test case for the t_atf_check test program" 122} 123atf_check_equal_eval_ok_body() 124{ 125 x=a 126 y=a 127 atf_check_equal '${x}' '${y}' 128} 129 130atf_test_case atf_check_equal_eval_fail 131atf_check_equal_eval_fail_head() 132{ 133 atf_set "descr" "Helper test case for the t_atf_check test program" 134} 135atf_check_equal_eval_fail_body() 136{ 137 x=a 138 y=b 139 atf_check_equal '${x}' '${y}' 140} 141 142atf_test_case atf_check_timeout 143atf_check_timeout_head() 144{ 145 atf_set "descr" "Helper test case for the t_atf_check test program" 146 atf_set "timeout" 1 147} 148atf_check_timeout_body() 149{ 150 atf_check true 151 atf_check sleep 42 152} 153 154# ------------------------------------------------------------------------- 155# Helper tests for "t_config". 156# ------------------------------------------------------------------------- 157 158atf_test_case config_get 159config_get_head() 160{ 161 atf_set "descr" "Helper test case for the t_config test program" 162} 163config_get_body() 164{ 165 if atf_config_has ${TEST_VARIABLE}; then 166 echo "${TEST_VARIABLE} = $(atf_config_get ${TEST_VARIABLE})" 167 fi 168} 169 170atf_test_case config_has 171config_has_head() 172{ 173 atf_set "descr" "Helper test case for the t_config test program" 174} 175config_has_body() 176{ 177 if atf_config_has ${TEST_VARIABLE}; then 178 echo "${TEST_VARIABLE} found" 179 else 180 echo "${TEST_VARIABLE} not found" 181 fi 182} 183 184# ------------------------------------------------------------------------- 185# Helper tests for "t_normalize". 186# ------------------------------------------------------------------------- 187 188atf_test_case normalize 189normalize_head() 190{ 191 atf_set "descr" "Helper test case for the t_normalize test program" 192 atf_set "a.b" "test value 1" 193 atf_set "c-d" "test value 2" 194} 195normalize_body() 196{ 197 echo "a.b: $(atf_get a.b)" 198 echo "c-d: $(atf_get c-d)" 199} 200 201# ------------------------------------------------------------------------- 202# Helper tests for "t_tc". 203# ------------------------------------------------------------------------- 204 205atf_test_case tc_pass_true 206tc_pass_true_head() 207{ 208 atf_set "descr" "Helper test case for the t_tc test program" 209} 210tc_pass_true_body() 211{ 212 true 213} 214 215atf_test_case tc_pass_false 216tc_pass_false_head() 217{ 218 atf_set "descr" "Helper test case for the t_tc test program" 219} 220tc_pass_false_body() 221{ 222 false 223} 224 225atf_test_case tc_pass_return_error 226tc_pass_return_error_head() 227{ 228 atf_set "descr" "Helper test case for the t_tc test program" 229} 230tc_pass_return_error_body() 231{ 232 return 1 233} 234 235atf_test_case tc_fail 236tc_fail_head() 237{ 238 atf_set "descr" "Helper test case for the t_tc test program" 239} 240tc_fail_body() 241{ 242 echo "An error" 1>&2 243 exit 1 244} 245 246atf_test_case tc_missing_body 247tc_missing_body_head() 248{ 249 atf_set "descr" "Helper test case for the t_tc test program" 250} 251 252# ------------------------------------------------------------------------- 253# Helper tests for "t_tp". 254# ------------------------------------------------------------------------- 255 256atf_test_case tp_srcdir 257tp_srcdir_head() 258{ 259 atf_set "descr" "Helper test case for the t_tp test program" 260} 261tp_srcdir_body() 262{ 263 echo "Calling helper" 264 helper_subr || atf_fail "Could not call helper subroutine" 265} 266 267# ------------------------------------------------------------------------- 268# Main. 269# ------------------------------------------------------------------------- 270 271atf_init_test_cases() 272{ 273 # Add helper tests for t_atf_check. 274 atf_add_test_case atf_check_info_ok 275 atf_add_test_case atf_check_info_fail 276 atf_add_test_case atf_check_expout_mismatch 277 atf_add_test_case atf_check_experr_mismatch 278 atf_add_test_case atf_check_null_stdout 279 atf_add_test_case atf_check_null_stderr 280 atf_add_test_case atf_check_equal_ok 281 atf_add_test_case atf_check_equal_fail 282 atf_add_test_case atf_check_equal_eval_ok 283 atf_add_test_case atf_check_equal_eval_fail 284 atf_add_test_case atf_check_timeout 285 286 # Add helper tests for t_config. 287 atf_add_test_case config_get 288 atf_add_test_case config_has 289 290 # Add helper tests for t_normalize. 291 atf_add_test_case normalize 292 293 # Add helper tests for t_tc. 294 atf_add_test_case tc_pass_true 295 atf_add_test_case tc_pass_false 296 atf_add_test_case tc_pass_return_error 297 atf_add_test_case tc_fail 298 atf_add_test_case tc_missing_body 299 300 # Add helper tests for t_tp. 301 [ -f $(atf_get_srcdir)/subrs ] && . $(atf_get_srcdir)/subrs 302 atf_add_test_case tp_srcdir 303} 304 305# vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 306