1*11be35a1SLionel Sambuc#! __ATF_SH__ 2*11be35a1SLionel Sambuc# Copyright 2012 Google Inc. 3*11be35a1SLionel Sambuc# All rights reserved. 4*11be35a1SLionel Sambuc# 5*11be35a1SLionel Sambuc# Redistribution and use in source and binary forms, with or without 6*11be35a1SLionel Sambuc# modification, are permitted provided that the following conditions are 7*11be35a1SLionel Sambuc# met: 8*11be35a1SLionel Sambuc# 9*11be35a1SLionel Sambuc# * Redistributions of source code must retain the above copyright 10*11be35a1SLionel Sambuc# notice, this list of conditions and the following disclaimer. 11*11be35a1SLionel Sambuc# * Redistributions in binary form must reproduce the above copyright 12*11be35a1SLionel Sambuc# notice, this list of conditions and the following disclaimer in the 13*11be35a1SLionel Sambuc# documentation and/or other materials provided with the distribution. 14*11be35a1SLionel Sambuc# * Neither the name of Google Inc. nor the names of its contributors 15*11be35a1SLionel Sambuc# may be used to endorse or promote products derived from this software 16*11be35a1SLionel Sambuc# without specific prior written permission. 17*11be35a1SLionel Sambuc# 18*11be35a1SLionel Sambuc# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19*11be35a1SLionel Sambuc# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20*11be35a1SLionel Sambuc# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21*11be35a1SLionel Sambuc# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22*11be35a1SLionel Sambuc# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23*11be35a1SLionel Sambuc# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24*11be35a1SLionel Sambuc# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25*11be35a1SLionel Sambuc# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26*11be35a1SLionel Sambuc# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27*11be35a1SLionel Sambuc# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28*11be35a1SLionel Sambuc# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29*11be35a1SLionel Sambuc 30*11be35a1SLionel Sambuc 31*11be35a1SLionel Sambuc# Path outside of this test program's work directory to which we can write 32*11be35a1SLionel Sambuc# temporary files for inspection by the caller. 33*11be35a1SLionel SambucCONTROL_DIR='@CONTROL_DIR@' 34*11be35a1SLionel Sambuc 35*11be35a1SLionel Sambuc 36*11be35a1SLionel Sambuc# This is set by the test programs when copying the helpers into the work 37*11be35a1SLionel Sambuc# directory to specify which test cases to enable. 38*11be35a1SLionel SambucENABLED_TESTS='@ENABLED_TESTS@' 39*11be35a1SLionel Sambuc 40*11be35a1SLionel Sambuc 41*11be35a1SLionel Sambucatf_test_case fail 42*11be35a1SLionel Sambucfail_body() { 43*11be35a1SLionel Sambuc atf_fail "On purpose" 44*11be35a1SLionel Sambuc} 45*11be35a1SLionel Sambuc 46*11be35a1SLionel Sambuc 47*11be35a1SLionel Sambucatf_test_case pass 48*11be35a1SLionel Sambucpass_body() { 49*11be35a1SLionel Sambuc : 50*11be35a1SLionel Sambuc} 51*11be35a1SLionel Sambuc 52*11be35a1SLionel Sambuc 53*11be35a1SLionel Sambucatf_test_case skip 54*11be35a1SLionel Sambucskip_body() { 55*11be35a1SLionel Sambuc atf_skip "Skipped reason" 56*11be35a1SLionel Sambuc} 57*11be35a1SLionel Sambuc 58*11be35a1SLionel Sambuc 59*11be35a1SLionel Sambucatf_test_case config 60*11be35a1SLionel Sambucconfig_body() { 61*11be35a1SLionel Sambuc local outfile="${CONTROL_DIR}/config.out" 62*11be35a1SLionel Sambuc 63*11be35a1SLionel Sambuc rm "${outfile}" 64*11be35a1SLionel Sambuc touch "${outfile}" 65*11be35a1SLionel Sambuc for var in unprivileged-user var1 var2 var3; do 66*11be35a1SLionel Sambuc if atf_config_has "${var}"; then 67*11be35a1SLionel Sambuc echo "${var} = $(atf_config_get "${var}")" >>"${outfile}" 68*11be35a1SLionel Sambuc fi 69*11be35a1SLionel Sambuc done 70*11be35a1SLionel Sambuc} 71*11be35a1SLionel Sambuc 72*11be35a1SLionel Sambuc 73*11be35a1SLionel Sambucatf_init_test_cases() { 74*11be35a1SLionel Sambuc for test_name in ${ENABLED_TESTS}; do 75*11be35a1SLionel Sambuc atf_add_test_case "${test_name}" 76*11be35a1SLionel Sambuc done 77*11be35a1SLionel Sambuc} 78