]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t5523-push-upstream.sh
t5523-push-upstream: test progress messages
[thirdparty/git.git] / t / t5523-push-upstream.sh
index 5a18533ad7965b82a656ba779bfc8098a13339c4..f43d76063eb20dc8cb3556c663cbe4daed4547cd 100755 (executable)
@@ -2,6 +2,7 @@
 
 test_description='push with --set-upstream'
 . ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-terminal.sh
 
 ensure_fresh_upstream() {
        rm -rf parent && git init --bare parent
@@ -70,4 +71,41 @@ test_expect_success 'push -u HEAD' '
        check_config headbranch upstream refs/heads/headbranch
 '
 
+test_expect_success TTY 'progress messages go to tty' '
+       ensure_fresh_upstream &&
+
+       test_terminal git push -u upstream master >out 2>err &&
+       grep "Writing objects" err
+'
+
+test_expect_failure 'progress messages do not go to non-tty' '
+       ensure_fresh_upstream &&
+
+       # skip progress messages, since stderr is non-tty
+       git push -u upstream master >out 2>err &&
+       ! grep "Writing objects" err
+'
+
+test_expect_failure 'progress messages go to non-tty (forced)' '
+       ensure_fresh_upstream &&
+
+       # force progress messages to stderr, even though it is non-tty
+       git push -u --progress upstream master >out 2>err &&
+       grep "Writing objects" err
+'
+
+test_expect_success TTY 'push -q suppresses progress' '
+       ensure_fresh_upstream &&
+
+       test_terminal git push -u -q upstream master >out 2>err &&
+       ! grep "Writing objects" err
+'
+
+test_expect_failure TTY 'push --no-progress suppresses progress' '
+       ensure_fresh_upstream &&
+
+       test_terminal git push -u --no-progress upstream master >out 2>err &&
+       ! grep "Writing objects" err
+'
+
 test_done