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
1 changed files with 13 additions and 7 deletions

View File

@ -6,6 +6,7 @@
use strict;
use warnings;
use Config;
use PostgresNode;
use TestLib;
@ -181,13 +182,18 @@ command_fails(
# Test postgres -C for an offline cluster.
# 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.
command_checks_all(
[ 'postgres', '-D', $pgdata, '-C', 'data_checksums' ],
0,
[qr/^on$/],
# LOG entry when unlinking lock file.
[qr/database system is shut down/],
'data_checksums=on is reported on an offline cluster');
SKIP:
{
skip "unstable output generated with Msys", 3
if ($Config{osname} eq 'msys');
command_checks_all(
[ 'postgres', '-D', $pgdata, '-C', 'data_checksums' ],
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
$node->start;