From 00f5ba15dd91a3d9780fe1fbd06a4df436ae6714 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Thu, 30 Aug 2012 14:13:11 +0200 Subject: tests: detect missing perl at configure runtime * configure.ac (AM_CONDITIONAL): Set the conditional 'HAVE_PERL' to true if the configure-time checks (as run by gl_PERL) have been able to find a working perl. * tests/no-perl: New script, report a diagnostic about "missing perl" and exit with status 77. * tests/Makefile.am (EXTRA_DIST): Distribute it. (TESTSUITE_PERL): New, define to '$(PERL)' if a perl interpreter has been found at configure time (i.e., if the 'HAVE_PERL' automake conditional is true), and to '$(srcdir)/no-perl' otherwise. (LOG_COMPILER): Use $(TESTSUITE_PERL) instead of $(PERL). (XPL_LOG_COMPILER): Likewise. * tests/shell-or-perl: Simplify: no need to actually check whether perl is working. --- tests/Makefile.am | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'tests/Makefile.am') diff --git a/tests/Makefile.am b/tests/Makefile.am index 581f803e7..ff0af8494 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -47,6 +47,12 @@ check_DATA = .built-programs TEST_EXTENSIONS = .xpl +if HAVE_PERL +TESTSUITE_PERL = $(PERL) +else +TESTSUITE_PERL = $(SHELL) $(srcdir)/no-perl +endif + # '$f' is set by the Automake-generated test harness to the path of the # current test script stripped of VPATH components, and is used by the # shell-or-perl script to determine the name of the temporary files to be @@ -55,11 +61,11 @@ TEST_EXTENSIONS = .xpl LOG_COMPILER = \ $(SHELL) $(srcdir)/shell-or-perl \ --test-name "$$f" --srcdir '$(srcdir)' \ - --shell '$(SHELL)' --perl '$(PERL)' -- + --shell '$(SHELL)' --perl '$(TESTSUITE_PERL)' -- # Perl scripts that must be run in tainted mode. XPL_LOG_COMPILER = \ - $(PERL) -wT -I$(srcdir) -MCoreutils -MCuSkip -M"CuTmpdir qw($$f)" + $(TESTSUITE_PERL) -wT -I$(srcdir) -MCoreutils -MCuSkip -M"CuTmpdir qw($$f)" # Note that the first lines are statements. They ensure that environment # variables that can perturb tests are unset or set to expected values. @@ -118,6 +124,7 @@ EXTRA_DIST = \ init.cfg \ init.sh \ lang-default \ + no-perl \ other-fs-tmpdir \ sample-test \ shell-or-perl \ -- cgit v1.2.3-54-g00ecf