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

[PATCH 3/3] t5541: test more combinations of --progress

From
Jeff King <peff@peff.net>
Date
May 1, 2012, 08:43 UTC
Message-ID
<20120501084307.GC4998@sigill.intra.peff.net>
In-Reply-To
<20120501084048.GA21904@sigill.intra.peff.net>

Previously, we tested only that "push --quiet --no-progress" was silent. However, there are many other combinations that were not tested:

  1. no options at all (but stderr as a tty)
  2. --no-progress by itself
  3. --quiet by itself
  4. --progress (when stderr not a tty)

These are tested elsewhere for general "push", but it is important to test them separately for http. It follows a very different code path than git://, and options must be relayed across a remote helper to a separate send-pack process (and in fact cases (1), (2), and (4) have all been broken just for http at some point in the past).

We can drop the "--quiet --no-progress" test, as it is not really interesting (it is already handled by testing them separately in (2) and (3) above).

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t5541-http-push.sh |   27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh
index d66ed24..a1b10bd 100755
--- a/t/t5541-http-push.sh
+++ b/t/t5541-http-push.sh
@@ -215,12 +215,35 @@ test_expect_success 'push --mirror to repo with alternates' '
 	git push --mirror "$HTTPD_URL"/smart/alternates-mirror.git
 '
 
-test_expect_success TTY 'quiet push' '
+test_expect_success TTY 'push shows progress when stderr is a tty' '
+	cd "$ROOT_PATH"/test_repo_clone &&
+	test_commit noisy &&
+	test_terminal git push 2>&1 | tee output &&
+	grep "^Writing objects" output
+'
+
+test_expect_success TTY 'push --quiet silences status and progress' '
 	cd "$ROOT_PATH"/test_repo_clone &&
 	test_commit quiet &&
-	test_terminal git push --quiet --no-progress 2>&1 | tee output &&
+	test_terminal git push --quiet 2>&1 | tee output &&
 	test_cmp /dev/null output
 '
 
+test_expect_success TTY 'push --no-progress silences progress but not status' '
+	cd "$ROOT_PATH"/test_repo_clone &&
+	test_commit no-progress &&
+	test_terminal git push --no-progress 2>&1 | tee output &&
+	grep "^To http" output &&
+	! grep "^Writing objects"
+'
+
+test_expect_success 'push --progress shows progress to non-tty' '
+	cd "$ROOT_PATH"/test_repo_clone &&
+	test_commit progress &&
+	git push --progress 2>&1 | tee output &&
+	grep "^To http" output &&
+	grep "^Writing objects" output
+'
+
 stop_httpd
 test_done
-- 
1.7.10.630.g31718

-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en
Previous: Jeff KingNext: Clemens Buchacher
Message 6 of 14 in “Re: 1.7.10 doesn't show file pushstatus”
  1. Jeff KingMay 1, 2012
  2. Jeff KingMay 1, 2012
  3. Jeff KingMay 1, 2012
  4. 1/3 send-pack: show progress when isatty(2)Jeff King, May 1, 2012
  5. 2/3 teach send-pack about --[no-]progressJeff King, May 1, 2012
  6. 3/3 t5541: test more combinations of --progressJeff King, May 1, 2012
  7. Clemens BuchacherMay 1, 2012
  8. Jeff KingMay 1, 2012
  9. David EbboMay 1, 2012
  10. Zbigniew Jędrzejewski-SzmekMay 1, 2012
  11. Junio C HamanoMay 1, 2012
  12. Clemens BuchacherMay 1, 2012
  13. Junio C HamanoMay 1, 2012
  14. Johannes SchindelinMay 2, 2012

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.