1edebbb8eSjmmv# 2edebbb8eSjmmv# Automated Testing Framework (atf) 3edebbb8eSjmmv# 4*a551a20fSjmmv# Copyright (c) 2007 The NetBSD Foundation, Inc. 5edebbb8eSjmmv# All rights reserved. 6edebbb8eSjmmv# 7edebbb8eSjmmv# Redistribution and use in source and binary forms, with or without 8edebbb8eSjmmv# modification, are permitted provided that the following conditions 9edebbb8eSjmmv# are met: 10edebbb8eSjmmv# 1. Redistributions of source code must retain the above copyright 11edebbb8eSjmmv# notice, this list of conditions and the following disclaimer. 12edebbb8eSjmmv# 2. Redistributions in binary form must reproduce the above copyright 13edebbb8eSjmmv# notice, this list of conditions and the following disclaimer in the 14edebbb8eSjmmv# documentation and/or other materials provided with the distribution. 15edebbb8eSjmmv# 16edebbb8eSjmmv# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND 17edebbb8eSjmmv# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 18edebbb8eSjmmv# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19edebbb8eSjmmv# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20edebbb8eSjmmv# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY 21edebbb8eSjmmv# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22edebbb8eSjmmv# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 23edebbb8eSjmmv# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24edebbb8eSjmmv# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25edebbb8eSjmmv# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 26edebbb8eSjmmv# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27edebbb8eSjmmv# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28edebbb8eSjmmv# 29edebbb8eSjmmv 30edebbb8eSjmmvatf_test_case has 31edebbb8eSjmmvhas_head() 32edebbb8eSjmmv{ 33edebbb8eSjmmv atf_set "descr" "Verifies that atf_config_has works" 34edebbb8eSjmmv} 35edebbb8eSjmmvhas_body() 36edebbb8eSjmmv{ 37edebbb8eSjmmv h="$(atf_get_srcdir)/misc_helpers -s $(atf_get_srcdir)" 38edebbb8eSjmmv 395055cfd6Sjmmv atf_check -s eq:0 -o match:'foo not found' -e ignore -x \ 40edebbb8eSjmmv "TEST_VARIABLE=foo ${h} config_has" 41edebbb8eSjmmv 425055cfd6Sjmmv atf_check -s eq:0 -o match:'foo found' -e ignore -x \ 43edebbb8eSjmmv "TEST_VARIABLE=foo ${h} -v foo=bar config_has" 44edebbb8eSjmmv 45edebbb8eSjmmv echo "Checking for deprecated variables" 465055cfd6Sjmmv atf_check -s eq:0 -o match:'workdir not found' -e ignore -x \ 47edebbb8eSjmmv "TEST_VARIABLE=workdir ${h} config_has" 48edebbb8eSjmmv} 49edebbb8eSjmmv 50edebbb8eSjmmvatf_test_case get 51edebbb8eSjmmvget_head() 52edebbb8eSjmmv{ 53edebbb8eSjmmv atf_set "descr" "Verifies that atf_config_get works" 54edebbb8eSjmmv} 55edebbb8eSjmmvget_body() 56edebbb8eSjmmv{ 57edebbb8eSjmmv h="$(atf_get_srcdir)/misc_helpers -s $(atf_get_srcdir)" 58edebbb8eSjmmv 59edebbb8eSjmmv echo "Querying an undefined variable" 60edebbb8eSjmmv ( atf_config_get "undefined" ) >out 2>err && \ 61edebbb8eSjmmv atf_fail "Getting an undefined variable succeeded" 62edebbb8eSjmmv grep 'not find' err || \ 63edebbb8eSjmmv atf_fail "Getting an undefined variable did not report an error" 64edebbb8eSjmmv 65edebbb8eSjmmv echo "Querying an undefined variable using a default value" 66edebbb8eSjmmv v=$(atf_config_get "undefined" "the default value") 67edebbb8eSjmmv [ "${v}" = "the default value" ] || \ 68edebbb8eSjmmv atf_fail "Default value does not work" 69edebbb8eSjmmv 705055cfd6Sjmmv atf_check -s eq:0 -o match:'foo = bar' -e ignore -x \ 71edebbb8eSjmmv "TEST_VARIABLE=foo ${h} -v foo=bar config_get" 72edebbb8eSjmmv 735055cfd6Sjmmv atf_check -s eq:0 -o match:'foo = baz' -e ignore -x \ 74edebbb8eSjmmv "TEST_VARIABLE=foo ${h} -v foo=baz config_get" 75edebbb8eSjmmv} 76edebbb8eSjmmv 77edebbb8eSjmmvatf_init_test_cases() 78edebbb8eSjmmv{ 79edebbb8eSjmmv atf_add_test_case has 80edebbb8eSjmmv atf_add_test_case get 81edebbb8eSjmmv} 82edebbb8eSjmmv 83edebbb8eSjmmv# vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 84