On 2016-11-14 12:14:10 -0800, Andres Freund wrote: > On 2016-11-12 11:42:12 -0500, Tom Lane wrote: > > Andres Freund <and...@anarazel.de> writes: > > > On 2016-11-12 11:30:42 -0500, Tom Lane wrote: > > >> which is a rather blatant waste of cycles. I would suggest an explicit > > >> do-nothing installcheck rule rather than the hack you came up with here. > > > > > I had that at first, but that generates a warning about overwriting the > > > makefile target - which afaics cannot be fixed. > > > > Hm. What about inventing an additional macro NO_INSTALLCHECK that > > prevents pgxs.mk from generating an installcheck rule? It's not > > like we don't have similar issues elsewhere, eg contrib/sepgsql. > > Well, that one seems a bit different. Seems easy enough to do. Do we > want to make that macro that prevents installcheck from being defined, > or one that forces it to be empty? The former has the disadvantage that > one has to be careful to define a target, to avoid breaking recursion > from the upper levels.
Oh, that disadvantage doesn't actually exist, because installcheck is a .PHONY target... I've for now not added a variant that prevents plain 'make check' from doing anything. I guess it could be useful when a contrib module wants to run tests via something else than pg_regress? Patch attached. Andres
>From 906051a23831c5d337556e56d19962f2e8444457 Mon Sep 17 00:00:00 2001 From: Andres Freund <and...@anarazel.de> Date: Mon, 14 Nov 2016 12:29:30 -0800 Subject: [PATCH] Provide NO_INSTALLCHECK for pgxs. This allows us to avoid running the regression tests in contrib modules like pg_stat_statement in a less ugly manner. Discussion: <22432.1478968...@sss.pgh.pa.us> --- contrib/pg_stat_statements/Makefile | 7 +++---- doc/src/sgml/extend.sgml | 9 +++++++++ src/makefiles/pgxs.mk | 4 ++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/contrib/pg_stat_statements/Makefile b/contrib/pg_stat_statements/Makefile index f1a45eb..298951a 100644 --- a/contrib/pg_stat_statements/Makefile +++ b/contrib/pg_stat_statements/Makefile @@ -13,6 +13,9 @@ LDFLAGS_SL += $(filter -lm, $(LIBS)) REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/pg_stat_statements/pg_stat_statements.conf REGRESS = pg_stat_statements +# Disabled because these tests require "shared_preload_libraries=pg_stat_statements", +# which typical installcheck users do not have (e.g. buildfarm clients). +NO_INSTALLCHECK = 1 ifdef USE_PGXS PG_CONFIG = pg_config @@ -24,7 +27,3 @@ top_builddir = ../.. include $(top_builddir)/src/Makefile.global include $(top_srcdir)/contrib/contrib-global.mk endif - -# Disabled because these tests require "shared_preload_libraries=pg_stat_statements", -# which typical installcheck users do not have (e.g. buildfarm clients). -installcheck: REGRESS= diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml index e19c657..f9d91a3 100644 --- a/doc/src/sgml/extend.sgml +++ b/doc/src/sgml/extend.sgml @@ -1194,6 +1194,15 @@ include $(PGXS) </varlistentry> <varlistentry> + <term><varname>NO_INSTALLCHECK</varname></term> + <listitem> + <para> + don't define an installcheck target, useful e.g. if tests require special configuration, or don't use pg_regress + </para> + </listitem> + </varlistentry> + + <varlistentry> <term><varname>EXTRA_CLEAN</varname></term> <listitem> <para> diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk index 2b4d684..c27004e 100644 --- a/src/makefiles/pgxs.mk +++ b/src/makefiles/pgxs.mk @@ -40,6 +40,8 @@ # which need to be built first # REGRESS -- list of regression test cases (without suffix) # REGRESS_OPTS -- additional switches to pass to pg_regress +# NO_INSTALLCHECK -- don't define an installcheck target, useful e.g. if +# tests require special configuration, or don't use pg_regress # EXTRA_CLEAN -- extra files to remove in 'make clean' # PG_CPPFLAGS -- will be added to CPPFLAGS # PG_LIBS -- will be added to PROGRAM link line @@ -268,8 +270,10 @@ ifndef PGXS endif # against installed postmaster +ifndef NO_INSTALLCHECK installcheck: submake $(REGRESS_PREP) $(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS) +endif ifdef PGXS check: -- 2.10.2
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers