]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t0014: test shadowing of aliases for a sample of builtins
authorKristoffer Haugsbakk <code@khaugsbakk.name>
Wed, 17 Sep 2025 20:24:15 +0000 (22:24 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 17 Sep 2025 20:47:23 +0000 (13:47 -0700)
The previous commit added tests for shadowing deprecated builtins.
Let’s make the test suite more complete by exercising a sample of
the builtins and in turn test the documentation for git-config(1):

    To avoid confusion and troubles with script usage, aliases that hide
    existing Git commands are ignored except for deprecated commands.

Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0014-alias.sh

index 1b196ed9d6d1c8a0ead2b228eaebdf1c9e313b86..07a53e7366ef4bd3548d20a681f3bf42c5ca7546 100755 (executable)
@@ -95,4 +95,21 @@ test_expect_success 'can alias-shadow via two deprecated builtins' '
        test_cmp expect actual
 '
 
+cannot_alias_regular_builtin () {
+       cmd="$1" &&
+       # some git(1) commands will fail... (see above)
+       test_might_fail git "$cmd" -h >expect &&
+       test_file_not_empty expect &&
+       test_might_fail git -c alias."$cmd"=status "$cmd" -h >actual &&
+       test_cmp expect actual
+}
+
+test_expect_success 'cannot alias-shadow a sample of regular builtins' '
+       for cmd in grep check-ref-format interpret-trailers \
+               checkout-index fast-import diagnose rev-list prune
+       do
+               cannot_alias_regular_builtin "$cmd" || return 1
+       done
+'
+
 test_done