Git fork

contrib/credential: fix "netrc" tests with out-of-tree builds

Tests of the "netrc" credential helper aren't prepared to handle
out-of-tree builds:

- They expect the "test.pl" script to be located relative to the build
directory, even though it is located in the source directory.

- They expect the built "git-credential-netrc" helper to be located
relative to the "test.pl" file, evne though it is loated in the
build directory.

This works alright as long as source and build directories are the same,
but starts to break apart with Meson.

Fix these first issue by using the new "GIT_SOURCE_DIR" variable to
locate the test script itself. And fix the second issue by introducing a
new environment variable "CREDENTIAL_NETRC_PATH" that can be set for
out-of-tree builds to locate the built credential helper.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Patrick Steinhardt and committed by
Junio C Hamano
fd21e6e4 c5823641

+5 -4
+1 -1
contrib/credential/netrc/t-git-credential-netrc.sh
··· 15 15 16 16 export PERL5LIB="$GITPERLLIB" 17 17 test_expect_success 'git-credential-netrc' ' 18 - perl "$GIT_BUILD_DIR"/contrib/credential/netrc/test.pl 18 + perl "$GIT_SOURCE_DIR"/contrib/credential/netrc/test.pl 19 19 ' 20 20 21 21 test_done
+4 -3
contrib/credential/netrc/test.pl
··· 15 15 16 16 my @global_credential_args = @ARGV; 17 17 my $scriptDir = dirname rel2abs $0; 18 - my ($netrc, $netrcGpg, $gcNetrc) = map { catfile $scriptDir, $_; } 18 + my ($netrc, $netrcGpg) = map { catfile $scriptDir, $_; } 19 19 qw(test.netrc 20 - test.netrc.gpg 21 - git-credential-netrc); 20 + test.netrc.gpg); 21 + my $gcNetrc = $ENV{CREDENTIAL_NETRC_PATH} || catfile $scriptDir, qw(git-credential-netrc); 22 + 22 23 local $ENV{PATH} = join ':' 23 24 , $scriptDir 24 25 , $ENV{PATH}