Thread (14 messages) 14 messages, 4 authors, 2022-06-16

Re: [PATCH 1/4] t2107: test 'git update-index --verbose'

flat view

From: Derrick Stolee <hidden>
Date: 2022-06-16 12:54:16

On 6/15/2022 7:18 PM, Eric Sunshine wrote:
On Tue, Jun 14, 2022 at 5:36 PM Derrick Stolee via GitGitGadget
[off-list ref] wrote:
quoted
The '--verbose' option reports what is being added and removed from the
index, but has not been tested up to this point. Augment the tests in
t2107 to check the '--verbose' option in some scenarios.

Signed-off-by: Derrick Stolee <redacted>
---
diff --git a/t/t2106-update-index-assume-unchanged.sh b/t/t2106-update-index-assume-unchanged.sh
@@ -20,7 +20,7 @@ test_expect_success 'do not switch branches with dirty file' '
        echo dirt >file &&
-       git update-index --assume-unchanged file &&
+       git update-index --verbose --assume-unchanged file &&
        test_must_fail git checkout - 2>err &&
        test_i18ngrep overwritten err
 '
If this test passes with or without the addition of `--verbose`, then
adding `--verbose` unnecessarily only pollutes what is (presumably)
the minimum code necessary to implement what the test is checking, and
may confuse future readers into thinking that something subtle is
going on.
Thanks for pointing this out. I shouldn't have left this change in.
 
quoted
diff --git a/t/t2107-update-index-basic.sh b/t/t2107-update-index-basic.sh
@@ -36,9 +36,14 @@ test_expect_success '--cacheinfo does not accept blob null sha1' '
        echo content >file &&
        git add file &&
        git rev-parse :file >expect &&
-       test_must_fail git update-index --cacheinfo 100644 $ZERO_OID file &&
+       test_must_fail git update-index --verbose --cacheinfo 100644 $ZERO_OID file >out &&
        git rev-parse :file >actual &&
-       test_cmp expect actual
+       test_cmp expect actual &&
+
+       cat >expect <<-\EOF &&
+       add '\''file'\''
+       EOF
+       test_cmp expect out
 '
While I understand your desire to address a gap in the test coverage,
I worry that this sort of change, which is orthogonal to the test's
stated purpose, has the same downsides as mentioned above (i.e.
polluting the minimum necessary code, and potentially confusing
readers). Rather than piggybacking on existing tests, adding one or
two new standalone tests dedicated to checking `--verbose` would be
more palatable, more understandable, and be less likely to confuse
future readers. The same comment applies to the remaining changes in
this patch.
I understand that the test wants to test specific behavior, and that
behavior is focused on certain inputs to 'git update-index', but I
also think that the --verbose option presents _additional information_
about what is expected from these behaviors. It doesn't change the
already-tested behavior, only enhances it.

If I separate things out and only had test for --verbose, I would need
to replicate many of these behaviors just for that option, which would
be wasteful.

In this particular case, I'm demonstrating that the --verbose mode
still reports the file as added (because of the earlier 'git add file')
even though the command as a whole failed due to an invalid OID.

Thanks,
-Stolee
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help