Subject: Re: [PATCH] t0004: replace test -e with test_path_exists

From: Junio C Hamano <[email-masked]>
Date: Mon, 09 Mar 2026 14:14:10 -0700

PRASHANT S BISHT <[email-masked]> writes:

> -test_lazy_prereq WRITE_TREE_OUT 'test -e "$TRASH_DIRECTORY"/out.write-tree'
> +test_lazy_prereq WRITE_TREE_OUT 'test_path_exists "$TRASH_DIRECTORY/out.write-tree"'

I suspect this is utterly wrong.  As you wrote in the proposed log
message, test_path_exists is *NOT* about checking if the path
exists.  It rather is about *expecting* for the path to exist, and
fail *LOUDLY* if it does not.

You need to _think_ if we want a LOUD failure when somebody checks
if a path exists and conditionally skip setting a test prerequisite
when the path does not exist.  The original code is trying to be
quiet, as the check is done not because existence of the checked
path is good and lack of it is a test failure.  Lack of the path is
expected on places where the prerequisite is not set, and that by
itself is not a test failure that you want a LOUD report about.