1*00b67f09SDavid van Moolenbroek# 2*00b67f09SDavid van Moolenbroek# Automated Testing Framework (atf) 3*00b67f09SDavid van Moolenbroek# 4*00b67f09SDavid van Moolenbroek# Copyright (c) 2007 The NetBSD Foundation, Inc. 5*00b67f09SDavid van Moolenbroek# All rights reserved. 6*00b67f09SDavid van Moolenbroek# 7*00b67f09SDavid van Moolenbroek# Redistribution and use in source and binary forms, with or without 8*00b67f09SDavid van Moolenbroek# modification, are permitted provided that the following conditions 9*00b67f09SDavid van Moolenbroek# are met: 10*00b67f09SDavid van Moolenbroek# 1. Redistributions of source code must retain the above copyright 11*00b67f09SDavid van Moolenbroek# notice, this list of conditions and the following disclaimer. 12*00b67f09SDavid van Moolenbroek# 2. Redistributions in binary form must reproduce the above copyright 13*00b67f09SDavid van Moolenbroek# notice, this list of conditions and the following disclaimer in the 14*00b67f09SDavid van Moolenbroek# documentation and/or other materials provided with the distribution. 15*00b67f09SDavid van Moolenbroek# 16*00b67f09SDavid van Moolenbroek# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND 17*00b67f09SDavid van Moolenbroek# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 18*00b67f09SDavid van Moolenbroek# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19*00b67f09SDavid van Moolenbroek# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20*00b67f09SDavid van Moolenbroek# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY 21*00b67f09SDavid van Moolenbroek# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22*00b67f09SDavid van Moolenbroek# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 23*00b67f09SDavid van Moolenbroek# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24*00b67f09SDavid van Moolenbroek# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25*00b67f09SDavid van Moolenbroek# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 26*00b67f09SDavid van Moolenbroek# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27*00b67f09SDavid van Moolenbroek# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28*00b67f09SDavid van Moolenbroek# 29*00b67f09SDavid van Moolenbroek 30*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 31*00b67f09SDavid van Moolenbroek# Helper tests for "t_cleanup". 32*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 33*00b67f09SDavid van Moolenbroek 34*00b67f09SDavid van Moolenbroekatf_test_case cleanup_pass cleanup 35*00b67f09SDavid van Moolenbroekcleanup_pass_head() 36*00b67f09SDavid van Moolenbroek{ 37*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_cleanup test program" 38*00b67f09SDavid van Moolenbroek} 39*00b67f09SDavid van Moolenbroekcleanup_pass_body() 40*00b67f09SDavid van Moolenbroek{ 41*00b67f09SDavid van Moolenbroek touch $(atf_config_get tmpfile) 42*00b67f09SDavid van Moolenbroek} 43*00b67f09SDavid van Moolenbroekcleanup_pass_cleanup() 44*00b67f09SDavid van Moolenbroek{ 45*00b67f09SDavid van Moolenbroek if [ $(atf_config_get cleanup no) = yes ]; then 46*00b67f09SDavid van Moolenbroek rm $(atf_config_get tmpfile) 47*00b67f09SDavid van Moolenbroek fi 48*00b67f09SDavid van Moolenbroek} 49*00b67f09SDavid van Moolenbroek 50*00b67f09SDavid van Moolenbroekatf_test_case cleanup_fail cleanup 51*00b67f09SDavid van Moolenbroekcleanup_fail_head() 52*00b67f09SDavid van Moolenbroek{ 53*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_cleanup test program" 54*00b67f09SDavid van Moolenbroek} 55*00b67f09SDavid van Moolenbroekcleanup_fail_body() 56*00b67f09SDavid van Moolenbroek{ 57*00b67f09SDavid van Moolenbroek touch $(atf_config_get tmpfile) 58*00b67f09SDavid van Moolenbroek atf_fail "On purpose" 59*00b67f09SDavid van Moolenbroek} 60*00b67f09SDavid van Moolenbroekcleanup_fail_cleanup() 61*00b67f09SDavid van Moolenbroek{ 62*00b67f09SDavid van Moolenbroek if [ $(atf_config_get cleanup no) = yes ]; then 63*00b67f09SDavid van Moolenbroek rm $(atf_config_get tmpfile) 64*00b67f09SDavid van Moolenbroek fi 65*00b67f09SDavid van Moolenbroek} 66*00b67f09SDavid van Moolenbroek 67*00b67f09SDavid van Moolenbroekatf_test_case cleanup_skip cleanup 68*00b67f09SDavid van Moolenbroekcleanup_skip_head() 69*00b67f09SDavid van Moolenbroek{ 70*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_cleanup test program" 71*00b67f09SDavid van Moolenbroek} 72*00b67f09SDavid van Moolenbroekcleanup_skip_body() 73*00b67f09SDavid van Moolenbroek{ 74*00b67f09SDavid van Moolenbroek touch $(atf_config_get tmpfile) 75*00b67f09SDavid van Moolenbroek atf_skip "On purpose" 76*00b67f09SDavid van Moolenbroek} 77*00b67f09SDavid van Moolenbroekcleanup_skip_cleanup() 78*00b67f09SDavid van Moolenbroek{ 79*00b67f09SDavid van Moolenbroek if [ $(atf_config_get cleanup no) = yes ]; then 80*00b67f09SDavid van Moolenbroek rm $(atf_config_get tmpfile) 81*00b67f09SDavid van Moolenbroek fi 82*00b67f09SDavid van Moolenbroek} 83*00b67f09SDavid van Moolenbroek 84*00b67f09SDavid van Moolenbroekatf_test_case cleanup_curdir cleanup 85*00b67f09SDavid van Moolenbroekcleanup_curdir_head() 86*00b67f09SDavid van Moolenbroek{ 87*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_cleanup test program" 88*00b67f09SDavid van Moolenbroek} 89*00b67f09SDavid van Moolenbroekcleanup_curdir_body() 90*00b67f09SDavid van Moolenbroek{ 91*00b67f09SDavid van Moolenbroek echo 1234 >oldvalue 92*00b67f09SDavid van Moolenbroek} 93*00b67f09SDavid van Moolenbroekcleanup_curdir_cleanup() 94*00b67f09SDavid van Moolenbroek{ 95*00b67f09SDavid van Moolenbroek test -f oldvalue && echo "Old value: $(cat oldvalue)" 96*00b67f09SDavid van Moolenbroek} 97*00b67f09SDavid van Moolenbroek 98*00b67f09SDavid van Moolenbroekatf_test_case cleanup_sigterm cleanup 99*00b67f09SDavid van Moolenbroekcleanup_sigterm_head() 100*00b67f09SDavid van Moolenbroek{ 101*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_cleanup test program" 102*00b67f09SDavid van Moolenbroek} 103*00b67f09SDavid van Moolenbroekcleanup_sigterm_body() 104*00b67f09SDavid van Moolenbroek{ 105*00b67f09SDavid van Moolenbroek touch $(atf_config_get tmpfile) 106*00b67f09SDavid van Moolenbroek kill $$ 107*00b67f09SDavid van Moolenbroek touch $(atf_config_get tmpfile).no 108*00b67f09SDavid van Moolenbroek} 109*00b67f09SDavid van Moolenbroekcleanup_sigterm_cleanup() 110*00b67f09SDavid van Moolenbroek{ 111*00b67f09SDavid van Moolenbroek rm $(atf_config_get tmpfile) 112*00b67f09SDavid van Moolenbroek} 113*00b67f09SDavid van Moolenbroek 114*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 115*00b67f09SDavid van Moolenbroek# Helper tests for "t_config". 116*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 117*00b67f09SDavid van Moolenbroek 118*00b67f09SDavid van Moolenbroekatf_test_case config_unset 119*00b67f09SDavid van Moolenbroekconfig_unset_head() 120*00b67f09SDavid van Moolenbroek{ 121*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_config test program" 122*00b67f09SDavid van Moolenbroek} 123*00b67f09SDavid van Moolenbroekconfig_unset_body() 124*00b67f09SDavid van Moolenbroek{ 125*00b67f09SDavid van Moolenbroek if atf_config_has 'test'; then 126*00b67f09SDavid van Moolenbroek atf_fail "Test variable already defined" 127*00b67f09SDavid van Moolenbroek fi 128*00b67f09SDavid van Moolenbroek} 129*00b67f09SDavid van Moolenbroek 130*00b67f09SDavid van Moolenbroekatf_test_case config_empty 131*00b67f09SDavid van Moolenbroekconfig_empty_head() 132*00b67f09SDavid van Moolenbroek{ 133*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_config test program" 134*00b67f09SDavid van Moolenbroek} 135*00b67f09SDavid van Moolenbroekconfig_empty_body() 136*00b67f09SDavid van Moolenbroek{ 137*00b67f09SDavid van Moolenbroek atf_check_equal "$(atf_config_get 'test')" "" 138*00b67f09SDavid van Moolenbroek} 139*00b67f09SDavid van Moolenbroek 140*00b67f09SDavid van Moolenbroekatf_test_case config_value 141*00b67f09SDavid van Moolenbroekconfig_value_head() 142*00b67f09SDavid van Moolenbroek{ 143*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_config test program" 144*00b67f09SDavid van Moolenbroek} 145*00b67f09SDavid van Moolenbroekconfig_value_body() 146*00b67f09SDavid van Moolenbroek{ 147*00b67f09SDavid van Moolenbroek atf_check_equal "$(atf_config_get 'test')" "foo" 148*00b67f09SDavid van Moolenbroek} 149*00b67f09SDavid van Moolenbroek 150*00b67f09SDavid van Moolenbroekatf_test_case config_multi_value 151*00b67f09SDavid van Moolenbroekconfig_multi_value_head() 152*00b67f09SDavid van Moolenbroek{ 153*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_config test program" 154*00b67f09SDavid van Moolenbroek} 155*00b67f09SDavid van Moolenbroekconfig_multi_value_body() 156*00b67f09SDavid van Moolenbroek{ 157*00b67f09SDavid van Moolenbroek atf_check_equal "$(atf_config_get 'test')" "foo bar" 158*00b67f09SDavid van Moolenbroek} 159*00b67f09SDavid van Moolenbroek 160*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 161*00b67f09SDavid van Moolenbroek# Helper tests for "t_expect". 162*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 163*00b67f09SDavid van Moolenbroek 164*00b67f09SDavid van Moolenbroekatf_test_case expect_pass_and_pass 165*00b67f09SDavid van Moolenbroekexpect_pass_and_pass_body() 166*00b67f09SDavid van Moolenbroek{ 167*00b67f09SDavid van Moolenbroek atf_expect_pass 168*00b67f09SDavid van Moolenbroek} 169*00b67f09SDavid van Moolenbroek 170*00b67f09SDavid van Moolenbroekatf_test_case expect_pass_but_fail_requirement 171*00b67f09SDavid van Moolenbroekexpect_pass_but_fail_requirement_body() 172*00b67f09SDavid van Moolenbroek{ 173*00b67f09SDavid van Moolenbroek atf_expect_pass 174*00b67f09SDavid van Moolenbroek atf_fail "Some reason" 175*00b67f09SDavid van Moolenbroek} 176*00b67f09SDavid van Moolenbroek 177*00b67f09SDavid van Moolenbroekatf_test_case expect_pass_but_fail_check 178*00b67f09SDavid van Moolenbroekexpect_pass_but_fail_check_body() 179*00b67f09SDavid van Moolenbroek{ 180*00b67f09SDavid van Moolenbroek atf_fail "Non-fatal failures not implemented" 181*00b67f09SDavid van Moolenbroek} 182*00b67f09SDavid van Moolenbroek 183*00b67f09SDavid van Moolenbroekatf_test_case expect_fail_and_fail_requirement 184*00b67f09SDavid van Moolenbroekexpect_fail_and_fail_requirement_body() 185*00b67f09SDavid van Moolenbroek{ 186*00b67f09SDavid van Moolenbroek atf_expect_fail "Fail reason" 187*00b67f09SDavid van Moolenbroek atf_fail "The failure" 188*00b67f09SDavid van Moolenbroek atf_expect_pass 189*00b67f09SDavid van Moolenbroek} 190*00b67f09SDavid van Moolenbroek 191*00b67f09SDavid van Moolenbroekatf_test_case expect_fail_and_fail_check 192*00b67f09SDavid van Moolenbroekexpect_fail_and_fail_check_body() 193*00b67f09SDavid van Moolenbroek{ 194*00b67f09SDavid van Moolenbroek atf_fail "Non-fatal failures not implemented" 195*00b67f09SDavid van Moolenbroek} 196*00b67f09SDavid van Moolenbroek 197*00b67f09SDavid van Moolenbroekatf_test_case expect_fail_but_pass 198*00b67f09SDavid van Moolenbroekexpect_fail_but_pass_body() 199*00b67f09SDavid van Moolenbroek{ 200*00b67f09SDavid van Moolenbroek atf_expect_fail "Fail first" 201*00b67f09SDavid van Moolenbroek atf_expect_pass 202*00b67f09SDavid van Moolenbroek} 203*00b67f09SDavid van Moolenbroek 204*00b67f09SDavid van Moolenbroekatf_test_case expect_exit_any_and_exit 205*00b67f09SDavid van Moolenbroekexpect_exit_any_and_exit_body() 206*00b67f09SDavid van Moolenbroek{ 207*00b67f09SDavid van Moolenbroek atf_expect_exit -1 "Call will exit" 208*00b67f09SDavid van Moolenbroek exit 0 209*00b67f09SDavid van Moolenbroek} 210*00b67f09SDavid van Moolenbroek 211*00b67f09SDavid van Moolenbroekatf_test_case expect_exit_code_and_exit 212*00b67f09SDavid van Moolenbroekexpect_exit_code_and_exit_body() 213*00b67f09SDavid van Moolenbroek{ 214*00b67f09SDavid van Moolenbroek atf_expect_exit 123 "Call will exit" 215*00b67f09SDavid van Moolenbroek exit 123 216*00b67f09SDavid van Moolenbroek} 217*00b67f09SDavid van Moolenbroek 218*00b67f09SDavid van Moolenbroekatf_test_case expect_exit_but_pass 219*00b67f09SDavid van Moolenbroekexpect_exit_but_pass_body() 220*00b67f09SDavid van Moolenbroek{ 221*00b67f09SDavid van Moolenbroek atf_expect_exit -1 "Call won't exit" 222*00b67f09SDavid van Moolenbroek} 223*00b67f09SDavid van Moolenbroek 224*00b67f09SDavid van Moolenbroekatf_test_case expect_signal_any_and_signal 225*00b67f09SDavid van Moolenbroekexpect_signal_any_and_signal_body() 226*00b67f09SDavid van Moolenbroek{ 227*00b67f09SDavid van Moolenbroek atf_expect_signal -1 "Call will signal" 228*00b67f09SDavid van Moolenbroek kill -9 $$ 229*00b67f09SDavid van Moolenbroek} 230*00b67f09SDavid van Moolenbroek 231*00b67f09SDavid van Moolenbroekatf_test_case expect_signal_no_and_signal 232*00b67f09SDavid van Moolenbroekexpect_signal_no_and_signal_body() 233*00b67f09SDavid van Moolenbroek{ 234*00b67f09SDavid van Moolenbroek atf_expect_signal 1 "Call will signal" 235*00b67f09SDavid van Moolenbroek kill -1 $$ 236*00b67f09SDavid van Moolenbroek} 237*00b67f09SDavid van Moolenbroek 238*00b67f09SDavid van Moolenbroekatf_test_case expect_signal_but_pass 239*00b67f09SDavid van Moolenbroekexpect_signal_but_pass_body() 240*00b67f09SDavid van Moolenbroek{ 241*00b67f09SDavid van Moolenbroek atf_expect_signal -1 "Call won't signal" 242*00b67f09SDavid van Moolenbroek} 243*00b67f09SDavid van Moolenbroek 244*00b67f09SDavid van Moolenbroekatf_test_case expect_death_and_exit 245*00b67f09SDavid van Moolenbroekexpect_death_and_exit_body() 246*00b67f09SDavid van Moolenbroek{ 247*00b67f09SDavid van Moolenbroek atf_expect_death "Exit case" 248*00b67f09SDavid van Moolenbroek exit 123 249*00b67f09SDavid van Moolenbroek} 250*00b67f09SDavid van Moolenbroek 251*00b67f09SDavid van Moolenbroekatf_test_case expect_death_and_signal 252*00b67f09SDavid van Moolenbroekexpect_death_and_signal_body() 253*00b67f09SDavid van Moolenbroek{ 254*00b67f09SDavid van Moolenbroek atf_expect_death "Signal case" 255*00b67f09SDavid van Moolenbroek kill -9 $$ 256*00b67f09SDavid van Moolenbroek} 257*00b67f09SDavid van Moolenbroek 258*00b67f09SDavid van Moolenbroekatf_test_case expect_death_but_pass 259*00b67f09SDavid van Moolenbroekexpect_death_but_pass_body() 260*00b67f09SDavid van Moolenbroek{ 261*00b67f09SDavid van Moolenbroek atf_expect_death "Call won't die" 262*00b67f09SDavid van Moolenbroek} 263*00b67f09SDavid van Moolenbroek 264*00b67f09SDavid van Moolenbroekatf_test_case expect_timeout_and_hang 265*00b67f09SDavid van Moolenbroekexpect_timeout_and_hang_head() 266*00b67f09SDavid van Moolenbroek{ 267*00b67f09SDavid van Moolenbroek atf_set "timeout" "1" 268*00b67f09SDavid van Moolenbroek} 269*00b67f09SDavid van Moolenbroekexpect_timeout_and_hang_body() 270*00b67f09SDavid van Moolenbroek{ 271*00b67f09SDavid van Moolenbroek atf_expect_timeout "Will overrun" 272*00b67f09SDavid van Moolenbroek sleep 5 273*00b67f09SDavid van Moolenbroek} 274*00b67f09SDavid van Moolenbroek 275*00b67f09SDavid van Moolenbroekatf_test_case expect_timeout_but_pass 276*00b67f09SDavid van Moolenbroekexpect_timeout_but_pass_head() 277*00b67f09SDavid van Moolenbroek{ 278*00b67f09SDavid van Moolenbroek atf_set "timeout" "1" 279*00b67f09SDavid van Moolenbroek} 280*00b67f09SDavid van Moolenbroekexpect_timeout_but_pass_body() 281*00b67f09SDavid van Moolenbroek{ 282*00b67f09SDavid van Moolenbroek atf_expect_timeout "Will just exit" 283*00b67f09SDavid van Moolenbroek} 284*00b67f09SDavid van Moolenbroek 285*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 286*00b67f09SDavid van Moolenbroek# Helper tests for "t_meta_data". 287*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 288*00b67f09SDavid van Moolenbroek 289*00b67f09SDavid van Moolenbroekatf_test_case metadata_no_descr 290*00b67f09SDavid van Moolenbroekmetadata_no_descr_head() 291*00b67f09SDavid van Moolenbroek{ 292*00b67f09SDavid van Moolenbroek : 293*00b67f09SDavid van Moolenbroek} 294*00b67f09SDavid van Moolenbroekmetadata_no_descr_body() 295*00b67f09SDavid van Moolenbroek{ 296*00b67f09SDavid van Moolenbroek : 297*00b67f09SDavid van Moolenbroek} 298*00b67f09SDavid van Moolenbroek 299*00b67f09SDavid van Moolenbroekatf_test_case metadata_no_head 300*00b67f09SDavid van Moolenbroekmetadata_no_head_body() 301*00b67f09SDavid van Moolenbroek{ 302*00b67f09SDavid van Moolenbroek : 303*00b67f09SDavid van Moolenbroek} 304*00b67f09SDavid van Moolenbroek 305*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 306*00b67f09SDavid van Moolenbroek# Helper tests for "t_srcdir". 307*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 308*00b67f09SDavid van Moolenbroek 309*00b67f09SDavid van Moolenbroekatf_test_case srcdir_exists 310*00b67f09SDavid van Moolenbroeksrcdir_exists_head() 311*00b67f09SDavid van Moolenbroek{ 312*00b67f09SDavid van Moolenbroek atf_set "descr" "Helper test case for the t_srcdir test program" 313*00b67f09SDavid van Moolenbroek} 314*00b67f09SDavid van Moolenbroeksrcdir_exists_body() 315*00b67f09SDavid van Moolenbroek{ 316*00b67f09SDavid van Moolenbroek [ -f "$(atf_get_srcdir)/datafile" ] || atf_fail "Cannot find datafile" 317*00b67f09SDavid van Moolenbroek} 318*00b67f09SDavid van Moolenbroek 319*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 320*00b67f09SDavid van Moolenbroek# Helper tests for "t_result". 321*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 322*00b67f09SDavid van Moolenbroek 323*00b67f09SDavid van Moolenbroekatf_test_case result_pass 324*00b67f09SDavid van Moolenbroekresult_pass_body() 325*00b67f09SDavid van Moolenbroek{ 326*00b67f09SDavid van Moolenbroek echo "msg" 327*00b67f09SDavid van Moolenbroek} 328*00b67f09SDavid van Moolenbroek 329*00b67f09SDavid van Moolenbroekatf_test_case result_fail 330*00b67f09SDavid van Moolenbroekresult_fail_body() 331*00b67f09SDavid van Moolenbroek{ 332*00b67f09SDavid van Moolenbroek echo "msg" 333*00b67f09SDavid van Moolenbroek atf_fail "Failure reason" 334*00b67f09SDavid van Moolenbroek} 335*00b67f09SDavid van Moolenbroek 336*00b67f09SDavid van Moolenbroekatf_test_case result_skip 337*00b67f09SDavid van Moolenbroekresult_skip_body() 338*00b67f09SDavid van Moolenbroek{ 339*00b67f09SDavid van Moolenbroek echo "msg" 340*00b67f09SDavid van Moolenbroek atf_skip "Skipped reason" 341*00b67f09SDavid van Moolenbroek} 342*00b67f09SDavid van Moolenbroek 343*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 344*00b67f09SDavid van Moolenbroek# Main. 345*00b67f09SDavid van Moolenbroek# ------------------------------------------------------------------------- 346*00b67f09SDavid van Moolenbroek 347*00b67f09SDavid van Moolenbroekatf_init_test_cases() 348*00b67f09SDavid van Moolenbroek{ 349*00b67f09SDavid van Moolenbroek # Add helper tests for t_cleanup. 350*00b67f09SDavid van Moolenbroek atf_add_test_case cleanup_pass 351*00b67f09SDavid van Moolenbroek atf_add_test_case cleanup_fail 352*00b67f09SDavid van Moolenbroek atf_add_test_case cleanup_skip 353*00b67f09SDavid van Moolenbroek atf_add_test_case cleanup_curdir 354*00b67f09SDavid van Moolenbroek atf_add_test_case cleanup_sigterm 355*00b67f09SDavid van Moolenbroek 356*00b67f09SDavid van Moolenbroek # Add helper tests for t_config. 357*00b67f09SDavid van Moolenbroek atf_add_test_case config_unset 358*00b67f09SDavid van Moolenbroek atf_add_test_case config_empty 359*00b67f09SDavid van Moolenbroek atf_add_test_case config_value 360*00b67f09SDavid van Moolenbroek atf_add_test_case config_multi_value 361*00b67f09SDavid van Moolenbroek 362*00b67f09SDavid van Moolenbroek # Add helper tests for t_expect. 363*00b67f09SDavid van Moolenbroek atf_add_test_case expect_pass_and_pass 364*00b67f09SDavid van Moolenbroek atf_add_test_case expect_pass_but_fail_requirement 365*00b67f09SDavid van Moolenbroek atf_add_test_case expect_pass_but_fail_check 366*00b67f09SDavid van Moolenbroek atf_add_test_case expect_fail_and_fail_requirement 367*00b67f09SDavid van Moolenbroek atf_add_test_case expect_fail_and_fail_check 368*00b67f09SDavid van Moolenbroek atf_add_test_case expect_fail_but_pass 369*00b67f09SDavid van Moolenbroek atf_add_test_case expect_exit_any_and_exit 370*00b67f09SDavid van Moolenbroek atf_add_test_case expect_exit_code_and_exit 371*00b67f09SDavid van Moolenbroek atf_add_test_case expect_exit_but_pass 372*00b67f09SDavid van Moolenbroek atf_add_test_case expect_signal_any_and_signal 373*00b67f09SDavid van Moolenbroek atf_add_test_case expect_signal_no_and_signal 374*00b67f09SDavid van Moolenbroek atf_add_test_case expect_signal_but_pass 375*00b67f09SDavid van Moolenbroek atf_add_test_case expect_death_and_exit 376*00b67f09SDavid van Moolenbroek atf_add_test_case expect_death_and_signal 377*00b67f09SDavid van Moolenbroek atf_add_test_case expect_death_but_pass 378*00b67f09SDavid van Moolenbroek atf_add_test_case expect_timeout_and_hang 379*00b67f09SDavid van Moolenbroek atf_add_test_case expect_timeout_but_pass 380*00b67f09SDavid van Moolenbroek 381*00b67f09SDavid van Moolenbroek # Add helper tests for t_meta_data. 382*00b67f09SDavid van Moolenbroek atf_add_test_case metadata_no_descr 383*00b67f09SDavid van Moolenbroek atf_add_test_case metadata_no_head 384*00b67f09SDavid van Moolenbroek 385*00b67f09SDavid van Moolenbroek # Add helper tests for t_srcdir. 386*00b67f09SDavid van Moolenbroek atf_add_test_case srcdir_exists 387*00b67f09SDavid van Moolenbroek 388*00b67f09SDavid van Moolenbroek # Add helper tests for t_result. 389*00b67f09SDavid van Moolenbroek atf_add_test_case result_pass 390*00b67f09SDavid van Moolenbroek atf_add_test_case result_fail 391*00b67f09SDavid van Moolenbroek atf_add_test_case result_skip 392*00b67f09SDavid van Moolenbroek} 393*00b67f09SDavid van Moolenbroek 394*00b67f09SDavid van Moolenbroek# vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 395