Add reachover build files for kyua-testers.

This commit is contained in:
jmmv 2013-02-19 06:04:42 +00:00
parent 754f425fc2
commit 6de51c519f
16 changed files with 472 additions and 0 deletions

5
external/bsd/kyua-testers/Makefile vendored Normal file
View File

@ -0,0 +1,5 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:42 jmmv Exp $
SUBDIR= lib .WAIT libexec share tests
.include <bsd.subdir.mk>

View File

@ -0,0 +1,5 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:42 jmmv Exp $
SUBDIR= libtester libatf_tester
.include <bsd.subdir.mk>

View File

@ -0,0 +1,23 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:42 jmmv Exp $
#NOLINT= # defined
.include <bsd.own.mk>
LIB= atf_tester
LIBISPRIVATE= yes
SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist
.PATH: ${SRCDIR}
CPPFLAGS+= -I${.CURDIR}/../libtester # For config.h and defs.h.
CPPFLAGS+= -I${SRCDIR} # For non-installed headers.
CPPFLAGS+= -DHAVE_CONFIG_H
WARNS?= 5
SRCS= atf_list.c
SRCS+= atf_result.c
.include <bsd.lib.mk>

View File

@ -0,0 +1,45 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:42 jmmv Exp $
#NOLINT= # defined
.include <bsd.own.mk>
LIB= tester
LIBISPRIVATE= yes
SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist
.PATH: ${SRCDIR}
CPPFLAGS+= -DGDB=\"/usr/bin/gdb\"
CPPFLAGS+= -DKYUA_TMPDIR=\"/tmp\"
CPPFLAGS+= -I${.CURDIR} # For config.h and defs.h.
CPPFLAGS+= -I${SRCDIR} # For non-installed headers.
CPPFLAGS+= -DHAVE_CONFIG_H
WARNS?= 3
SRCS= cli.c
SRCS+= env.c
SRCS+= error.c
SRCS+= fs.c
SRCS+= result.c
SRCS+= run.c
SRCS+= stacktrace.c
SRCS+= text.c
.if ${MKSHARE} != "no"
FILES+= kyua-testers.pc
FILESDIR= /usr/lib/pkgconfig
realall: kyua-testers.pc
kyua-testers.pc: Makefile kyua-testers.pc.in
${TOOL_SED} \
-e 's,__LIBEXECDIR__,/usr/libexec,g' \
-e 's,__VERSION__,0.1,g' \
<${SRCDIR}/kyua-testers.pc.in >kyua-testers.pc
CLEANFILES+= kyua-testers.pc
.endif
.include <bsd.files.mk>
.include <bsd.lib.mk>

View File

@ -0,0 +1,59 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to the optind value to reset getopt processing */
#define GETOPT_OPTIND_RESET_VALUE 1
/* Define to 1 if getcwd(NULL, 0) works */
#define HAVE_GETCWD_DYN 1
/* Define to 1 if getopt allows a + sign for POSIX behavior */
/* #undef HAVE_GETOPT_GNU */
/* Define to 1 if getopt has optreset */
#define HAVE_GETOPT_WITH_OPTRESET 1
/* Define to 1 if you have the `putenv' function. */
#define HAVE_PUTENV 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `unmount' function. */
#define HAVE_UNMOUNT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if your lchmod works */
#define HAVE_WORKING_LCHMOD 1
/* Define to the last valid signal number */
#define LAST_SIGNO 63
/* Name of package */
#define PACKAGE "kyua-testers"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "kyua-discuss@googlegroups.com"
/* Define to the full name of this package. */
#define PACKAGE_NAME "Kyua - Testers"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "Kyua - Testers 0.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "kyua-testers"
/* Define to the home page for this package. */
#define PACKAGE_URL "http://code.google.com/p/kyua/"
/* Define to the version of this package. */
#define PACKAGE_VERSION "0.1"
/* Set to the path of umount(8) */
/* #undef UMOUNT */
/* Version number of package */
#define VERSION "0.1"

View File

@ -0,0 +1,74 @@
// Copyright 2010 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.
/// \file defs.h
///
/// Definitions for compiler and system features autodetected at configuration
/// time.
#if !defined(KYUA_DEFS_H)
#define KYUA_DEFS_H
/// Attribute to mark a function as printf-like.
///
/// \param a Number of the format parameter.
/// \param b Number of the first positional parameter.
#define KYUA_DEFS_FORMAT_PRINTF(a, b) __attribute__((__format__(__printf__, a, b)))
/// Attribute to mark a function as non-returning.
#define KYUA_DEFS_NORETURN __attribute__((noreturn))
/// Attribute to mark a function as pure.
#define KYUA_DEFS_PURE __attribute__((__pure__))
/// Attribute to mark an entity as unused.
#define KYUA_DEFS_UNUSED __attribute__((__unused__))
/// Macro to mark a parameter as unused.
///
/// This macro has to be called on the name of a parameter during the
/// definition (not declaration) of a function. When doing so, it declares
/// the parameter as unused to silence compiler warnings and also renames
/// the parameter by prefixing "unused_" to it. This is to ensure that the
/// developer remembers to remove the call to this macro from the parameter
/// when he actually starts using it.
///
/// \param name The name of the function parameter to mark as unused.
#define KYUA_DEFS_UNUSED_PARAM(name) unused_ ## name KYUA_DEFS_UNUSED
/// Unconstifies a pointer.
#define KYUA_DEFS_UNCONST(ptr) ((void*)(unsigned long)(const void*)(ptr))
#endif // !defined(KYUA_DEFS_H)

