Make sure $PERL_PATH is defined when the test suite is run.
Some test scripts run Perl scripts as if they were git-* scripts, and thus need to use the same perl that will be put in the shebang line of git*.perl commands. $PERL_PATH therefore needs to be used instead of a bare "perl". The tests can fail if another perl is found in $PATH before the one defined in $PERL_PATH. Example test failure caused by this: the perl defined in $PERL_PATH has Error.pm installed, and therefore the Git.pm's Makefile.PL doesn't install the private copy. The perl from $PATH doesn't have Error.pm installed, and all git*.perl scripts invoked during the test will fail loading Error.pm. Makefile patch by Jeff King <peff@peff.net>. Signed-off-by: Philippe Bruhat (BooK) <book@cpan.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
78d553b7d7
commit
be38ca3d19
1
Makefile
1
Makefile
@ -1626,6 +1626,7 @@ GIT-CFLAGS: .FORCE-GIT-CFLAGS
|
||||
# and the first level quoting from the shell that runs "echo".
|
||||
GIT-BUILD-OPTIONS: .FORCE-GIT-BUILD-OPTIONS
|
||||
@echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@
|
||||
@echo PERL_PATH=\''$(subst ','\'',$(PERL_PATH_SQ))'\' >>$@
|
||||
@echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@
|
||||
@echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@
|
||||
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@
|
||||
|
@ -20,7 +20,7 @@ then
|
||||
say 'skipping git-cvsserver tests, cvs not found'
|
||||
test_done
|
||||
fi
|
||||
perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
|
||||
"$PERL_PATH" -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
|
||||
say 'skipping git-cvsserver tests, Perl SQLite interface unavailable'
|
||||
test_done
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ then
|
||||
say 'skipping git-cvsserver tests, perl not available'
|
||||
test_done
|
||||
fi
|
||||
perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
|
||||
"$PERL_PATH" -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
|
||||
say 'skipping git-cvsserver tests, Perl SQLite interface unavailable'
|
||||
test_done
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ if ! test_have_prereq PERL; then
|
||||
test_done
|
||||
fi
|
||||
|
||||
perl -MTest::More -e 0 2>/dev/null || {
|
||||
"$PERL_PATH" -MTest::More -e 0 2>/dev/null || {
|
||||
say "Perl Test::More unavailable, skipping test"
|
||||
test_done
|
||||
}
|
||||
@ -48,6 +48,6 @@ test_expect_success \
|
||||
|
||||
test_external_without_stderr \
|
||||
'Perl API' \
|
||||
perl "$TEST_DIRECTORY"/t9700/test.pl
|
||||
"$PERL_PATH" "$TEST_DIRECTORY"/t9700/test.pl
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user