Browse Source

t/interop: add test of old clients against modern git-daemon

This test just checks that old clients can clone and fetch
from a newer git-daemon. The opposite should also be true,
but it's hard to test ancient versions of git-daemon because
they lack basic options like "--listen".

Note that we have to make a slight tweak to the
lib-git-daemon helper from the regular tests, so that it
starts the daemon with our correct git.a version.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jeff King 8 years ago committed by Junio C Hamano
parent
commit
bd4d9d993c
  1. 41
      t/interop/i5500-git-daemon.sh
  2. 3
      t/lib-git-daemon.sh

41
t/interop/i5500-git-daemon.sh

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
#!/bin/sh

VERSION_A=.
VERSION_B=v1.0.0

: ${LIB_GIT_DAEMON_PORT:=5500}
LIB_GIT_DAEMON_COMMAND='git.a daemon'

test_description='clone and fetch by older client'
. ./interop-lib.sh
. "$TEST_DIRECTORY"/lib-git-daemon.sh

start_git_daemon --export-all

repo=$GIT_DAEMON_DOCUMENT_ROOT_PATH/repo

test_expect_success "create repo served by $VERSION_A" '
git.a init "$repo" &&
git.a -C "$repo" commit --allow-empty -m one
'

test_expect_success "clone with $VERSION_B" '
git.b clone "$GIT_DAEMON_URL/repo" child &&
echo one >expect &&
git.a -C child log -1 --format=%s >actual &&
test_cmp expect actual
'

test_expect_success "fetch with $VERSION_B" '
git.a -C "$repo" commit --allow-empty -m two &&
(
cd child &&
git.b fetch
) &&
echo two >expect &&
git.a -C child log -1 --format=%s FETCH_HEAD >actual &&
test_cmp expect actual
'

stop_git_daemon
test_done

3
t/lib-git-daemon.sh

@ -46,7 +46,8 @@ start_git_daemon() { @@ -46,7 +46,8 @@ start_git_daemon() {

say >&3 "Starting git daemon ..."
mkfifo git_daemon_output
git daemon --listen=127.0.0.1 --port="$LIB_GIT_DAEMON_PORT" \
${LIB_GIT_DAEMON_COMMAND:-git daemon} \
--listen=127.0.0.1 --port="$LIB_GIT_DAEMON_PORT" \
--reuseaddr --verbose \
--base-path="$GIT_DAEMON_DOCUMENT_ROOT_PATH" \
"$@" "$GIT_DAEMON_DOCUMENT_ROOT_PATH" \

Loading…
Cancel
Save