6e96691
#
6e96691
# Simplified makefile for running the PostgreSQL regression tests
6e96691
# in an RPM installation
6e96691
#
6e96691
6e96691
# maximum simultaneous connections for parallel tests
8bf3ae4
MAXCONNOPT =
6e96691
ifdef MAX_CONNECTIONS
6e96691
MAXCONNOPT += --max-connections=$(MAX_CONNECTIONS)
6e96691
endif
6e96691
8bf3ae4
# locale
8bf3ae4
NOLOCALE =
8bf3ae4
ifdef NO_LOCALE
8bf3ae4
NOLOCALE += --no-locale
8bf3ae4
endif
8bf3ae4
6e96691
srcdir := .
6e96691
Tom Lane d1e157d
REGRESS_OPTS += --dlpath=.
Tom Lane d1e157d
Tom Lane d1e157d
pg_regress_locale_flags = $(if $(ENCODING),--encoding=$(ENCODING)) $(NOLOCALE)
Tom Lane d1e157d
269d2b7
pg_regress_installcheck = ./pg_regress --inputdir=$(srcdir) --bindir=@bindir@ $(pg_regress_locale_flags)
Tom Lane d1e157d
8bf3ae4
# Test input and expected files.  These are created by pg_regress itself, so we
8bf3ae4
# don't have a rule to create them.  We do need rules to clean them however.
8bf3ae4
ifile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/input/*.source)))
8bf3ae4
input_files  := $(foreach file, $(ifile_list), sql/$(file).sql)
8bf3ae4
ofile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/output/*.source)))
8bf3ae4
output_files := $(foreach file, $(ofile_list), expected/$(file).out)
8bf3ae4
8bf3ae4
abs_srcdir := $(shell pwd)
8bf3ae4
abs_builddir := $(shell pwd)
8bf3ae4
6e96691
check: installcheck-parallel
6e96691
6e96691
installcheck: cleandirs
Tom Lane d1e157d
	$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule $(EXTRA_TESTS)
6e96691
6e96691
installcheck-parallel: cleandirs
Tom Lane d1e157d
	$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)
6e96691
6e96691
# The tests command the server to write into testtablespace and results.
6e96691
# On a SELinux-enabled system this will fail unless we mark those directories
6e96691
# as writable by the server.
6e96691
cleandirs:
6e96691
	-rm -rf testtablespace results
6e96691
	mkdir testtablespace results
9405842
	[ -x /usr/bin/chcon ] && /usr/bin/chcon -u system_u -r object_r -t postgresql_db_t testtablespace results
6e96691
6e96691
# old interfaces follow...
6e96691
6e96691
runcheck: check
6e96691
runtest: installcheck
6e96691
runtest-parallel: installcheck-parallel
6e96691
6e96691
6e96691
##
6e96691
## Clean up
6e96691
##
6e96691
6e96691
clean distclean maintainer-clean:
8bf3ae4
	rm -f $(output_files) $(input_files)
6e96691
	rm -rf testtablespace
6e96691
	rm -rf results tmp_check log
6e96691
	rm -f regression.diffs regression.out regress.out run_check.out