git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/7] t554[01]-http-push: refactor, add non-ff tests

From
Tay Ray Chuan <rctay89@gmail.com>
Date
Feb 21, 2010, 03:08 UTC
Message-ID
<1266721708-1060-3-git-send-email-rctay89@gmail.com>
In-Reply-To
<1266721708-1060-1-git-send-email-rctay89@gmail.com>

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>
---
 t/lib-httpd.sh       |   29 +++++++++++++++++++++++++++++
 t/t5540-http-push.sh |    3 +++
 t/t5541-http-push.sh |   24 ++----------------------
 3 files changed, 34 insertions(+), 22 deletions(-)
diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh
index 28aff88..da4b8d5 100644
--- a/t/lib-httpd.sh
+++ b/t/lib-httpd.sh
@@ -131,3 +131,32 @@ stop_httpd() {
 	"$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \
 		-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
+	'
+}
diff --git a/t/t5540-http-push.sh b/t/t5540-http-push.sh
index bb18f8b..37fe875 100755
--- a/t/t5540-http-push.sh
+++ b/t/t5540-http-push.sh
@@ -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
 
 test_done
diff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh
index ff947f3..795dc2b 100755
--- a/t/t5541-http-push.sh
+++ b/t/t5541-http-push.sh
@@ -88,28 +88,8 @@ test_expect_success 'used receive-pack service' '
 	test_cmp exp act
 '
 
-test_expect_success 'non-fast-forward push fails' '
-	cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
-	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_http_push_nonff "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
+	"$ROOT_PATH"/test_repo_clone master
 
 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
-- 
1.7.0.26.gbfa16
Previous: Tay Ray ChuanNext: Tay Ray Chuan
Message 3 of 13 in “http: minor improvements”
  1. 0/7 http: minor improvementsTay Ray Chuan, Feb 21, 2010
  2. 1/7 t5541-http-push: check that ref is unchanged for non-ff testTay Ray Chuan, Feb 21, 2010
  3. 2/7 t554[01]-http-push: refactor, add non-ff testsTay Ray Chuan, Feb 21, 2010
  4. 3/7 http-push: remove useless conditionTay Ray Chuan, Feb 21, 2010
  5. Clemens BuchacherFeb 21, 2010
  6. Tay Ray ChuanFeb 21, 2010
  7. 4/7 http-walker: cleanup more thoroughlyTay Ray Chuan, Feb 21, 2010
  8. 5/7 http: init and cleanup separately from http-walkerTay Ray Chuan, Feb 21, 2010
  9. Clemens BuchacherFeb 21, 2010
  10. Clemens BuchacherFeb 21, 2010
  11. Tay Ray ChuanFeb 21, 2010
  12. 6/7 remote-curl: use http_fetch_ref() instead of walker wrapperTay Ray Chuan, Feb 21, 2010
  13. 7/7 remote-curl: init walker only when neededTay Ray Chuan, Feb 21, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.