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>
brian m. carlson committed
Jul 8, 2026 at 00:15 UTC
5df632cd0574bfb6b936cd3330eabd237201c387
1 file changed
+9
t/t1517-outside-repo.sh
+9
index c557f2f55c..6421bdb3c3 100755
--- a/t/t1517-outside-repo.sh
+++ b/t/t1517-outside-repo.sh
@@ -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