diff options
author | Michael Paquier <michael@paquier.xyz> | 2021-04-08 06:55:00 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2021-04-08 06:55:00 +0900 |
commit | c7578fa64019f27edc31261ea49066a4b2569a6c (patch) | |
tree | 50f754ee4c3c5983d68cc9ef4450e4f9acbe69a7 | |
parent | e717a9a18b2e34c9c40e5259ad4d31cd7e420750 (diff) | |
download | postgresql-c7578fa64019f27edc31261ea49066a4b2569a6c.tar.gz postgresql-c7578fa64019f27edc31261ea49066a4b2569a6c.zip |
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
-rw-r--r-- | src/test/perl/PostgresNode.pm | 24 |
1 files 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 |