Skip to content

Commit cf12541

Browse files
committed
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/[email protected]
1 parent 69639e2 commit cf12541

File tree

3 files changed

+7
-0
lines changed

3 files changed

+7
-0
lines changed

config/check_modules.pl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#
77
use strict;
88
use warnings;
9+
use Config;
910

1011
use IPC::Run 0.79;
1112

@@ -19,5 +20,9 @@
1920
diag("Test::More::VERSION: $Test::More::VERSION");
2021
diag("Time::HiRes::VERSION: $Time::HiRes::VERSION");
2122

23+
# Check that if prove is using msys perl it is for an msys target
24+
ok(($ENV{__CONFIG_HOST_OS__} || "") eq 'msys',
25+
"Msys perl used for correct target")
26+
if $Config{osname} eq 'msys';
2227
ok(1);
2328
done_testing();

configure

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19758,6 +19758,7 @@ fi
1975819758
# installation than perl, eg on MSys, so we have to check using prove.
1975919759
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Perl modules required for TAP tests" >&5
1976019760
$as_echo_n "checking for Perl modules required for TAP tests... " >&6; }
19761+
__CONFIG_HOST_OS__=$host_os; export __CONFIG_HOST_OS__
1976119762
modulestderr=`"$PROVE" "$srcdir/config/check_modules.pl" 2>&1 >/dev/null`
1976219763
if test $? -eq 0; then
1976319764
# log the module version details, but don't show them interactively

configure.ac

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2432,6 +2432,7 @@ if test "$enable_tap_tests" = yes; then
24322432
# AX_PROG_PERL_MODULES here, but prove might be part of a different Perl
24332433
# installation than perl, eg on MSys, so we have to check using prove.
24342434
AC_MSG_CHECKING(for Perl modules required for TAP tests)
2435+
__CONFIG_HOST_OS__=$host_os; export __CONFIG_HOST_OS__
24352436
[modulestderr=`"$PROVE" "$srcdir/config/check_modules.pl" 2>&1 >/dev/null`]
24362437
if test $? -eq 0; then
24372438
# log the module version details, but don't show them interactively

0 commit comments

Comments
 (0)