t554[01]-http-push: refactor, add non-ff tests
Move non-fast forward tests to lib-httpd.sh so that we don't have to duplicate the tests in both t5540 and t5541. Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
fe4bc2a5ae
commit
6cbd6e9261
@ -131,3 +131,32 @@ stop_httpd() {
|
|||||||
"$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \
|
"$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \
|
||||||
-f "$TEST_PATH/apache.conf" $HTTPD_PARA -k stop
|
-f "$TEST_PATH/apache.conf" $HTTPD_PARA -k stop
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_http_push_nonff() {
|
||||||
|
REMOTE_REPO=$1
|
||||||
|
LOCAL_REPO=$2
|
||||||
|
BRANCH=$3
|
||||||
|
|
||||||
|
test_expect_success 'non-fast-forward push fails' '
|
||||||
|
cd "$REMOTE_REPO" &&
|
||||||
|
HEAD=$(git rev-parse --verify HEAD) &&
|
||||||
|
|
||||||
|
cd "$LOCAL_REPO" &&
|
||||||
|
git checkout $BRANCH &&
|
||||||
|
echo "changed" > path2 &&
|
||||||
|
git commit -a -m path2 --amend &&
|
||||||
|
|
||||||
|
!(git push -v origin >output 2>&1) &&
|
||||||
|
(cd "$REMOTE_REPO" &&
|
||||||
|
test $HEAD = $(git rev-parse --verify HEAD))
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'non-fast-forward push show ref status' '
|
||||||
|
grep "^ ! \[rejected\][ ]*$BRANCH -> $BRANCH (non-fast-forward)$" output
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'non-fast-forward push shows help message' '
|
||||||
|
grep "To prevent you from losing history, non-fast-forward updates were rejected" \
|
||||||
|
output
|
||||||
|
'
|
||||||
|
}
|
||||||
|
@ -137,6 +137,9 @@ test_expect_success 'PUT and MOVE sends object to URLs with SHA-1 hash suffix' '
|
|||||||
|
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_http_push_nonff "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
|
||||||
|
"$ROOT_PATH"/test_repo_clone master
|
||||||
|
|
||||||
stop_httpd
|
stop_httpd
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
@ -88,28 +88,8 @@ test_expect_success 'used receive-pack service' '
|
|||||||
test_cmp exp act
|
test_cmp exp act
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'non-fast-forward push fails' '
|
test_http_push_nonff "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
|
||||||
cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
|
"$ROOT_PATH"/test_repo_clone master
|
||||||
HEAD=$(git rev-parse --verify HEAD) &&
|
|
||||||
|
|
||||||
cd "$ROOT_PATH"/test_repo_clone &&
|
|
||||||
git checkout master &&
|
|
||||||
echo "changed" > path2 &&
|
|
||||||
git commit -a -m path2 --amend &&
|
|
||||||
|
|
||||||
!(git push -v origin >output 2>&1) &&
|
|
||||||
(cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
|
|
||||||
test $HEAD = $(git rev-parse --verify HEAD))
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success 'non-fast-forward push show ref status' '
|
|
||||||
grep "^ ! \[rejected\][ ]*master -> master (non-fast-forward)$" output
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success 'non-fast-forward push shows help message' '
|
|
||||||
grep "To prevent you from losing history, non-fast-forward updates were rejected" \
|
|
||||||
output
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success 'push fails for non-fast-forward refs unmatched by remote helper' '
|
test_expect_success 'push fails for non-fast-forward refs unmatched by remote helper' '
|
||||||
# create a dissimilarly-named remote ref so that git is unable to match the
|
# create a dissimilarly-named remote ref so that git is unable to match the
|
||||||
|
Loading…
Reference in New Issue
Block a user