From 5dbb060037ce3e3a3ba0812baa90c80eeee762af Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 30 Jan 2023 22:50:07 +0000 Subject: tests: make require_git and require_cmd easier-to-use We'll rely on defined(wantarray) to implicitly skip subtests, and memoize these to reduce syscalls, since tests should be short-lived enough to not be affected by new installations or removals of git/xapian-compact/curl/etc... --- xt/git-http-backend.t | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'xt/git-http-backend.t') diff --git a/xt/git-http-backend.t b/xt/git-http-backend.t index 1f3ba063..d78fe79f 100644 --- a/xt/git-http-backend.t +++ b/xt/git-http-backend.t @@ -1,14 +1,13 @@ +#!perl -w # Copyright (C) all contributors # License: AGPL-3.0+ # # Ensure buffering behavior in -httpd doesn't cause runaway memory use # or data corruption use strict; -use warnings; -use Test::More; +use v5.10.1; use POSIX qw(setsid); use PublicInbox::TestCommon; -use PublicInbox::Spawn qw(which); my $git_dir = $ENV{GIANT_GIT_DIR}; plan 'skip_all' => 'GIANT_GIT_DIR not defined' unless $git_dir; @@ -77,8 +76,7 @@ SKIP: { # make sure Last-Modified + If-Modified-Since works with curl my $nr = 6; skip 'no description', $nr unless -f "$git_dir/description"; my $mtime = (stat(_))[9]; - my $curl = which('curl'); - skip 'curl(1) not found', $nr unless $curl; + my $curl = require_cmd('curl', 1) or skip 'curl(1) not found', $nr; my $url = "http://$host:$port/description"; my $dst = "$tmpdir/desc"; is(xsys($curl, qw(-RsSf), '-o', $dst, $url), 0, 'curl -R'); -- cgit v1.2.3-24-ge0c7