pgsql: Improve isolation tests infrastructure.

Started by Andres Freundabout 9 years ago2 messageshackers
Jump to latest
#1Andres Freund
andres@anarazel.de

Improve isolation tests infrastructure.

Previously if a directory had both isolationtester and plain
regression tests, they couldn't be run in parallel, because they'd
access the same files/directories. That, so far, only affected
contrib/test_decoding.

Rather than fix that locally in contrib/test_decoding, improve
pg_regress_isolation_[install]check to use separate resources from
plain regression tests.

That requires a minor change in pg_regress, namely that the
--outputdir is created if not already existing, that seems like good
idea anyway.

Use the improved helpers even where previously not used.

Author: Tom Lane and Andres Freund
Discussion: /messages/by-id/20170311194831.vm5ikpczq52c2drg@alap3.anarazel.de

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/60f826c5e62446d211e15ae31710562a26afc442

Modified Files
--------------
contrib/test_decoding/.gitignore | 5 +++--
contrib/test_decoding/Makefile | 7 +-----
src/Makefile.global.in | 33 +++++++++++++++++++++-------
src/test/isolation/.gitignore | 5 ++---
src/test/isolation/Makefile | 8 +++----
src/test/modules/snapshot_too_old/.gitignore | 2 +-
src/test/modules/snapshot_too_old/Makefile | 6 ++---
src/test/regress/pg_regress.c | 6 ++++-
8 files changed, 44 insertions(+), 28 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Andres Freund
andres@anarazel.de
In reply to: Andres Freund (#1)
Re: [COMMITTERS] pgsql: Improve isolation tests infrastructure.

Hi Peter, All,

On 2017-03-14 23:10:19 +0000, Andres Freund wrote:

Improve isolation tests infrastructure.

There's:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=frogmouth&dt=2017-03-15%2012%3A32%3A45
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=narwhal&dt=2017-03-15%2005%3A00%3A01

I suspect that's because previously src/test/regress/GNUMakefile's
installcheck provided --bindir='$(bindir)', but
$pg_isolation_regress_installcheck) doesn't (and didn't before the
changes).

ISTM that the only reason that this previously didn't cause issues on
these machines is that neither actually *runs* any of the isolation
checks in other directories. I.e. they'd have failed before this, too,
if they ran tests using pg_isolation_regress_installcheck.

To me it seems like an oversight in the previous definition of
pg_isolation_regress_installcheck. Looks like that was introduced in
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=dcae5faccab64776376d354decda0017c648bb53

Peter, I guess it wasn't intentional that you added --bindir to
pg_regress_installcheck but not pg_isolation_regress_installcheck?

Regards,

Andres

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers