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:
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();