diff mbox series

[v2,09/11] archive tests: use a cheaper "zipinfo -h" invocation to get header

Message ID 20210116153554.12604-10-avarab@gmail.com (mailing list archive)
State New, archived
Headers show
Series tests: add a bash "set -o pipefail" test mode | expand

Commit Message

Ævar Arnfjörð Bjarmason Jan. 16, 2021, 3:35 p.m. UTC
Change an invocation of zipinfo added in 19ee29401d (t5004: test ZIP
archives with many entries, 2015-08-22) to simply ask zipinfo for the
header info, rather than spewing out info about the entire archive and
race to kill it with SIGPIPE due to the downstream "head -2".

I ran across this because I'm adding a "set -o pipefail" test
mode. This won't be needed for the version of the mode that I'm
introducing (which currently relies on a patch to GNU bash), but I
think this is a good idea anyway.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/t5004-archive-corner-cases.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Jeff King Jan. 17, 2021, 5:08 p.m. UTC | #1
On Sat, Jan 16, 2021 at 04:35:52PM +0100, Ævar Arnfjörð Bjarmason wrote:

> Change an invocation of zipinfo added in 19ee29401d (t5004: test ZIP
> archives with many entries, 2015-08-22) to simply ask zipinfo for the
> header info, rather than spewing out info about the entire archive and
> race to kill it with SIGPIPE due to the downstream "head -2".
> 
> I ran across this because I'm adding a "set -o pipefail" test
> mode. This won't be needed for the version of the mode that I'm
> introducing (which currently relies on a patch to GNU bash), but I
> think this is a good idea anyway.

Makes sense. The only risk here would be that "-h" is not portable. But
I don't have any reason to think that's the case, and since it's just a
test, I'm fine with proceeding and seeing if anybody screams.

-Peff
diff mbox series

Patch

diff --git a/t/t5004-archive-corner-cases.sh b/t/t5004-archive-corner-cases.sh
index 3e7b23cb32..2d32d0ed12 100755
--- a/t/t5004-archive-corner-cases.sh
+++ b/t/t5004-archive-corner-cases.sh
@@ -153,7 +153,8 @@  test_expect_success ZIPINFO 'zip archive with many entries' '
 
 	# check the number of entries in the ZIP file directory
 	expr 65536 + 256 >expect &&
-	"$ZIPINFO" many.zip | head -2 | sed -n "2s/.* //p" >actual &&
+	"$ZIPINFO" -h many.zip >zipinfo &&
+	sed -n "2s/.* //p" <zipinfo >actual &&
 	test_cmp expect actual
 '