summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Zullinger <tmz@pobox.com>2017-12-01 15:56:53 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-12-14 18:41:55 (GMT)
commitbf9d7df950cd2c33b0e4e80386ba6140448a8a57 (patch)
tree91f37a818b058dad4c8a8ba47812827fb4a5d34a
parent78109771053976350d76df6aaad1fcdb09873a7c (diff)
downloadgit-bf9d7df950cd2c33b0e4e80386ba6140448a8a57.zip
git-bf9d7df950cd2c33b0e4e80386ba6140448a8a57.tar.gz
git-bf9d7df950cd2c33b0e4e80386ba6140448a8a57.tar.bz2
t/lib-git-svn.sh: improve svnserve tests with parallel make test
Setting SVNSERVE_PORT enables several tests which require a local svnserve daemon to be run (in t9113 & t9126). The tests share setup of the local svnserve via `start_svnserve()`. The function uses svnserve's `--listen-once` option, which causes svnserve to accept one connection on the port, serve it, and exit. When running the tests in parallel this fails if one test tries to start svnserve while the other is still running. Use the test number as the svnserve port (similar to httpd tests) to avoid port conflicts. Developers can set GIT_TEST_SVNSERVE to any value other than 'false' or 'auto' to enable these tests. Acked-by: Eric Wong <e@80x24.org> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Todd Zullinger <tmz@pobox.com>
-rw-r--r--t/lib-git-svn.sh6
1 files changed, 4 insertions, 2 deletions
diff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh
index 84366b2..4c1f81f 100644
--- a/t/lib-git-svn.sh
+++ b/t/lib-git-svn.sh
@@ -110,14 +110,16 @@ EOF
}
require_svnserve () {
- if test -z "$SVNSERVE_PORT"
+ test_tristate GIT_TEST_SVNSERVE
+ if ! test "$GIT_TEST_SVNSERVE" = true
then
- skip_all='skipping svnserve test. (set $SVNSERVE_PORT to enable)'
+ skip_all='skipping svnserve test. (set $GIT_TEST_SVNSERVE to enable)'
test_done
fi
}
start_svnserve () {
+ SVNSERVE_PORT=${SVNSERVE_PORT-${this_test#t}}
svnserve --listen-port $SVNSERVE_PORT \
--root "$rawsvnrepo" \
--listen-once \