git/t/interop/i5500-git-daemon.sh
Johannes Schindelin 9f82b2a6a7 git-daemon: use 'test_atexit` to stop 'git-daemon'
Use 'test_atexit' to run cleanup commands to stop 'git-daemon' at the
end of the test script or upon interrupt or failure, as it is shorter,
simpler, and more robust than registering such cleanup commands in the
trap on EXIT in the test scripts.

Note that in 't5570-git-daemon.sh' the daemon is stopped and then
re-started in the middle of the test script; take care that the
cleanup functions to stop the daemon are only registered once.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-03-14 12:34:39 +09:00

40 lines
854 B
Bash
Executable file

#!/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
'
test_done