View File

@ -0,0 +1,5 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:43 jmmv Exp $
SUBDIR= kyua-atf-tester kyua-plain-tester
.include <bsd.subdir.mk>

View File

@ -0,0 +1,33 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:43 jmmv Exp $
.include <bsd.own.mk>
SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist
.PATH: ${SRCDIR}
BINDIR= /usr/libexec
PROG_CXX= kyua-atf-tester
SRCS= atf_main.c
MAN= kyua-atf-tester.1
MAN+= kyua-atf-interface.7
PRIVATELIBDIR!= cd ${.CURDIR}/../../lib; ${PRINTOBJDIR}
LDADD+= ${PRIVATELIBDIR}/libatf_tester/libatf_tester.a
DPADD+= ${PRIVATELIBDIR}/libatf_tester/libatf_tester.a
LDADD+= ${PRIVATELIBDIR}/libtester/libtester.a
DPADD+= ${PRIVATELIBDIR}/libtester/libtester.a
CPPFLAGS+= -DHAVE_CONFIG_H
CPPFLAGS+= -I${.CURDIR}/../../lib/libtester
CPPFLAGS+= -I${SRCDIR}
WARNS?= 3
CLEANFILES+= kyua-atf-tester.1
kyua-atf-tester.1: kyua-atf-tester.1.in
sed -e 's,__PACKAGE__,kyua-testers,g' \
-e 's,__TMPDIR__,/tmp,g' \
<${.ALLSRC} >${.TARGET}.tmp
mv ${.TARGET}.tmp ${.TARGET}
.include <bsd.prog.mk>

View File

@ -0,0 +1,31 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:43 jmmv Exp $
.include <bsd.own.mk>
SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist
.PATH: ${SRCDIR}
BINDIR= /usr/libexec
PROG_CXX= kyua-plain-tester
SRCS= plain_main.c
MAN= kyua-plain-tester.1
MAN+= kyua-plain-interface.7
PRIVATELIBDIR!= cd ${.CURDIR}/../../lib; ${PRINTOBJDIR}
LDADD+= ${PRIVATELIBDIR}/libtester/libtester.a
DPADD+= ${PRIVATELIBDIR}/libtester/libtester.a
CPPFLAGS+= -DHAVE_CONFIG_H
CPPFLAGS+= -I${.CURDIR}/../../lib/libtester
CPPFLAGS+= -I${SRCDIR}
WARNS?= 3
CLEANFILES+= kyua-plain-tester.1
kyua-plain-tester.1: kyua-plain-tester.1.in
sed -e 's,__PACKAGE__,kyua-testers,g' \
-e 's,__TMPDIR__,/tmp,g' \
<${.ALLSRC} >${.TARGET}.tmp
mv ${.TARGET}.tmp ${.TARGET}
.include <bsd.prog.mk>

107
external/bsd/kyua-testers/prepare-import.sh vendored Executable file
View File

