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