citrun

watch C/C++ source code execute
Log | Files | Refs | LICENSE

commit 3d01c913b2ffc0689645ae3c415d8f97b14f460e
parent 371d933ca7462e59363c477fdb53c51bf878c0a9
Author: kyle <kyle@0x30.net>
Date:   Fri, 25 Nov 2016 22:43:43 -0700

tt: break out perl program from shell script

Diffstat:
Mtt/package.subr | 48+++++++++++++++++-------------------------------
Att/write_tus.pl | 12++++++++++++
2 files changed, 29 insertions(+), 31 deletions(-)

diff --git a/tt/package.subr b/tt/package.subr @@ -1,60 +1,46 @@ -# exports CITRUN_TOOLS and sources libtap.subr +. t/libtap.subr . t/utils.subr -pkg_set() -{ - port="/usr/ports/$1" - wrkdist=`make -C $port show=WRKDIST` +if [ `uname` != "OpenBSD" ]; then + echo End to end tests are not supported on this platform. + exit 0 +fi - export TEST_PORT="$port" - export TEST_WRKDIST="$wrkdist" -} +portdir="/usr/ports/$1" +workdir=`make -C $portdir show=WRKDIST` +treedir=`pwd` + +modify_PATH pkg_check_deps() { - make -C $TEST_PORT full-build-depends > deps - make -C $TEST_PORT full-test-depends >> deps + make -C $portdir full-build-depends > deps + make -C $portdir full-test-depends >> deps sort deps | uniq > deps.uniq pkg_info -q > installed comm -2 -3 deps.uniq installed > deps_needed - ok "build and test dependencies" diff -u /dev/null deps_needed + ok "are dependencies met" diff -u /dev/null deps_needed } pkg_build() { - ok "port build" make -C $TEST_PORT PORTPATH="$CITRUN_TOOLS:\${WRKDIR}/bin:$PATH" build + ok "is built" make -C $portdir PORTPATH="$treedir/src:\${WRKDIR}/bin:$PATH" build } pkg_test() { - #make -C $TEST_PORT PORTPATH="$CITRUN_TOOLS:\${WRKDIR}/bin:$PATH" test || true + ok "port test" make -C $portdir PORTPATH="$treedir/src:\${WRKDIR}/bin:$PATH" test } pkg_check() { - $CITRUN_TOOLS/citrun-check -o check.out $TEST_WRKDIST + ok "is citrun-check successful" citrun-check -o check.out $workdir strip_millis check.out ok "citrun-check output diff" diff -u check.good check.out } pkg_clean() { - ok "port clean" make -C $TEST_PORT clean=all -} - -pkg_write_tus() -{ - cat <<'EOF' > tu_printer.pl -use strict; -use warnings; -use t::shm; - -open(my $out, '>', 'filelist.out') or die $!; -my $shm = t::shm->new(); - -select $out; -$shm->print_tus(); -EOF - ok "is tu printer exit code 0" perl -I $CITRUN_TOOLS/.. tu_printer.pl + ok "port clean" make -C $portdir clean } diff --git a/tt/write_tus.pl b/tt/write_tus.pl @@ -0,0 +1,12 @@ +# +# A little frontend for t::shm that prints the list of translation units. +# +use strict; +use warnings; +use t::shm; + +open(my $out, '>', 'tu_list.out') or die $!; +my $shm = t::shm->new($ARGV[0]); + +select $out; +$shm->print_tus();