t1517: skip svn tests if svn is not installed

The svn tests currently assume that git-svn's option parsing will always
fail the tests because it exits 0 on --help, not 129.  However, in a
future commit, we'll expect it to exit 0 and the tests will then need to
be updated to succeed in some cases and fail in others.

We therefore need to have t1517 determine whether the Subversion Perl
modules are present, since if they are not, git-svn will die on start
and then it needs to continue to expect failure.  Add a stripped down
version of the tests in t/lib-git-svn.sh as a prerequisite we can use
here for our svn tests.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
brian m. carlson 2026-07-08 00:15:54 +00:00 committed by Junio C Hamano
parent e9019fcafe
commit 5df632cd05
1 changed files with 9 additions and 0 deletions

View File

@ -4,6 +4,13 @@ test_description='check random commands outside repo'

. ./test-lib.sh

test_lazy_prereq SVN '
test_have_prereq PERL && test -z "$NO_SVN_TESTS" && perl -w -e "
use SVN::Core;
use SVN::Repos;
"
'

test_expect_success 'set up a non-repo directory and test file' '
GIT_CEILING_DIRECTORIES=$(pwd) &&
export GIT_CEILING_DIRECTORIES &&
@ -138,6 +145,8 @@ do
case "$cmd" in
instaweb)
prereq=PERL ;;
svn)
prereq=SVN ;;
*)
prereq= ;;
esac