Make pg_upgrade's test script attempt to select a non-conflicting port.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 11 May 2013 18:22:18 +0000 (14:22 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 11 May 2013 18:22:18 +0000 (14:22 -0400)
commit7e2b1c03ce24e8fefa2080c0f1f8cfbb86ce664e
treefcf436e2fb8e02ab1beef225c66496a32df74c1c
parentc263f16a20a12ee63bbf0c4769d87db3184709eb
Make pg_upgrade's test script attempt to select a non-conflicting port.

Previously, the port number used in this test script was hard-wired at
pg_upgrade's default of 50432; which is not so great because parallel build
runs might conflict.  Commit 3d53173e20d151341f894f79d556768c845ba3e4
removed this setting for the postmasters started by the script proper
(not by pg_upgrade), which didn't do anything to fix that problem and also
guaranteed a failure if there was a live postmaster at the build's default
port number.  Instead, select a non-conflicting temporary port number in
the same way that pg_regress.c does.  (Its method isn't entirely
bulletproof, but given the lack of complaints I'm not going to worry
about that today.)

In passing, unset MAKEFLAGS and MAKELEVEL to avoid problems with the
script's internal invocations of make, for the same reason pg_regress.c
does: it could cause problems in a parallel make.
contrib/pg_upgrade/test.sh