Skip to content

Commit

Permalink
t9010: svnadmin can fail even if available
Browse files Browse the repository at this point in the history
If svn is built against one version of SQLite and run against another,
libsvn_subr needlessly errors out in operations that need to make a
commit.

That is clearly not a bug in git but let us consider the ramifications for
the test suite.  git-svn uses libsvn directly and is probably broken by
that bug; it is right for git-svn tests to fail.  The vcs-svn lib, on the
other hand, does not use libsvn and the test t9010 only uses svn to check
its work.  This points to two possible improvements:

 - do not disable most vcs-svn tests if svn is missing.
 - skip validation rather than failing it when svn fails.

Bring about both by putting the svn invocations into a single test that
builds a repo to compare the test-svn-fe result against.  The test will
always pass but only will set the new SVNREPO test prereq if svn succeeds;
and validation using that repo gets an SVNREPO prerequisite so it only
runs with working svn installations.

Works-around: http://bugs.debian.org/608925
Noticed-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
  • Loading branch information
Jonathan Nieder authored and Junio C Hamano committed Jan 10, 2011
1 parent bf9b46c commit 0316bba
Showing 1 changed file with 15 additions and 20 deletions.
35 changes: 15 additions & 20 deletions t/t9010-svn-fe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,6 @@ test_description='check svn dumpfile importer'

. ./test-lib.sh

if ! svnadmin -h >/dev/null 2>&1
then
skip_all='skipping svn-fe tests, svn not available'
test_done
fi

svnconf=$PWD/svnconf
export svnconf

svn_cmd () {
subcommand=$1 &&
shift &&
mkdir -p "$svnconf" &&
svn "$subcommand" --config-dir "$svnconf" "$@"
}

reinit_git () {
rm -fr .git &&
git init
Expand All @@ -41,10 +25,21 @@ test_expect_success 'v3 dumps not supported' '
test_cmp empty stream
'

test_expect_success 't9135/svn.dump' '
svnadmin create simple-svn &&
svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" &&
svn_cmd export "file://$PWD/simple-svn" simple-svnco &&
test_expect_success 'set up svn repo' '
svnconf=$PWD/svnconf &&
mkdir -p "$svnconf" &&
if
svnadmin -h >/dev/null 2>&1 &&
svnadmin create simple-svn &&
svnadmin load simple-svn <"$TEST_DIRECTORY/t9135/svn.dump" &&
svn export --config-dir "$svnconf" "file://$PWD/simple-svn" simple-svnco
then
test_set_prereq SVNREPO
fi
'

test_expect_success SVNREPO 't9135/svn.dump' '
git init simple-git &&
test-svn-fe "$TEST_DIRECTORY/t9135/svn.dump" >simple.fe &&
(
Expand Down

0 comments on commit 0316bba

Please sign in to comment.