Skip to content

Commit 7067d05

Browse files
dschoGit for Windows Build Agent
authored andcommitted
msvc: fix make test without having to play PATH games
When building with Microsoft Visual C, we use NuGet to acquire the dependencies (such as OpenSSL, cURL, etc). We even unpack those dependencies. This patch teaches the test suite to add the directory with the unpacked .dll files to the PATH before running the tests. Signed-off-by: Johannes Schindelin <[email protected]>
1 parent a9a78ef commit 7067d05

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2371,6 +2371,7 @@ GIT-BUILD-OPTIONS: FORCE
23712371
@echo NO_UNIX_SOCKETS=\''$(subst ','\'',$(subst ','\'',$(NO_UNIX_SOCKETS)))'\' >>$@+
23722372
@echo PAGER_ENV=\''$(subst ','\'',$(subst ','\'',$(PAGER_ENV)))'\' >>$@+
23732373
@echo DC_SHA1=\''$(subst ','\'',$(subst ','\'',$(DC_SHA1)))'\' >>$@+
2374+
@echo X=\'$(X)\' >>$@+
23742375
ifdef TEST_OUTPUT_DIRECTORY
23752376
@echo TEST_OUTPUT_DIRECTORY=\''$(subst ','\'',$(subst ','\'',$(TEST_OUTPUT_DIRECTORY)))'\' >>$@+
23762377
endif
@@ -2405,6 +2406,9 @@ ifdef GIT_INTEROP_MAKE_OPTS
24052406
endif
24062407
ifdef TEST_GIT_INDEX_VERSION
24072408
@echo TEST_GIT_INDEX_VERSION=\''$(subst ','\'',$(subst ','\'',$(TEST_GIT_INDEX_VERSION)))'\' >>$@+
2409+
endif
2410+
ifdef MSVC_DEPS
2411+
@echo MSVC_DEPS=\''$(subst ','\'',$(subst ','\'',$(MSVC_DEPS)))'\' >>$@+
24082412
endif
24092413
@if cmp $@+ $@ >/dev/null 2>&1; then $(RM) $@+; else mv $@+ $@; fi
24102414

t/test-lib-functions.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -797,7 +797,7 @@ test_create_repo () {
797797
mkdir -p "$repo"
798798
(
799799
cd "$repo" || error "Cannot setup test environment"
800-
"$GIT_EXEC_PATH/git-init" "--template=$GIT_BUILD_DIR/templates/blt/" >&3 2>&4 ||
800+
"$GIT_EXEC_PATH/git$X" init "--template=$GIT_BUILD_DIR/templates/blt/" >&3 2>&4 ||
801801
error "cannot run git init -- have you built things yet?"
802802
mv .git/hooks .git/hooks-disabled
803803
) || exit

t/test-lib.sh

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,27 @@ export ASAN_OPTIONS
4949
: ${LSAN_OPTIONS=abort_on_error=1}
5050
export LSAN_OPTIONS
5151

52+
if test ! -f "$GIT_BUILD_DIR"/GIT-BUILD-OPTIONS
53+
then
54+
echo >&2 'error: GIT-BUILD-OPTIONS missing (has Git been built?).'
55+
exit 1
56+
fi
57+
58+
. "$GIT_BUILD_DIR"/GIT-BUILD-OPTIONS
59+
export PERL_PATH SHELL_PATH
60+
61+
test -z "$MSVC_DEPS" ||
62+
PATH="$GIT_BUILD_DIR/$MSVC_DEPS/bin:$PATH"
63+
5264
################################################################
5365
# It appears that people try to run tests without building...
54-
"$GIT_BUILD_DIR/git" >/dev/null
66+
"$GIT_BUILD_DIR/git$X" >/dev/null
5567
if test $? != 1
5668
then
5769
echo >&2 'error: you do not seem to have built git yet.'
5870
exit 1
5971
fi
6072

61-
. "$GIT_BUILD_DIR"/GIT-BUILD-OPTIONS
62-
export PERL_PATH SHELL_PATH
63-
6473
# if --tee was passed, write the output not only to the terminal, but
6574
# additionally to the file test-results/$BASENAME.out, too.
6675
case "$GIT_TEST_TEE_STARTED, $* " in

0 commit comments

Comments
 (0)