Failure in TAP tests of pg_ctl on Windows with parallel instance set

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-12-02T03:14:44Z
Lists: pgsql-hackers

Attachments

Hi all,

I have run the TAP tests with an instance of Postgres locally set at
port 5432 on Windows, to notice that 001_start_stop.pl fails various
tests because the test tries to use the default port for the node
initialized with pg_ctl.  The problem can get fixed easily by
assigning a random port number to that instance.

It could potentially become a problem if parallel TAP tests run in
parallel on Windows while initializing the node because of a port
conflict, but that's actually already a problem now for all the tests
as all nodes listen to 127.0.0.1 in this case.  This cannot happen on
*nix simply because we use a unique unix domain path, so even if ports
conflict things are able to work. 

Attached is a patch to fix this issue, that I would like to
back-patch down to 9.4 where the issue can show up.

Any objections?
--
Michael

Commits

  1. Fix failures with TAP tests of pg_ctl on Windows