Thread: pgsql: Make the pg_rewind regression tests more robust on slow systems.

pgsql: Make the pg_rewind regression tests more robust on slow systems.

From
Heikki Linnakangas
Date:
Make the pg_rewind regression tests more robust on slow systems.

There were a couple of hard-coded sleeps in the tests: to wait for standby
to catch up with master, and to wait for promotion with "pg_ctl promote"
to complete. Instead of a fixed, hard-coded sleep, poll the server with a
query once a second. This isn't ideal either, and I wish we had a better
solution for real-world applications too, but this should fix the
immediate problem.

Patch by Michael Paquier, with some editing by me.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/54a16df0100da445be7c79eb81dfb96fd0685e6d

Modified Files
--------------
src/bin/pg_rewind/RewindTest.pm |   46 ++++++++++++++++++++++++++++++++++-----
1 file changed, 41 insertions(+), 5 deletions(-)


Re: pgsql: Make the pg_rewind regression tests more robust on slow systems.

From
Michael Paquier
Date:
On Wed, Apr 22, 2015 at 8:37 PM, Heikki Linnakangas
<heikki.linnakangas@iki.fi> wrote:
> Make the pg_rewind regression tests more robust on slow systems.
>
> There were a couple of hard-coded sleeps in the tests: to wait for standby
> to catch up with master, and to wait for promotion with "pg_ctl promote"
> to complete. Instead of a fixed, hard-coded sleep, poll the server with a
> query once a second. This isn't ideal either, and I wish we had a better
> solution for real-world applications too, but this should fix the
> immediate problem.

Just wondering: why not creating a common routine in TestLib.pm that
returns to the caller the output of stdout, stderr and the exit code?
That would be useful for other tests as well, and would help limiting
the dependency of IPC::Run into TestLib.pm.
--
Michael