Improve isolationtester's timeout management.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: bd0c44bdf477766f3ae6de295687390c69a857a9
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2019-12-09T19:31:57Z
Releases: 10.12
Improve isolationtester's timeout management.

isolationtester.c had a hard-wired limit of 3 minutes per test step.
It now emerges that this isn't quite enough for some of the slowest
buildfarm animals.  This isn't the first time we've had to raise
this limit (cf. 1db439ad4), so let's make it configurable.  This
patch raises the default to 5 minutes, and introduces an environment
variable PGISOLATIONTIMEOUT that can be set if more time is needed,
following the precedent of PGCTLTIMEOUT.

Also, modify isolationtester so that when the timeout is hit,
it explicitly reports having sent a cancel.  This makes the regression
failure log considerably more intelligible.  (In the worst case, a
timed-out test might actually be reported as "passing" without this
extra output, so arguably this is a bug fix in itself.)

In passing, update the README file, which had apparently not gotten
touched when we added "make check" support here.

Back-patch to 9.6; older versions don't have comparable timeout logic.

Discussion: https://postgr.es/m/22964.1575842935@sss.pgh.pa.us

Files

PathChange+/−
src/test/isolation/isolationtester.c modified +27 −6
src/test/isolation/README modified +21 −8

Discussion