Disable tests involving ZLIB on Windows for pg_receivewal

As reported by buildfarm member bowerbird, those tests are unstable on
Windows.  The failure produced there points to a problem with gzflush(),
that fails to sync a file freshly-opened, with a gzFile properly
opened.  While testing this myself with MSVC, I bumped into a different
error where a file could simply not be opened, so this makes me rather
doubtful that testing this area on Windows is a good idea if this
finishes with random concurrency failures.  This requires more
investigation, and keeping this buildfarm member red is not a good thing
in the long-term, so for now this just disables this set of tests on
Windows.

Discussion: https://postgr.es/m/YPDLz2x3o1aX2wRh@paquier.xyz
This commit is contained in:
Michael Paquier 2021-07-16 13:21:18 +09:00
parent 830ef61bd8
commit 6cea447e6a
1 changed files with 5 additions and 3 deletions

View File

@ -72,11 +72,13 @@ $primary->command_ok(
my @partial_wals = glob "$stream_dir/*\.partial";
is(scalar(@partial_wals), 1, "one partial WAL segment was created");
# Check ZLIB compression if available.
# Check ZLIB compression if available. On Windows, some old versions
# of zlib can cause some instabilities with this test, so disable it
# for now.
SKIP:
{
skip "postgres was not built with ZLIB support", 5
if (!check_pg_config("#define HAVE_LIBZ 1"));
skip "postgres was not built with ZLIB support, or Windows is involved", 5
if (!check_pg_config("#define HAVE_LIBZ 1") || $windows_os);
# Generate more WAL worth one completed, compressed, segment.
$primary->psql('postgres', 'SELECT pg_switch_wal();');