Subject: Re: [PATCH 06/12] t: prepare execution of potentially failing commands for `set -e`

From: Jeff King <[email-masked]>
Date: Tue, 14 Apr 2026 18:03:47 -0400

On Tue, Apr 14, 2026 at 09:23:45AM +0200, Patrick Steinhardt wrote:

> diff --git a/t/t9501-gitweb-standalone-http-status.sh b/t/t9501-gitweb-standalone-http-status.sh
> index 32814e75df..3acb58125b 100755
> --- a/t/t9501-gitweb-standalone-http-status.sh
> +++ b/t/t9501-gitweb-standalone-http-status.sh
> @@ -15,12 +15,12 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
>  
>  . ./lib-gitweb.sh
>  
> -#
>  # Gitweb only provides the functionality tested by the 'modification times'
>  # tests if it can access a date parser from one of these modules:
> -#
> -perl -MHTTP::Date -e 0 >/dev/null 2>&1 && test_set_prereq DATE_PARSER
> -perl -MTime::ParseDate -e 0 >/dev/null 2>&1 && test_set_prereq DATE_PARSER
> +test_lazy_prereq DATE_PARSER '
> +	perl -MHTTP::Date -e 0 ||
> +	perl -MTime::ParseDate -e 0
> +'

Maybe I am being dense, but I don't see how the original would have
problems with "set -e". The perl command is on the left-hand side of an
&&, so "set -e" will be suppressed.

-Peff