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_flush_stdout 143atf_check_flush_stdout_head() 144{ 145 atf_set "descr" "Helper test case for the t_atf_check test program" 146 atf_set "timeout" "30" 147} 148atf_check_flush_stdout_body() 149{ 150 atf_check true 151 atf_check -s exit:1 false 152 touch "${CONTROL_FILE:-done}" 153 while :; do 154 sleep 1 155 done 156} 157 158# ------------------------------------------------------------------------- 159# Helper tests for "t_config". 160# ------------------------------------------------------------------------- 161 162atf_test_case config_get 163config_get_head() 164{ 165 atf_set "descr" "Helper test case for the t_config test program" 166} 167config_get_body() 168{ 169 if atf_config_has ${TEST_VARIABLE}; then 170 echo "${TEST_VARIABLE} = $(atf_config_get ${TEST_VARIABLE})" 171 fi 172} 173 174atf_test_case config_has 175config_has_head() 176{ 177 atf_set "descr" "Helper test case for the t_config test program" 178} 179config_has_body() 180{ 181 if atf_config_has ${TEST_VARIABLE}; then 182 echo "${TEST_VARIABLE} found" 183 else 184 echo "${TEST_VARIABLE} not found" 185 fi 186} 187 188# ------------------------------------------------------------------------- 189# Helper tests for "t_normalize". 190# ------------------------------------------------------------------------- 191 192atf_test_case normalize 193normalize_head() 194{ 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" 198} 199normalize_body() 200{ 201 echo "a.b: $(atf_get a.b)" 202 echo "c-d: $(atf_get c-d)" 203} 204 205# ------------------------------------------------------------------------- 206# Helper tests for "t_tc". 207# ------------------------------------------------------------------------- 208 209atf_test_case tc_pass_true 210tc_pass_true_head() 211{ 212 atf_set "descr" "Helper test case for the t_tc test program" 213} 214tc_pass_true_body() 215{ 216 true 217} 218 219atf_test_case tc_pass_false 220tc_pass_false_head() 221{ 222 atf_set "descr" "Helper test case for the t_tc test program" 223} 224tc_pass_false_body() 225{ 226 false 227} 228 229atf_test_case tc_pass_return_error 230tc_pass_return_error_head() 231{ 232 atf_set "descr" "Helper test case for the t_tc test program" 233} 234tc_pass_return_error_body() 235{ 236 return 1 237} 238 239atf_test_case tc_fail 240tc_fail_head() 241{ 242 atf_set "descr" "Helper test case for the t_tc test program" 243} 244tc_fail_body() 245{ 246 echo "An error" 1>&2 247 exit 1 248} 249 250atf_test_case tc_missing_body 251tc_missing_body_head() 252{ 253 atf_set "descr" "Helper test case for the t_tc test program" 254} 255 256# ------------------------------------------------------------------------- 257# Helper tests for "t_tp". 258# ------------------------------------------------------------------------- 259 260atf_test_case tp_srcdir 261tp_srcdir_head() 262{ 263 atf_set "descr" "Helper test case for the t_tp test program" 264} 265tp_srcdir_body() 266{ 267 echo "Calling helper" 268 helper_subr || atf_fail "Could not call helper subroutine" 269} 270 271# ------------------------------------------------------------------------- 272# Main. 273# ------------------------------------------------------------------------- 274 275atf_init_test_cases() 276{ 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_flush_stdout 289 290 # Add helper tests for t_config. 291 atf_add_test_case config_get 292 atf_add_test_case config_has 293 294 # Add helper tests for t_normalize. 295 atf_add_test_case normalize 296 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 303 304 # Add helper tests for t_tp. 305 [ -f $(atf_get_srcdir)/subrs ] && . $(atf_get_srcdir)/subrs 306 atf_add_test_case tp_srcdir 307} 308 309# vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 310