[PATCH v2] t3200: replace hardcoded null OID with $ZERO_OID
- From
Siddharth Shrimali <r.siddharth.shrimali@gmail.com>
- Date
- Mar 11, 2026, 17:41 UTC
- Message-ID
- <20260311174120.76871-1-r.siddharth.shrimali@gmail.com>
- In-Reply-To
- <abFP9vZOVHGI536G@pks.im>
To support the SHA-256 transition, replace the hardcoded 40-zero string in 'git branch --merged' with '$ZERO_OID'. The current 40-character string causes the test to fail prematurely in SHA-256 environments because Git identifies a "malformed object name" (due to the 40 vs 64 character mismatch) before it even validates the object type.
By using '$ZERO_OID', we ensure the hash length is always correct for the active algorithm. Additionally, use 'test_grep' to verify the "must point to a commit" error message, ensuring the test validates the object type logic rather than just string syntax.
Suggested-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Siddharth Shrimali <r.siddharth.shrimali@gmail.com>
---
Changes in V2:
- Updated the test to capture stderr and use 'test_grep' to verify the
error message. This ensures the failure is due to the object type
check ("must point to a commit") rather than a hash length mismatch.
- Improved the commit message to add detail to the 40 vs 64 character
mismatch and the "premature failure" in SHA-256.t/t3200-branch.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index c58e505c43..e7829c2c4b 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -1494,7 +1494,8 @@ test_expect_success 'refuse --edit-description on unborn branch for now' ' ' test_expect_success '--merged catches invalid object names' ' - test_must_fail git branch --merged 0000000000000000000000000000000000000000 + test_must_fail git branch --merged $ZERO_OID 2>err && + test_grep "must point to a commit" err ' test_expect_success '--list during rebase' '
-- 2.51.2