contrib-make-check.patch
text/x-patch
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| contrib/earthdistance/Makefile | 1 | 0 |
| GNUmakefile.in | 1 | 2 |
| src/makefiles/pgxs.mk | 4 | 7 |
| src/test/regress/pg_regress.c | 25 | 0 |
diff --git i/GNUmakefile.in w/GNUmakefile.in
index f3c5fe5..79b0da4 100644
--- i/GNUmakefile.in
+++ w/GNUmakefile.in
@@ -60,8 +60,7 @@ check: all
check installcheck installcheck-parallel:
$(MAKE) -C src/test $@
-# TODO: add contrib
-$(call recurse,check-world,src/test src/pl src/interfaces/ecpg,check)
+$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib,check)
$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib,installcheck)
diff --git i/contrib/earthdistance/Makefile w/contrib/earthdistance/Makefile
index 49f6e66..48a7cf8 100644
--- i/contrib/earthdistance/Makefile
+++ w/contrib/earthdistance/Makefile
@@ -6,6 +6,7 @@ EXTENSION = earthdistance
DATA = earthdistance--1.0.sql earthdistance--unpackaged--1.0.sql
REGRESS = earthdistance
+REGRESS_OPTS = --extra-install=contrib/cube
LDFLAGS_SL += $(filter -lm, $(LIBS))
diff --git i/src/makefiles/pgxs.mk w/src/makefiles/pgxs.mk
index 87ade0a..44b0603 100644
--- i/src/makefiles/pgxs.mk
+++ w/src/makefiles/pgxs.mk
@@ -281,13 +281,10 @@ endif
installcheck: submake
$(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS)
-# in-tree test doesn't work yet (no way to install my shared library)
-#check: all submake
-# $(pg_regress_check) $(REGRESS_OPTS) $(REGRESS)
-check:
- @echo "'make check' is not supported."
- @echo "Do 'make install', then 'make installcheck' instead."
- @exit 1
+ifndef PGXS
+check: all submake
+ $(pg_regress_check) --extra-install=$(subdir) $(REGRESS_OPTS) $(REGRESS)
+endif
endif # REGRESS
diff --git i/src/test/regress/pg_regress.c w/src/test/regress/pg_regress.c
index 5fe3724..9d894f8 100644
--- i/src/test/regress/pg_regress.c
+++ w/src/test/regress/pg_regress.c
@@ -102,6 +102,7 @@ static bool port_specified_by_user = false;
static char *dlpath = PKGLIBDIR;
static char *user = NULL;
static _stringlist *extraroles = NULL;
+static _stringlist *extra_install = NULL;
/* internal variables */
static const char *progname;
@@ -1894,6 +1895,7 @@ help(void)
printf(_(" --top-builddir=DIR (relative) path to top level build directory\n"));
printf(_(" --port=PORT start postmaster on PORT\n"));
printf(_(" --temp-config=PATH append contents of PATH to temporary config\n"));
+ printf(_(" --extra-install=DIR additional directory to install (e.g., contrib\n"));
printf(_("\n"));
printf(_("Options for using an existing installation:\n"));
printf(_(" --host=HOST use postmaster running on HOST\n"));
@@ -1941,6 +1943,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
{"use-existing", no_argument, NULL, 20},
{"launcher", required_argument, NULL, 21},
{"load-extension", required_argument, NULL, 22},
+ {"extra-install", required_argument, NULL, 23},
{NULL, 0, NULL, 0}
};
@@ -2040,6 +2043,9 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
case 22:
add_stringlist_item(&loadextension, optarg);
break;
+ case 23:
+ add_stringlist_item(&extra_install, optarg);
+ break;
default:
/* getopt_long already emitted a complaint */
fprintf(stderr, _("\nTry \"%s -h\" for more information.\n"),
@@ -2084,6 +2090,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
if (temp_install)
{
FILE *pg_conf;
+ _stringlist *sl;
/*
* Prepare the temp installation
@@ -2126,6 +2133,24 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
exit_nicely(2);
}
+ for (sl = extra_install; sl != NULL; sl = sl->next)
+ {
+#ifndef WIN32_ONLY_COMPILER
+ snprintf(buf, sizeof(buf),
+ SYSTEMQUOTE "\"%s\" -C \"%s/%s\" DESTDIR=\"%s/install\" install >> \"%s/log/install.log\" 2>&1" SYSTEMQUOTE,
+ makeprog, top_builddir, sl->str, temp_install, outputdir);
+#else
+ fprintf(stderr, _("\n%s: --extra-install option not supported on this platform\n", progname));
+ exit_nicely(2);
+#endif
+
+ if (system(buf))
+ {
+ fprintf(stderr, _("\n%s: installation failed\nExamine %s/log/install.log for the reason.\nCommand was: %s\n"), progname, outputdir, buf);
+ exit_nicely(2);
+ }
+ }
+
/* initdb */
header(_("initializing database system"));
snprintf(buf, sizeof(buf),