aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2022-02-18 16:59:30 -0500
committerAndrew Dunstan <andrew@dunslane.net>2022-02-20 11:51:44 -0500
commitcf12541f2bd5fd34425ecbb99f056a30ca5b7cae (patch)
tree2a73ed35f67b62630b3e377cf78bb48978ed3ee7
parent69639e2b5c12c6f1eafa9db1a6b7d16e6471ac61 (diff)
downloadpostgresql-cf12541f2bd5fd34425ecbb99f056a30ca5b7cae.tar.gz
postgresql-cf12541f2bd5fd34425ecbb99f056a30ca5b7cae.zip
Ensure the right perl is used for TAP tests on msys
In particular, perl with $Config{osname} = msys should only be used if the build target is msys (which is currently buildable but not usable). For builds targeted at native Windows, perl from the ucrt64 toolchain is suitable. Discussion: https://postgr.es/m/20220216210141.5glt5isg5qtwty4c@alap3.anarazel.de
-rw-r--r--config/check_modules.pl5
-rwxr-xr-xconfigure1
-rw-r--r--configure.ac1
3 files changed, 7 insertions, 0 deletions
diff --git a/config/check_modules.pl b/config/check_modules.pl
index cc0a7ab0e7a..470c3e9c144 100644
--- a/config/check_modules.pl
+++ b/config/check_modules.pl
@@ -6,6 +6,7 @@
#
use strict;
use warnings;
+use Config;
use IPC::Run 0.79;
@@ -19,5 +20,9 @@ diag("IPC::Run::VERSION: $IPC::Run::VERSION");
diag("Test::More::VERSION: $Test::More::VERSION");
diag("Time::HiRes::VERSION: $Time::HiRes::VERSION");
+# Check that if prove is using msys perl it is for an msys target
+ok(($ENV{__CONFIG_HOST_OS__} || "") eq 'msys',
+ "Msys perl used for correct target")
+ if $Config{osname} eq 'msys';
ok(1);
done_testing();
diff --git a/configure b/configure
index ca890b8b07e..f3cb5c2b511 100755
--- a/configure
+++ b/configure
@@ -19758,6 +19758,7 @@ fi
# installation than perl, eg on MSys, so we have to check using prove.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Perl modules required for TAP tests" >&5
$as_echo_n "checking for Perl modules required for TAP tests... " >&6; }
+ __CONFIG_HOST_OS__=$host_os; export __CONFIG_HOST_OS__
modulestderr=`"$PROVE" "$srcdir/config/check_modules.pl" 2>&1 >/dev/null`
if test $? -eq 0; then
# log the module version details, but don't show them interactively
diff --git a/configure.ac b/configure.ac
index 331683b3363..19d1a803673 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2432,6 +2432,7 @@ if test "$enable_tap_tests" = yes; then
# AX_PROG_PERL_MODULES here, but prove might be part of a different Perl
# installation than perl, eg on MSys, so we have to check using prove.
AC_MSG_CHECKING(for Perl modules required for TAP tests)
+ __CONFIG_HOST_OS__=$host_os; export __CONFIG_HOST_OS__
[modulestderr=`"$PROVE" "$srcdir/config/check_modules.pl" 2>&1 >/dev/null`]
if test $? -eq 0; then
# log the module version details, but don't show them interactively