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