1240116Smarcel# Copyright (c) 2007 The NetBSD Foundation, Inc. 2240116Smarcel# All rights reserved. 3240116Smarcel# 4240116Smarcel# Redistribution and use in source and binary forms, with or without 5240116Smarcel# modification, are permitted provided that the following conditions 6240116Smarcel# are met: 7240116Smarcel# 1. Redistributions of source code must retain the above copyright 8240116Smarcel# notice, this list of conditions and the following disclaimer. 9240116Smarcel# 2. Redistributions in binary form must reproduce the above copyright 10240116Smarcel# notice, this list of conditions and the following disclaimer in the 11240116Smarcel# documentation and/or other materials provided with the distribution. 12240116Smarcel# 13240116Smarcel# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND 14240116Smarcel# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 15240116Smarcel# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16240116Smarcel# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17240116Smarcel# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY 18240116Smarcel# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19240116Smarcel# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 20240116Smarcel# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21240116Smarcel# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 22240116Smarcel# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 23240116Smarcel# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 24240116Smarcel# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25240116Smarcel 26240116Smarcelatf_test_case has 27240116Smarcelhas_head() 28240116Smarcel{ 29240116Smarcel atf_set "descr" "Verifies that atf_config_has works" 30240116Smarcel} 31240116Smarcelhas_body() 32240116Smarcel{ 33240116Smarcel h="$(atf_get_srcdir)/misc_helpers -s $(atf_get_srcdir)" 34240116Smarcel 35240116Smarcel atf_check -s eq:0 -o match:'foo not found' -e ignore -x \ 36240116Smarcel "TEST_VARIABLE=foo ${h} config_has" 37240116Smarcel 38240116Smarcel atf_check -s eq:0 -o match:'foo found' -e ignore -x \ 39240116Smarcel "TEST_VARIABLE=foo ${h} -v foo=bar config_has" 40240116Smarcel 41240116Smarcel echo "Checking for deprecated variables" 42240116Smarcel atf_check -s eq:0 -o match:'workdir not found' -e ignore -x \ 43240116Smarcel "TEST_VARIABLE=workdir ${h} config_has" 44240116Smarcel} 45240116Smarcel 46240116Smarcelatf_test_case get 47240116Smarcelget_head() 48240116Smarcel{ 49240116Smarcel atf_set "descr" "Verifies that atf_config_get works" 50240116Smarcel} 51240116Smarcelget_body() 52240116Smarcel{ 53240116Smarcel h="$(atf_get_srcdir)/misc_helpers -s $(atf_get_srcdir)" 54240116Smarcel 55240116Smarcel echo "Querying an undefined variable" 56240116Smarcel ( atf_config_get "undefined" ) >out 2>err && \ 57240116Smarcel atf_fail "Getting an undefined variable succeeded" 58240116Smarcel grep 'not find' err || \ 59240116Smarcel atf_fail "Getting an undefined variable did not report an error" 60240116Smarcel 61240116Smarcel echo "Querying an undefined variable using a default value" 62240116Smarcel v=$(atf_config_get "undefined" "the default value") 63240116Smarcel [ "${v}" = "the default value" ] || \ 64240116Smarcel atf_fail "Default value does not work" 65240116Smarcel 66240116Smarcel atf_check -s eq:0 -o match:'foo = bar' -e ignore -x \ 67240116Smarcel "TEST_VARIABLE=foo ${h} -v foo=bar config_get" 68240116Smarcel 69240116Smarcel atf_check -s eq:0 -o match:'foo = baz' -e ignore -x \ 70240116Smarcel "TEST_VARIABLE=foo ${h} -v foo=baz config_get" 71240116Smarcel} 72240116Smarcel 73240116Smarcelatf_init_test_cases() 74240116Smarcel{ 75240116Smarcel atf_add_test_case has 76240116Smarcel atf_add_test_case get 77240116Smarcel} 78240116Smarcel 79240116Smarcel# vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 80