summaryrefslogtreecommitdiffstats
path: root/build-aux/test-runner
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/test-runner')
-rwxr-xr-xbuild-aux/test-runner33
1 files changed, 33 insertions, 0 deletions
diff --git a/build-aux/test-runner b/build-aux/test-runner
new file mode 100755
index 0000000..73c33fb
--- /dev/null
+++ b/build-aux/test-runner
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use TAP::Harness;
+
+my $srcroot = $ENV{abs_top_srcdir};
+my $binroot = $ENV{abs_top_builddir};
+
+# Setup the environment
+$ENV{LC_ALL} = 'C';
+$ENV{DPKG_COLORS} = 'never';
+$ENV{PATH} = "$binroot/src:$binroot/scripts:$binroot/utils:$ENV{PATH}";
+
+my $harness = TAP::Harness->new({
+ exec => sub {
+ my (undef, $test) = @_;
+ return [ $test ] if $test !~ m/\.t$/ and -x $test;
+ return
+ },
+ lib => [
+ "$srcroot/scripts",
+ "$srcroot/dselect/methods"
+ ],
+ color => 1,
+ verbosity => $ENV{TEST_VERBOSE},
+ jobs => $ENV{TEST_PARALLEL},
+ failures => 1,
+});
+
+my $aggregate = $harness->runtests(@ARGV);
+die "FAIL: test suite has errors\n" if $aggregate->has_errors;