Skip to content
This repository was archived by the owner on Nov 9, 2017. It is now read-only.

Commit e304aeb

Browse files
peffgitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 391b1f2 commit e304aeb

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

t/t5541-http-push.sh

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,12 +215,35 @@ test_expect_success 'push --mirror to repo with alternates' '
215215
git push --mirror "$HTTPD_URL"/smart/alternates-mirror.git
216216
'
217217

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' '
219226
cd "$ROOT_PATH"/test_repo_clone &&
220227
test_commit quiet &&
221-
test_terminal git push --quiet --no-progress 2>&1 | tee output &&
228+
test_terminal git push --quiet >output 2>&1 &&
222229
test_cmp /dev/null output
223230
'
224231

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+
225248
stop_httpd
226249
test_done

0 commit comments

Comments
 (0)