]> git.ipfire.org Git - thirdparty/git.git/commit
t5551: handle trailing slashes in expected cookies output
authorJeff King <peff@peff.net>
Thu, 18 Dec 2025 12:13:47 +0000 (07:13 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 18 Dec 2025 13:02:15 +0000 (22:02 +0900)
commit2c6fc31e04b32d5a8523cfe69e4495f188e86ec3
tree7773a1342062cb64d7bc70415329c537ee18fa6b
parent9a2fb147f2c61d0cab52c883e7e26f5b7948e3ed
t5551: handle trailing slashes in expected cookies output

We check in t5551 that curl updates the expected list of cookies after
making a request. We do this by telling it to read and write cookies
from a particular text file, and then checking that after curl runs, the
file has the expected content.

However, in the upcoming curl 8.18.0, the output file has changed
slightly: curl will canonicalize the paths it writes, due to commit
a093c93994 (cookie: only keep and use the canonical cleaned up path,
2025-12-07). In particular, it strips trailing slashes from the paths we
see in the cookies.txt file.

This doesn't matter to Git, as the cookie handling is all internal to
curl. But our test is overly brittle and breaks as a result.

We can fix it by matching either format. We'll expect the new format
(without trailing slashes) and strip the slashes from curl's output
before comparing. That lets us pass with both old and new versions (I
tested against curl's 8_17_0 and rc-8_18_0-2 tags, which are
respectively before and after the curl change).

In theory it might be nice to try to future-proof this test more by
looking only for the bits we care about, rather than a byte-wise
comparison of the whole file. But after removing comments and blank
lines (which we already do), we care about most of what's there. So it's
not clear to me what a more liberal test would look like. Given that the
format doesn't change all that often, it's probably OK to stop here and
see if it ever breaks again.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5551-http-fetch-smart.sh