1#- 2# SPDX-License-Identifier: BSD-2-Clause 3# 4# Copyright (c) 2019 Ahsan Barkati 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions 8# are met: 9# 1. Redistributions of source code must retain the above copyright 10# notice, this list of conditions and the following disclaimer. 11# 2. Redistributions in binary form must reproduce the above copyright 12# notice, this list of conditions and the following disclaimer in the 13# documentation and/or other materials provided with the distribution. 14# 15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25# SUCH DAMAGE. 26# 27# 28 29. $(atf_get_srcdir)/utils.subr 30 31setup_tests() 32{ 33 tests="" 34 while [ $# -gt 0 ]; do 35 if [ $(is_firewall $1) -eq 1 ]; then 36 fw=$1 37 shift 38 if [ -z "${testcase}" ]; then 39 echo "no testcase passed to setup_test" 40 return 41 fi 42 atf_test_case "${fw}_${testcase}" "cleanup" 43 eval "${fw}_${testcase}_head(){ ${testcase}_head; }" 44 eval "${fw}_${testcase}_body(){ ${testcase}_body $fw; }" 45 eval "${fw}_${testcase}_cleanup(){ ${testcase}_cleanup $fw; }" 46 tests="$tests ${fw}_${testcase}" 47 else 48 testcase=$1 49 shift 50 fi 51 done 52 init_testcases "$tests" 53} 54 55 56init_testcases() 57{ 58 args="$@" 59 atf_init_test_cases() 60 { 61 for testcase in $args; 62 do 63 atf_add_test_case "$testcase" 64 done 65 } 66}