@ -0,0 +1,107 @@
#!/bin/sh
# $NetBSD: prepare-import.sh,v 1.1 2013/02/19 06:04:42 jmmv Exp $
#
# Use this script to recreate the 'dist' subdirectory from a newly released
# distfile. The script takes care of unpacking the distfile, removing any
# files that are not relevant to NetBSD and checking if there are any new
# files in the new release that need to be addressed.
#
set -e
ProgName=${0##*/}
CLEAN_PATTERNS=
CLEAN_PATTERNS="${CLEAN_PATTERNS} *.m4"
CLEAN_PATTERNS="${CLEAN_PATTERNS} INSTALL TODO"
CLEAN_PATTERNS="${CLEAN_PATTERNS} Doxyfile*"
CLEAN_PATTERNS="${CLEAN_PATTERNS} Makefile* */Makefile*"
CLEAN_PATTERNS="${CLEAN_PATTERNS} admin"
CLEAN_PATTERNS="${CLEAN_PATTERNS} api-docs"
CLEAN_PATTERNS="${CLEAN_PATTERNS} config.h.in"
CLEAN_PATTERNS="${CLEAN_PATTERNS} configure*"
CLEAN_PATTERNS="${CLEAN_PATTERNS} defs.h*"
CLEAN_PATTERNS="${CLEAN_PATTERNS} m4"
err() {
echo "${ProgName}:" "${@}" 1>&2
exit 1
}
log() {
echo "${ProgName}:" "${@}"
}
backup_dist() {
if [ -d dist.old ]; then
log "Removing dist; dist.old exists"
rm -rf dist
else
log "Backing up dist as dist.old"
mv dist dist.old
fi
}
extract_distfile() {
local distfile="${1}"; shift
local distname="${1}"; shift
log "Extracting ${distfile}"
tar -xzf "${distfile}"
[ -d "${distname}" ] || err "Distfile did not create ${distname}"
log "Renaming ${distname} to dist"
mv "${distname}" dist
}
get_distname() {
local distfile="${1}"; shift
basename "${distfile}" | sed -e 's,\.tar.*,,'
}
cleanup_dist() {
log "Removing unnecessary files from dist"
( cd dist && rm -rf ${CLEAN_PATTERNS} )
}
diff_dirs() {
local old_dir="${1}"; shift
local new_dir="${1}"; shift
local old_list=$(mktemp -t kyua-testers-import.XXXXXX)
local new_list=$(mktemp -t kyua-testers-import.XXXXXX)
local diff=$(mktemp -t kyua-testers-import.XXXXXX)
trap "rm -f '${old_list}' '${new_list}' '${diff}'; exit 1" \
HUP INT QUIT TERM
( cd "${old_dir}" && find . | sort >>"${old_list}" )
( cd "${new_dir}" && find . | sort >>"${new_list}" )
diff -u "${old_list}" "${new_list}" | grep '^+\.' >>"${diff}" || true
if [ -s "${diff}" ]; then
log "New files found"
diff -u "${old_list}" "${new_list}" | grep '^+\.'
log "Check if any files have to be cleaned up and update" \
"the prepare-import.sh script accordingly"
else
log "No new files; all good!"
fi
rm -f "${old_list}" "${new_list}" "${diff}"
}
main() {
[ ${#} -eq 1 ] || err "Must provide a distfile name"
local distfile="${1}"; shift
[ -f Makefile -a -f prepare-import.sh ] || \
err "Must be run from the src/external/bsd/kyua-testers subdirectory"
local distname="$(get_distname ${distfile})"
backup_dist
extract_distfile "${distfile}" "${distname}"
cleanup_dist
diff_dirs dist.old dist
}
main "${@}"

View File

@ -0,0 +1,5 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:43 jmmv Exp $
SUBDIR= man
.include <bsd.subdir.mk>

View File

@ -0,0 +1,5 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:43 jmmv Exp $
SUBDIR= man1 man5
.include <bsd.subdir.mk>

View File

@ -0,0 +1,15 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:44 jmmv Exp $
SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist
.PATH: ${SRCDIR}
MAN= kyua-tester.1
CLEANFILES+= kyua-tester.1
kyua-tester.1: kyua-tester.1.in
sed -e 's,__PACKAGE__,kyua-testers,g' \
-e 's,__TMPDIR__,/tmp,g' \
<${.ALLSRC} >${.TARGET}.tmp
mv ${.TARGET}.tmp ${.TARGET}
.include <bsd.man.mk>

View File

@ -0,0 +1,9 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:44 jmmv Exp $
SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist
.PATH: ${SRCDIR}
MAN= kyua-tester-list.5
MAN+= kyua-tester-result.5
.include <bsd.man.mk>

View File

@ -0,0 +1,5 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:44 jmmv Exp $
SUBDIR= kyua-testers
.include <bsd.subdir.mk>

View File

@ -0,0 +1,46 @@
# $NetBSD: Makefile,v 1.1 2013/02/19 06:04:44 jmmv Exp $
.include <bsd.own.mk>
TESTSDIR= ${TESTSBASE}/kyua-testers
SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist
.PATH: ${SRCDIR}
CPPFLAGS+= -DHAVE_CONFIG_H
CPPFLAGS+= -DTESTERSDIR=\"/usr/libexec\"
CPPFLAGS+= -I${.CURDIR}/../../lib/libtester
CPPFLAGS+= -I${SRCDIR}
PRIVATELIBDIR!= cd ${.CURDIR}/../../lib; ${PRINTOBJDIR}
.for lib in atf_tester tester
LDADD+= ${PRIVATELIBDIR}/lib${lib}/lib${lib}.a
DPADD+= ${PRIVATELIBDIR}/lib${lib}/lib${lib}.a
.endfor
TESTS_C= atf_list_test
TESTS_C+= atf_result_test
TESTS_C+= atf_inttest
TESTS_C+= cli_test
TESTS_C+= env_test
TESTS_C+= error_test
TESTS_C+= fs_test
TESTS_C+= plain_inttest
TESTS_C+= result_test
TESTS_C+= run_test
TESTS_C+= stacktrace_test
TESTS_C+= text_test
PROGS= atf_helpers
BINDIR.atf_helpers= ${TESTSDIR}
MAN.atf_helpers= # empty
LDADD.atf_helpers= -latf-c++ -latf-c
DPADD.atf_helpers= ${LIBATF_CXX} ${LIBATF_C}
PROGS+= plain_helpers
BINDIR.plain_helpers= ${TESTSDIR}
MAN.plain_helpers= # empty
PROGS+= stacktrace_helper
BINDIR.stacktrace_helper= ${TESTSDIR}
MAN.stacktrace_helper= # empty
.include <bsd.test.mk>