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