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 26atf_test_case has 27has_head() 28{ 29 atf_set "descr" "Verifies that atf_config_has works" 30} 31has_body() 32{ 33 h="$(atf_get_srcdir)/misc_helpers -s $(atf_get_srcdir)" 34 35 atf_check -s eq:0 -o match:'foo not found' -e ignore -x \ 36 "TEST_VARIABLE=foo ${h} config_has" 37 38 atf_check -s eq:0 -o match:'foo found' -e ignore -x \ 39 "TEST_VARIABLE=foo ${h} -v foo=bar config_has" 40 41 echo "Checking for deprecated variables" 42 atf_check -s eq:0 -o match:'workdir not found' -e ignore -x \ 43 "TEST_VARIABLE=workdir ${h} config_has" 44} 45 46atf_test_case get 47get_head() 48{ 49 atf_set "descr" "Verifies that atf_config_get works" 50} 51get_body() 52{ 53 h="$(atf_get_srcdir)/misc_helpers -s $(atf_get_srcdir)" 54 55 echo "Querying an undefined variable" 56 ( atf_config_get "undefined" ) >out 2>err && \ 57 atf_fail "Getting an undefined variable succeeded" 58 grep 'not find' err || \ 59 atf_fail "Getting an undefined variable did not report an error" 60 61 echo "Querying an undefined variable using a default value" 62 v=$(atf_config_get "undefined" "the default value") 63 [ "${v}" = "the default value" ] || \ 64 atf_fail "Default value does not work" 65 66 atf_check -s eq:0 -o match:'foo = bar' -e ignore -x \ 67 "TEST_VARIABLE=foo ${h} -v foo=bar config_get" 68 69 atf_check -s eq:0 -o match:'foo = baz' -e ignore -x \ 70 "TEST_VARIABLE=foo ${h} -v foo=baz config_get" 71} 72 73atf_init_test_cases() 74{ 75 atf_add_test_case has 76 atf_add_test_case get 77} 78 79# vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 80