]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t5318: test that '--stdin-commits' respects '--[no-]progress'
authorTaylor Blau <me@ttaylorr.com>
Mon, 1 Jun 2020 18:01:31 +0000 (12:01 -0600)
committerJunio C Hamano <gitster@pobox.com>
Thu, 4 Jun 2020 14:54:08 +0000 (07:54 -0700)
The following lines were not covered in a recent line-coverage test
against Git:

  builtin/commit-graph.c
  5b6653e5 244) progress = start_delayed_progress(
  5b6653e5 268) stop_progress(&progress);

These statements are executed when both '--stdin-commits' and
'--progress' are passed. Introduce a trio of tests that exercise various
combinations of these options to ensure that these lines are covered.

More importantly, this is exercising a (somewhat) previously-ignored
feature of '--stdin-commits', which is that it respects '--progress'.
Prior to 5b6653e523 (builtin/commit-graph.c: dereference tags in
builtin, 2020-05-13), dereferencing input from '--stdin-commits' was
done inside of commit-graph.c.

Now that an additional progress meter may be generated from outside of
commit-graph.c, add a corresponding test to make sure that it also
respects '--[no]-progress'.

The other location that generates progress meter output (from d335ce8f24
(commit-graph.c: show progress of finding reachable commits,
2020-05-13)) is already covered by any test that passes '--reachable'.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Acked-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5318-commit-graph.sh

index 31cbff56776d198bef262f70caed3a69640cdd10..65f51cfa346d2373ddd8598e383317c57d975279 100755 (executable)
@@ -155,6 +155,27 @@ test_expect_success 'commit-graph write with the --no-progress option' '
        test_must_be_empty err
 '
 
+test_expect_success 'commit-graph write --stdin-commits progress off for redirected stderr' '
+       cd "$TRASH_DIRECTORY/full" &&
+       git rev-parse commits/5 >in &&
+       git commit-graph write --stdin-commits <in 2>err &&
+       test_must_be_empty err
+'
+
+test_expect_success 'commit-graph write --stdin-commits force progress on for stderr' '
+       cd "$TRASH_DIRECTORY/full" &&
+       git rev-parse commits/5 >in &&
+       GIT_PROGRESS_DELAY=0 git commit-graph write --stdin-commits --progress <in 2>err &&
+       test_i18ngrep "Collecting commits from input" err
+'
+
+test_expect_success 'commit-graph write --stdin-commits with the --no-progress option' '
+       cd "$TRASH_DIRECTORY/full" &&
+       git rev-parse commits/5 >in &&
+       git commit-graph write --stdin-commits --no-progress <in 2>err &&
+       test_must_be_empty err
+'
+
 test_expect_success 'commit-graph verify progress off for redirected stderr' '
        cd "$TRASH_DIRECTORY/full" &&
        git commit-graph verify 2>err &&