Re: [PATCH 2/2] t0014: generate deprecated command names dynamically
From: Junio C Hamano <hidden>
Date: 2026-07-28 16:01:56
Jeff King [off-list ref] writes:
We have a few tests related to aliasing of deprecated commands. They use whatchanged and pack-redundant because those are the only two deprecated commands we have. Eventually those commands will be removed, at which point these tests will be checking nothing useful (they'll just be regular aliases, which we already cover in other tests). We could remove them at that point, but the code to handle deprecated commands will still remain. We probably do want to keep the tests around for the eventual day that we deprecate more commands. So let's ask Git for its list of deprecated commands, and if we don't have any, skip those tests.
Ah, now I understand. So HAVE_DEPRECATED prerequisite guards tests that require at least two deprecated commands, so that we can test cases with aliases that involve two commands among deprecated ones referring to each other. Obviously, with 0 or 1 deprecated commands, there is no point to perform such tests. Makes sense. Thanks.
quoted hunk ↗ jump to hunk
diff --git a/t/t0014-alias.sh b/t/t0014-alias.sh index 9d7c737355..cbc447b481 100755 --- a/t/t0014-alias.sh +++ b/t/t0014-alias.sh@@ -27,10 +27,15 @@ test_expect_success 'looping aliases - internal execution' ' test_grep "^fatal: alias loop detected: expansion of" output ' -deprecated1=whatchanged -deprecated2=pack-redundant +test_expect_success 'detect deprecated commands' ' + git --list-cmds=deprecated >deprecated && + if read deprecated1 && read deprecated2 + then + test_set_prereq HAVE_DEPRECATED + fi <deprecated +' -test_expect_success 'looping aliases - deprecated builtins' ' +test_expect_success HAVE_DEPRECATED 'looping aliases - deprecated builtins' ' test_config alias.$deprecated1 $deprecated2 && test_config alias.$deprecated2 $deprecated1 && cat >expect <<-EOF &&@@ -89,7 +94,7 @@ test_expect_success 'can alias-shadow deprecated builtins' ' done ' -test_expect_success 'can alias-shadow via two deprecated builtins' ' +test_expect_success HAVE_DEPRECATED 'can alias-shadow via two deprecated builtins' ' # some git(1) commands will fail... (see above) test_might_fail git status -h >expect && test_file_not_empty expect &&