diff options
author | ngie <ngie@FreeBSD.org> | 2014-10-02 23:26:49 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2014-10-02 23:26:49 +0000 |
commit | 3f09b8d0af642c2aeb96a4d667cefb7fe3bce443 (patch) | |
tree | 544932e2a2c5a5a202b752beefba0b3e327b3858 /contrib/netbsd-tests/share/mk/t_test.sh | |
parent | b941fec92da62b0eab650295f4e8a381dbbc04b4 (diff) | |
parent | e1f2d32c0e0678782c353c48364cddedfae58b0a (diff) | |
download | FreeBSD-src-3f09b8d0af642c2aeb96a4d667cefb7fe3bce443.zip FreeBSD-src-3f09b8d0af642c2aeb96a4d667cefb7fe3bce443.tar.gz |
Import the NetBSD test suite from ^/vendor/NetBSD/tests/09.30.2014_20.45 ,
minus the vendor Makefiles
Provide directions for how to bootstrap the vendor sources in
FREEBSD-upgrade
MFC after 2 weeks
Discussed with: rpaulo
Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'contrib/netbsd-tests/share/mk/t_test.sh')
-rwxr-xr-x | contrib/netbsd-tests/share/mk/t_test.sh | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/contrib/netbsd-tests/share/mk/t_test.sh b/contrib/netbsd-tests/share/mk/t_test.sh new file mode 100755 index 0000000..c8bb1f3 --- /dev/null +++ b/contrib/netbsd-tests/share/mk/t_test.sh @@ -0,0 +1,111 @@ +# Copyright 2012 Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Google Inc. nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Helper function for the various one_* test cases. +# +# The first argument must be one of C, CXX or SH, and this indicates the +# language of the test program. +# +# The second argument is the name of the test program, without an extension. +# The corresponding source file must exist in the current directory. +one_test() { + local lang="${1}"; shift + local name="${1}"; shift + + cat >Makefile <<EOF +.include <bsd.own.mk> +TESTSDIR = \${TESTSBASE}/fake +TESTS_${lang} = ${name} +.include <bsd.test.mk> +EOF + + atf_check -o ignore make + mkdir -p root/usr/tests/fake + create_make_conf mk.conf owngrp DESTDIR="$(pwd)/root" + atf_check -o ignore make install + + atf_check -o match:'ident: one_tc' "./root/usr/tests/fake/${name}" -l +} + +atf_test_case one_c +one_c_body() { + cat >t_fake.c <<EOF +#include <atf-c.h> +ATF_TC_WITHOUT_HEAD(one_tc); +ATF_TC_BODY(one_tc, tc) +{ + atf_tc_fail("Failing explicitly"); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, one_tc); + return atf_no_error(); +} +EOF + one_test C t_fake +} + +atf_test_case one_cxx +one_cxx_body() { + cat >t_fake.cpp <<EOF +#include <atf-c++.hpp> +ATF_TEST_CASE_WITHOUT_HEAD(one_tc); +ATF_TEST_CASE_BODY(one_tc) +{ + fail("Failing explicitly"); +} + +ATF_INIT_TEST_CASES(tcs) +{ + ATF_ADD_TEST_CASE(tcs, one_tc); +} +EOF + one_test CXX t_fake +} + +atf_test_case one_sh +one_sh_body() { + cat >t_fake.sh <<EOF +atf_test_case one_tc +one_tc_body() { + atf_fail "Failing explicitly" +} + +atf_init_test_cases() { + atf_add_test_case one_tc +} +EOF + one_test SH t_fake +} + +atf_init_test_cases() { + atf_add_test_case one_c + atf_add_test_case one_cxx + atf_add_test_case one_sh +} |