Skip to content

Commit 5ee8927

Browse files
pks-tgitster
authored andcommitted
t: allow overriding build dir
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. In commit ee9e66e (cmake: avoid editing t/test-lib.sh, 2022-10-18), we have introduce support for overriding the GIT_BUILD_DIR by creating the file "$GIT_BUILD_DIR/GIT-BUILD-DIR" with its contents pointing to the location of the build directory. The intent was to stop modifying "t/test-lib.sh" with the CMake build systems while allowing out-of-tree builds. But "$GIT_BUILD_DIR" is somewhat misleadingly named, as it in fact points to the _source_ directory. So while that commit solved part of the problem for out-of-tree builds, CMake still has to write files into the source tree. Solve the second part of the problem, namely not having to write any data into the source directory at all, by also supporting an environment variable that allows us to point to a different build directory. This allows us to perform properly self-contained out-of-tree builds. Signed-off-by: Patrick Steinhardt <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 7e0730c commit 5ee8927

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

t/test-lib.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ else
3535
# needing to exist.
3636
TEST_DIRECTORY=$(cd "$TEST_DIRECTORY" && pwd) || exit 1
3737
fi
38-
GIT_BUILD_DIR="${TEST_DIRECTORY%/t}"
38+
GIT_BUILD_DIR="${GIT_BUILD_DIR:-${TEST_DIRECTORY%/t}}"
3939
if test "$TEST_DIRECTORY" = "$GIT_BUILD_DIR"
4040
then
4141
echo "PANIC: Running in a $TEST_DIRECTORY that doesn't end in '/t'?" >&2
@@ -522,6 +522,7 @@ unset VISUAL EMAIL LANGUAGE $("$PERL_PATH" -e '
522522
PERF_
523523
CURL_VERBOSE
524524
TRACE_CURL
525+
BUILD_DIR
525526
));
526527
my @vars = grep(/^GIT_/ && !/^GIT_($ok)/o, @env);
527528
print join("\n", @vars);

0 commit comments

Comments
 (0)