Disable test for postgres -C on Msys
authorMichael Paquier <michael@paquier.xyz>
Fri, 17 Sep 2021 00:11:47 +0000 (09:11 +0900)
committerMichael Paquier <michael@paquier.xyz>
Fri, 17 Sep 2021 00:11:47 +0000 (09:11 +0900)
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

src/bin/pg_checksums/t/002_actions.pl

index 2cc8b68c75fcbacab2ba4f24101961ca77f22bc8..97492caab48ec1b77045063b3dc27183afc563bf 100644 (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;