t5541: test more combinations of --progress

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> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed May 1, 2012 at 04:43 UTC e304aeba20d6f26cb95c022704440a36ef309075
1 file changed +25 -2
t/t5541-http-push.sh
+25 -2
@@ -215,12 +215,35 @@ test_expect_success 'push --mirror to repo with alternates' '
215 git push --mirror "$HTTPD_URL"/smart/alternates-mirror.git
216 '
217
218 -test_expect_success TTY 'quiet push' '
218 +test_expect_success TTY 'push shows progress when stderr is a tty' '
219 + cd "$ROOT_PATH"/test_repo_clone &&
220 + test_commit noisy &&
221 + test_terminal git push >output 2>&1 &&
222 + grep "^Writing objects" output
223 +'
224 +
225 +test_expect_success TTY 'push --quiet silences status and progress' '
226 cd "$ROOT_PATH"/test_repo_clone &&
227 test_commit quiet &&
221 - test_terminal git push --quiet --no-progress 2>&1 | tee output &&
228 + test_terminal git push --quiet >output 2>&1 &&
229 test_cmp /dev/null output
230 '
231
232 +test_expect_success TTY 'push --no-progress silences progress but not status' '
233 + cd "$ROOT_PATH"/test_repo_clone &&
234 + test_commit no-progress &&
235 + test_terminal git push --no-progress >output 2>&1 &&
236 + grep "^To http" output &&
237 + ! grep "^Writing objects"
238 +'
239 +
240 +test_expect_success 'push --progress shows progress to non-tty' '
241 + cd "$ROOT_PATH"/test_repo_clone &&
242 + test_commit progress &&
243 + git push --progress >output 2>&1 &&
244 + grep "^To http" output &&
245 + grep "^Writing objects" output
246 +'
247 +
248 stop_httpd
249 test_done