From: Phillip Wood Date: Tue, 08 Oct 2024 14:04:33 GMT Subject: Re: [RFC PATCH 20/21] t: allow overriding build dir Message-ID: <9272f2bf-cb5b-4b1b-975e-a7340dd5c48a@gmail.com> In-Reply-To: Hi Patrick On 02/10/2024 16:16, Patrick Steinhardt wrote: > Our "test-lib.sh" assumes that our build directory is the parent > directory of "t/". While true when using our Makefile, it's not when > using build systems that support out-of-tree builds. > > Allow such build systems to override the location of the build directory > with an environment variable. ee9e66e4e76 (cmake: avoid editing t/test-lib.sh, 2022-10-18) added support for reading the "real" build directory from "$GIT_BUILD_DIR/GIT-BUILD-DIR". Using an environment variable is fine when running the tests from the build system but it is a pain to have to set it when running them manually. Best Wishes Phillip > Signed-off-by: Patrick Steinhardt > --- > t/test-lib.sh | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/t/test-lib.sh b/t/test-lib.sh > index e36a21ddf7..6f862621af 100644 > --- a/t/test-lib.sh > +++ b/t/test-lib.sh > @@ -35,7 +35,7 @@ else > # needing to exist. > TEST_DIRECTORY=$(cd "$TEST_DIRECTORY" && pwd) || exit 1 > fi > -GIT_BUILD_DIR="${TEST_DIRECTORY%/t}" > +GIT_BUILD_DIR="${GIT_BUILD_DIR:-${TEST_DIRECTORY%/t}}" > if test "$TEST_DIRECTORY" = "$GIT_BUILD_DIR" > then > echo "PANIC: Running in a $TEST_DIRECTORY that doesn't end in '/t'?" >&2 > @@ -514,6 +514,7 @@ unset VISUAL EMAIL LANGUAGE $("$PERL_PATH" -e ' > PERF_ > CURL_VERBOSE > TRACE_CURL > + BUILD_DIR > )); > my @vars = grep(/^GIT_/ && !/^GIT_($ok)/o, @env); > print join("\n", @vars);