On 10/20/21 12:31 PM, Andres Freund wrote:
>
> ISTM that we should just make the "test invocation framework" responsible to
> put the relevant directory onto PATH? I.e. Makefile.global should add the
> build directory of the test to PATH, and vcregress.pl should put the relevant
> $configuration/$project/ directory there?
>
Like this? That seems reasonable.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index a1da1ea4ee..2f6b7ad561 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -449,8 +449,8 @@ define prove_installcheck
rm -rf '$(CURDIR)'/tmp_check
$(MKDIR_P) '$(CURDIR)'/tmp_check
cd $(srcdir) && \
- TESTDIR='$(CURDIR)' PATH="$(bindir):$$PATH" PGPORT='6$(DEF_PGPORT)' \
- top_builddir='$(CURDIR)/$(top_builddir)' \
+ TESTDIR='$(CURDIR)' PATH="$(CURDIR):$(bindir):$$PATH" \
+ PGPORT='6$(DEF_PGPORT)' top_builddir='$(CURDIR)/$(top_builddir)' \
PG_REGRESS='$(CURDIR)/$(top_builddir)/src/test/regress/pg_regress' \
$(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) $(if $(PROVE_TESTS),$(PROVE_TESTS),t/*.pl)
endef
diff --git a/src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl b/src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl
index 6721edfa71..d1d321ff8f 100644
--- a/src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl
+++ b/src/test/modules/libpq_pipeline/t/001_libpq_pipeline.pl
@@ -14,9 +14,8 @@ $node->init;
$node->start;
my $numrows = 700;
-my $libpq_pipeline = "$ENV{TESTDIR}/libpq_pipeline";
-my ($out, $err) = run_command([ $libpq_pipeline, 'tests' ]);
+my ($out, $err) = run_command([ 'libpq_pipeline', 'tests' ]);
die "oops: $err" unless $err eq '';
my @tests = split(/\s+/, $out);
diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl
index 35e8f67f01..785d908edd 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -248,6 +248,8 @@ sub tap_check
$ENV{REGRESS_SHLIB} = "$topdir/src/test/regress/regress.dll";
$ENV{TESTDIR} = "$dir";
+ my $module = basename $dir;
+ $ENV{PATH} = "$topdir/$Config/$module;$ENV{PATH}";
rmtree('tmp_check');
system(@args);