Skip to content

Commit

Permalink
Allow make check in PL directories
Browse files Browse the repository at this point in the history
Also add make check-world target, and refactor pg_regress invocation
code in makefiles a bit.
  • Loading branch information
petere committed Feb 15, 2011
1 parent 0d90dc1 commit 2fd7706
Show file tree
Hide file tree
Showing 12 changed files with 55 additions and 30 deletions.
5 changes: 4 additions & 1 deletion GNUmakefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ 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,installcheck-world,src/test src/pl src/interfaces/ecpg contrib,installcheck)

GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
Expand Down Expand Up @@ -121,4 +124,4 @@ distcheck: dist
rm -rf $(distdir) $(dummy)
@echo "Distribution integrity checks out."

.PHONY: dist distdir distcheck docs install-docs world install-world installcheck-world
.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# GNUmakefile won't exist yet, so we catch that case as well.


all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world install-world installcheck-world:
all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world check-world install-world installcheck-world:
@if [ ! -f GNUmakefile ] ; then \
echo "You need to run the 'configure' program first. See the file"; \
echo "'INSTALL' for installation instructions." ; \
Expand Down
16 changes: 13 additions & 3 deletions src/Makefile.global.in
Original file line number Diff line number Diff line change
Expand Up @@ -285,9 +285,6 @@ XGETTEXT = @XGETTEXT@
GZIP = gzip
BZIP2 = bzip2

PL_TESTDB = pl_regression
CONTRIB_TESTDB = contrib_regression

# Installation.

INSTALL = $(SHELL) $(top_srcdir)/config/install-sh -c
Expand Down Expand Up @@ -426,6 +423,19 @@ submake-libpgport:
.PHONY: submake-libpq submake-libpgport


##########################################################################
#
# Testing support

PL_TESTDB = pl_regression
CONTRIB_TESTDB = contrib_regression

pg_regress_check = $(top_builddir)/src/test/regress/pg_regress --inputdir=$(srcdir) --temp-install=./tmp_check --top-builddir=$(top_builddir)
pg_regress_installcheck = $(top_builddir)/src/test/regress/pg_regress --inputdir=$(srcdir) --psqldir=$(PSQLDIR)

pg_regress_clean_files = results/ regression.diffs regression.out tmp_check/ log/


##########################################################################
#
# Customization
Expand Down
8 changes: 3 additions & 5 deletions src/makefiles/pgxs.mk
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,7 @@ ifdef EXTRA_CLEAN
endif
ifdef REGRESS
# things created by various check targets
rm -rf results tmp_check log
rm -f regression.diffs regression.out regress.out run_check.out
rm -rf $(pg_regress_clean_files)
ifeq ($(PORTNAME), win)
rm -f regress.def
endif
Expand Down Expand Up @@ -280,12 +279,11 @@ endif

# against installed postmaster
installcheck: submake
$(top_builddir)/src/test/regress/pg_regress --inputdir=$(srcdir) --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
$(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS)

# in-tree test doesn't work yet (no way to install my shared library)
#check: all submake
# $(top_builddir)/src/test/regress/pg_regress --temp-install \
# --top-builddir=$(top_builddir) $(REGRESS_OPTS) $(REGRESS)
# $(pg_regress_check) $(REGRESS_OPTS) $(REGRESS)
check:
@echo "'make check' is not supported."
@echo "Do 'make install', then 'make installcheck' instead."
Expand Down
2 changes: 2 additions & 0 deletions src/pl/plperl/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
/plperl_opmask.h

# Generated subdirectories
/log/
/results/
/tmp_check/
8 changes: 5 additions & 3 deletions src/pl/plperl/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,19 @@ installdirs: installdirs-lib

uninstall: uninstall-lib

check: submake
$(pg_regress_check) $(REGRESS_OPTS) $(REGRESS)

installcheck: submake
$(top_builddir)/src/test/regress/pg_regress --inputdir=$(srcdir) --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
$(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS)

.PHONY: submake
submake:
$(MAKE) -C $(top_builddir)/src/test/regress pg_regress$(X)

clean distclean maintainer-clean: clean-lib
rm -f SPI.c Util.c $(OBJS) perlchunks.h plperl_opmask.h
rm -rf results
rm -f regression.diffs regression.out
rm -rf $(pg_regress_clean_files)

else # can't build

Expand Down
2 changes: 2 additions & 0 deletions src/pl/plpython/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
# Generated subdirectories
/log/
/results/
/tmp_check/
13 changes: 9 additions & 4 deletions src/pl/plpython/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,19 @@ prep3:
clean3:
rm -rf python3/

check: submake prep3
$(pg_regress_check) --inputdir=./python3 --outputdir=./python3 $(REGRESS_OPTS) $(REGRESS)

