diff options
Diffstat (limited to 'check.am')
-rw-r--r-- | check.am | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/check.am b/check.am new file mode 100644 index 0000000..c7d6731 --- /dev/null +++ b/check.am @@ -0,0 +1,47 @@ +# Variables to be defined: +# +# TEST_VERBOSE - set to 0 (default) or 1 to control test suite verbosity +# TEST_PARALLEL - set to 1 (default) or N to control the parallel jobs +# TEST_ENV_VARS - environment variables to be set for the test suite +# TEST_COVERAGE - set to the perl module in charge of getting test coverage +# test_tmpdir - test suite temporary directory +# test_scripts - list of test case scripts +# test_programs - list of test case programs +# test_data - list of test data files + +TEST_VERBOSE ?= 0 +TEST_PARALLEL ?= 1 + +TEST_RUNNER = '\ + my $$harness = TAP::Harness->new({ \ + exec => sub { my (undef, $$test) = @_; \ + return [ $$test ] if $$test !~ "\.t\$$" and -x $$test; \ + return }, \ + lib => [ "$(top_srcdir)/scripts", "$(top_srcdir)/dselect/methods" ], \ + color => 1, \ + verbosity => $(TEST_VERBOSE), \ + jobs => $(TEST_PARALLEL), \ + failures => 1, \ + }); \ + my $$aggregate = $$harness->runtests(@ARGV); \ + die "FAIL: test suite has errors\n" if $$aggregate->has_errors;' + +check-clean: + [ -z "$(test_tmpdir)" ] || rm -fr $(test_tmpdir) + +check-local: $(test_data) $(test_programs) $(test_scripts) + [ -z "$(test_tmpdir)" ] || $(MKDIR_P) $(test_tmpdir) + PATH="$(abs_top_builddir)/src:$(abs_top_builddir)/scripts:$(abs_top_builddir)/utils:$(PATH)" \ + LC_ALL=C \ + DPKG_COLORS=never \ + $(TEST_ENV_VARS) \ + srcdir=$(srcdir) builddir=$(builddir) \ + CC=$(CC) \ + PERL=$(PERL) \ + SHELL=$(SHELL) \ + PERL_DL_NONLAZY=1 \ + PERL5LIB=$(abs_top_srcdir)/scripts:$(abs_top_srcdir)/dselect/methods \ + PERL5OPT=$(TEST_COVERAGE) \ + $(PERL) -MTAP::Harness -e $(TEST_RUNNER) \ + $(addprefix $(builddir)/,$(test_programs)) \ + $(addprefix $(srcdir)/,$(test_scripts)) |