зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
900721e15c
Коммит
9f82b2a6a7
|
@ -37,5 +37,4 @@ test_expect_success "fetch with $VERSION_B" '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
stop_git_daemon
|
||||
test_done
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#
|
||||
# test_expect_success ...
|
||||
#
|
||||
# stop_git_daemon
|
||||
# test_done
|
||||
|
||||
test_tristate GIT_TEST_GIT_DAEMON
|
||||
|
@ -36,6 +35,7 @@ GIT_DAEMON_DOCUMENT_ROOT_PATH="$PWD"/repo
|
|||
GIT_DAEMON_HOST_PORT=127.0.0.1:$LIB_GIT_DAEMON_PORT
|
||||
GIT_DAEMON_URL=git://$GIT_DAEMON_HOST_PORT
|
||||
|
||||
registered_stop_git_daemon_atexit_handler=
|
||||
start_git_daemon() {
|
||||
if test -n "$GIT_DAEMON_PID"
|
||||
then
|
||||
|
@ -44,7 +44,13 @@ start_git_daemon() {
|
|||
|
||||
mkdir -p "$GIT_DAEMON_DOCUMENT_ROOT_PATH"
|
||||
|
||||
trap 'code=$?; stop_git_daemon; (exit $code); die' EXIT
|
||||
# One of the test scripts stops and then re-starts 'git daemon'.
|
||||
# Don't register and then run the same atexit handlers several times.
|
||||
if test -z "$registered_stop_git_daemon_atexit_handler"
|
||||
then
|
||||
test_atexit 'stop_git_daemon'
|
||||
registered_stop_git_daemon_atexit_handler=AlreadyDone
|
||||
fi
|
||||
|
||||
say >&3 "Starting git daemon ..."
|
||||
mkfifo git_daemon_output
|
||||
|
@ -66,7 +72,7 @@ start_git_daemon() {
|
|||
then
|
||||
kill "$GIT_DAEMON_PID"
|
||||
wait "$GIT_DAEMON_PID"
|
||||
trap 'die' EXIT
|
||||
unset GIT_DAEMON_PID
|
||||
test_skip_or_die $GIT_TEST_GIT_DAEMON \
|
||||
"git daemon failed to start"
|
||||
fi
|
||||
|
@ -78,8 +84,6 @@ stop_git_daemon() {
|
|||
return
|
||||
fi
|
||||
|
||||
trap 'die' EXIT
|
||||
|
||||
# kill git-daemon child of git
|
||||
say >&3 "Stopping git daemon ..."
|
||||
kill "$GIT_DAEMON_PID"
|
||||
|
|
|
@ -198,5 +198,4 @@ test_expect_success FAKENC 'hostname interpolation works after LF-stripping' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
stop_git_daemon
|
||||
test_done
|
||||
|
|
Загрузка…
Ссылка в новой задаче