From c7578fa64019f27edc31261ea49066a4b2569a6c Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 8 Apr 2021 06:55:00 +0900 Subject: [PATCH] Fix some failures with connection tests on Windows hosts The truncation of the log file, that this set of tests relies on to make sure that a connection attempt matches with its expected backend log pattern, fails, as reported by buildfarm member fairywren. Instead of a truncation, do a rotation of the log file and restart the node. This will ensure that the connection attempt data is unique for each test. Discussion: https://postgr.es/m/YG05nCI8x8B+Ad3G@paquier.xyz --- src/test/perl/PostgresNode.pm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm index 598906ad649..e26b2b3f30e 100644 --- a/src/test/perl/PostgresNode.pm +++ b/src/test/perl/PostgresNode.pm @@ -1920,7 +1920,17 @@ sub connect_ok if (@log_like or @log_unlike) { # Don't let previous log entries match for this connection. - truncate $self->logfile, 0; + # On Windows, the truncation would not work, so rotate the log + # file before restarting the server afresh. + if ($TestLib::windows_os) + { + $self->rotate_logfile; + $self->restart; + } + else + { + truncate $self->logfile, 0; + } } # Never prompt for a password, any callers of this routine should @@ -1994,7 +2004,17 @@ sub connect_fails if (@log_like or @log_unlike) { # Don't let previous log entries match for this connection. - truncate $self->logfile, 0; + # On Windows, the truncation would not work, so rotate the log + # file before restarting the server afresh. + if ($TestLib::windows_os) + { + $self->rotate_logfile; + $self->restart; + } + else + { + truncate $self->logfile, 0; + } } # Never prompt for a password, any callers of this routine should