From e3253255d3e1c007e80742c304ddde9421dca9ca Mon Sep 17 00:00:00 2001 From: Siddharth Shrimali Date: Tue, 21 Apr 2026 11:03:33 +0530 Subject: [PATCH] t7004: dynamically grab expected state in tests The tests for 'Multiple -l or --list options' and 'trying to delete tags without params', hardcodes that exactly one or two specific tags ('myhead', 'mytag') exist in the repository. If other tests are added, modified, or removed earlier in the script, this expected global state will change, resulting in these tests to fail for completely unrelated reasons. Instead of hardcoding the expected tags, dynamically grab the state of the repository before running the commands under test ('git tag -l' and 'git tag -d'), and verify that the output matches or remains unchanged afterward. This keeps the tests independent from the script's overall state. Signed-off-by: Siddharth Shrimali Signed-off-by: Junio C Hamano --- t/t7004-tag.sh | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index 77a7a9777d..bef7618da2 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -145,9 +145,7 @@ test_expect_success 'listing all tags if one exists should succeed' ' ' test_expect_success 'Multiple -l or --list options are equivalent to one -l option' ' - cat >expect <<-\EOF && - mytag - EOF + git tag -l >expect && git tag -l -l >actual && test_cmp expect actual && git tag --list --list >actual && @@ -226,12 +224,7 @@ test_expect_success 'trying to delete an unknown tag should fail' ' ' test_expect_success 'trying to delete tags without params should succeed and do nothing' ' - cat >expect <<-\EOF && - myhead - mytag - EOF - git tag -l >actual && - test_cmp expect actual && + git tag -l >expect && git tag -d && git tag -l >actual && test_cmp expect actual -- 2.52.0