installcheck: submake prep3
$(top_builddir)/src/test/regress/pg_regress --inputdir=./python3 --outputdir=./python3 --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
$(pg_regress_installcheck) --inputdir=./python3 --outputdir=./python3 $(REGRESS_OPTS) $(REGRESS)

clean: clean3
else
check: submake
$(pg_regress_check) $(REGRESS_OPTS) $(REGRESS)

installcheck: submake
$(top_builddir)/src/test/regress/pg_regress --inputdir=$(srcdir) --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
$(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS)
endif

.PHONY: submake
Expand All @@ -135,8 +141,7 @@ submake:

clean distclean maintainer-clean: clean-lib
rm -f $(OBJS)
rm -rf results
rm -f regression.diffs regression.out
rm -rf $(pg_regress_clean_files)
ifeq ($(PORTNAME), win32)
rm -f python${pytverstr}.def
endif
Expand Down
2 changes: 2 additions & 0 deletions src/pl/tcl/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
# Generated subdirectories
/log/
/results/
/tmp_check/
8 changes: 5 additions & 3 deletions src/pl/tcl/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,11 @@ installdirs: installdirs-lib
uninstall: uninstall-lib
$(MAKE) -C modules $@

check: submake
$(pg_regress_check) $(REGRESS_OPTS) $(REGRESS)

installcheck: submake
$(top_builddir)/src/test/regress/pg_regress --inputdir=$(srcdir) --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
$(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS)

.PHONY: submake
submake:
Expand All @@ -77,6 +80,5 @@ endif # TCL_SHARED_BUILD = 0

clean distclean maintainer-clean: clean-lib
rm -f $(OBJS)
rm -rf results
rm -f regression.diffs regression.out
rm -rf $(pg_regress_clean_files)
$(MAKE) -C modules $@
17 changes: 8 additions & 9 deletions src/test/regress/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -138,19 +138,19 @@ tablespace-setup:
## Run tests
##

pg_regress_call = ./pg_regress --inputdir=$(srcdir) --dlpath=. $(if $(MULTIBYTE),--multibyte=$(MULTIBYTE)) $(NOLOCALE)
REGRESS_OPTS = --dlpath=. $(if $(MULTIBYTE),--multibyte=$(MULTIBYTE)) $(NOLOCALE)

check: all tablespace-setup
$(pg_regress_call) --temp-install=./tmp_check --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(TEMP_CONF) $(EXTRA_TESTS)
$(pg_regress_check) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(TEMP_CONF) $(EXTRA_TESTS)

installcheck: all tablespace-setup
$(pg_regress_call) --psqldir=$(PSQLDIR) --schedule=$(srcdir)/serial_schedule $(EXTRA_TESTS)
$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule $(EXTRA_TESTS)

installcheck-parallel: all tablespace-setup
$(pg_regress_call) --psqldir=$(PSQLDIR) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)
$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)

standbycheck: all
$(pg_regress_call) --psqldir=$(PSQLDIR) --schedule=$(srcdir)/standby_schedule --use-existing
$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/standby_schedule --use-existing

# old interfaces follow...

Expand All @@ -159,10 +159,10 @@ runtest: installcheck
runtest-parallel: installcheck-parallel

bigtest: all tablespace-setup
$(pg_regress_call) --psqldir=$(PSQLDIR) --schedule=$(srcdir)/serial_schedule numeric_big
$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule numeric_big

bigcheck: all tablespace-setup
$(pg_regress_call) --temp-install=./tmp_check --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) numeric_big
$(pg_regress_check) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) numeric_big


##
Expand All @@ -176,5 +176,4 @@ clean distclean maintainer-clean: clean-lib
# things created by various check targets
rm -f $(output_files) $(input_files)
rm -rf testtablespace
rm -rf results tmp_check log
rm -f regression.diffs regression.out regress.out run_check.out
rm -rf $(pg_regress_clean_files)
2 changes: 1 addition & 1 deletion src/test/regress/pg_regress.c
Original file line number Diff line number Diff line change
Expand Up @@ -2094,7 +2094,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
/* "make install" */
#ifndef WIN32_ONLY_COMPILER
snprintf(buf, sizeof(buf),
SYSTEMQUOTE "\"%s\" -C \"%s\" DESTDIR=\"%s/install\" install with_perl=no with_python=no > \"%s/log/install.log\" 2>&1" SYSTEMQUOTE,
SYSTEMQUOTE "\"%s\" -C \"%s\" DESTDIR=\"%s/install\" install > \"%s/log/install.log\" 2>&1" SYSTEMQUOTE,
makeprog, top_builddir, temp_install, outputdir);
#else
snprintf(buf, sizeof(buf),
Expand Down

0 comments on commit 2fd7706

Please sign in to comment.