Disable test for postgres -C on Msys

The output generated on Msys is incorrect because of the different way
IPC::Run processes outputs with native Perl (converts natively \r\n to
\n) and Msys perl (\r\n kept as-is), causing this test to fail.

For now, just disable the test to bring the buildfarm to a green state.
I think that the correct long-term solution would be to tweak all the
routines command_checks_* in PostgresNode.pm to handle this output like
psql does when using Msys, by discarding \r automatically before
comparing it.

Per report from jacana and fairywren.  Thanks to Tom Lane for the ping.

Discussion: https://postgr.es/m/1252480.1631829409@sss.pgh.pa.us
This commit is contained in:
Michael Paquier 2021-09-17 09:11:47 +09:00
parent 3f50b82639
commit 5adb06732d

View File

@ -6,6 +6,7 @@
use strict; use strict;
use warnings; use warnings;
use Config;
use PostgresNode; use PostgresNode;
use TestLib; use TestLib;
@ -181,13 +182,18 @@ command_fails(
# Test postgres -C for an offline cluster. # Test postgres -C for an offline cluster.
# Run-time GUCs are safe to query here. Note that a lock file is created, # Run-time GUCs are safe to query here. Note that a lock file is created,
# then unlinked, leading to an extra LOG entry showing in stderr. # then unlinked, leading to an extra LOG entry showing in stderr.
command_checks_all( SKIP:
[ 'postgres', '-D', $pgdata, '-C', 'data_checksums' ], {
0, skip "unstable output generated with Msys", 3
[qr/^on$/], if ($Config{osname} eq 'msys');
# LOG entry when unlinking lock file. command_checks_all(
[qr/database system is shut down/], [ 'postgres', '-D', $pgdata, '-C', 'data_checksums' ],
'data_checksums=on is reported on an offline cluster'); 0,
[qr/^on$/],
# LOG entry when unlinking lock file.
[qr/database system is shut down/],
'data_checksums=on is reported on an offline cluster');
}
# Checks cannot happen with an online cluster # Checks cannot happen with an online cluster
$node->start; $node->start;