1*80b30d8cSjmmv# Copyright 2012 Google Inc. 2*80b30d8cSjmmv# All rights reserved. 3*80b30d8cSjmmv# 4*80b30d8cSjmmv# Redistribution and use in source and binary forms, with or without 5*80b30d8cSjmmv# modification, are permitted provided that the following conditions are 6*80b30d8cSjmmv# met: 7*80b30d8cSjmmv# 8*80b30d8cSjmmv# * Redistributions of source code must retain the above copyright 9*80b30d8cSjmmv# notice, this list of conditions and the following disclaimer. 10*80b30d8cSjmmv# * Redistributions in binary form must reproduce the above copyright 11*80b30d8cSjmmv# notice, this list of conditions and the following disclaimer in the 12*80b30d8cSjmmv# documentation and/or other materials provided with the distribution. 13*80b30d8cSjmmv# * Neither the name of Google Inc. nor the names of its contributors 14*80b30d8cSjmmv# may be used to endorse or promote products derived from this software 15*80b30d8cSjmmv# without specific prior written permission. 16*80b30d8cSjmmv# 17*80b30d8cSjmmv# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18*80b30d8cSjmmv# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19*80b30d8cSjmmv# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20*80b30d8cSjmmv# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21*80b30d8cSjmmv# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22*80b30d8cSjmmv# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23*80b30d8cSjmmv# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24*80b30d8cSjmmv# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25*80b30d8cSjmmv# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26*80b30d8cSjmmv# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27*80b30d8cSjmmv# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28*80b30d8cSjmmv 29*80b30d8cSjmmvatf_test_case makeconf__ok 30*80b30d8cSjmmvmakeconf__ok_body() { 31*80b30d8cSjmmv cat >Makefile <<EOF 32*80b30d8cSjmmvA_TEST_CONFIG_VARIABLE = not overriden 33*80b30d8cSjmmv 34*80b30d8cSjmmv.PHONY: show-config-var 35*80b30d8cSjmmvshow-config-var: 36*80b30d8cSjmmv @echo \${A_TEST_CONFIG_VARIABLE} 37*80b30d8cSjmmv 38*80b30d8cSjmmv.include <bsd.own.mk> 39*80b30d8cSjmmvEOF 40*80b30d8cSjmmv 41*80b30d8cSjmmv echo >empty.conf 42*80b30d8cSjmmv cat >custom.conf <<EOF 43*80b30d8cSjmmvA_TEST_CONFIG_VARIABLE = 'a value' 44*80b30d8cSjmmvEOF 45*80b30d8cSjmmv atf_check -o inline:'not overriden\n' \ 46*80b30d8cSjmmv make MAKECONF="$(pwd)/empty.conf" show-config-var 47*80b30d8cSjmmv atf_check -o inline:'a value\n' \ 48*80b30d8cSjmmv make MAKECONF="$(pwd)/custom.conf" show-config-var 49*80b30d8cSjmmv} 50*80b30d8cSjmmv 51*80b30d8cSjmmvatf_test_case makeconf__missing 52*80b30d8cSjmmvmakeconf__missing_body() { 53*80b30d8cSjmmv cat >Makefile <<EOF 54*80b30d8cSjmmv.PHONY: hello 55*80b30d8cSjmmvhello: 56*80b30d8cSjmmv @echo 'Did not error out on a missing file!' 57*80b30d8cSjmmv 58*80b30d8cSjmmv.include <bsd.own.mk> 59*80b30d8cSjmmvEOF 60*80b30d8cSjmmv 61*80b30d8cSjmmv echo >empty.conf 62*80b30d8cSjmmv cat >custom.conf <<EOF 63*80b30d8cSjmmvA_TEST_CONFIG_VARIABLE = 'a value' 64*80b30d8cSjmmvEOF 65*80b30d8cSjmmv atf_check -o inline:'Did not error out on a missing file!\n' \ 66*80b30d8cSjmmv make MAKECONF="$(pwd)/non-existent.conf" hello 67*80b30d8cSjmmv} 68*80b30d8cSjmmv 69*80b30d8cSjmmvatf_init_test_cases() { 70*80b30d8cSjmmv atf_add_test_case makeconf__ok 71*80b30d8cSjmmv atf_add_test_case makeconf__missing 72*80b30d8cSjmmv} 73