From 507d6064eb83055240cddf455fb9f49364499672 Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Sat, 17 Oct 2026 12:53:18 -1000 Subject: Find a compressor on the default path when unset With no PATH in the environment, the check that a compressor exists gave up and refused every compressed snapshot, though execvp would have found it on the system's default path. --- tests/t0110-snapshot.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'tests') diff --git a/tests/t0110-snapshot.sh b/tests/t0110-snapshot.sh index ec0a0b8..373a05d 100755 --- a/tests/t0110-snapshot.sh +++ b/tests/t0110-snapshot.sh @@ -167,4 +167,18 @@ test_expect_success 'an empty snapshot-prefix puts no slash ahead of the members ! grep "^/" members ' +# A server may run cgit with no PATH at all, and the compressor is then looked +# for on the default path execvp searches. +test_expect_success GZIP 'a compressed snapshot is made without a PATH' ' + sed "s/^cache-size=.*/cache-size=0/" cgitrc >nopathrc && + cgit_bin=$(command -v cgit) && + ( + unset PATH && + CGIT_CONFIG="$PWD/nopathrc" QUERY_STRING="url=foo/snapshot/master.tar.gz" "$cgit_bin" >tmp + ) && + grep "^Status: 200" tmp && + strip_headers nopath.tar.gz && + gzip -t nopath.tar.gz +' + test_done -- cgit