mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
Allow individual TAP tests to be run via PROVE_TESTS
Add a new optional Makefile variable PROVE_TESTS that, if passed as a space-separated list of paths relative to the Makefile invoking $(prove_check) or $(prove_installcheck), runs just those tests instead of t/*.pl . From: Craig Ringer <craig@2ndquadrant.com> Reviewed-by: Michael Paquier <michael.paquier@gmail.com>
This commit is contained in:
parent
8ce4f597ab
commit
9ca7b0bf01
@ -354,12 +354,12 @@ ifeq ($(enable_tap_tests),yes)
|
||||
|
||||
define prove_installcheck
|
||||
rm -rf $(CURDIR)/tmp_check/log
|
||||
cd $(srcdir) && TESTDIR='$(CURDIR)' PATH="$(bindir):$$PATH" PGPORT='6$(DEF_PGPORT)' top_builddir='$(CURDIR)/$(top_builddir)' PG_REGRESS='$(CURDIR)/$(top_builddir)/src/test/regress/pg_regress' $(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) t/*.pl
|
||||
cd $(srcdir) && TESTDIR='$(CURDIR)' PATH="$(bindir):$$PATH" PGPORT='6$(DEF_PGPORT)' top_builddir='$(CURDIR)/$(top_builddir)' PG_REGRESS='$(CURDIR)/$(top_builddir)/src/test/regress/pg_regress' $(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) $(if $(PROVE_TESTS),$(PROVE_TESTS),t/*.pl)
|
||||
endef
|
||||
|
||||
define prove_check
|
||||
rm -rf $(CURDIR)/tmp_check/log
|
||||
cd $(srcdir) && TESTDIR='$(CURDIR)' $(with_temp_install) PGPORT='6$(DEF_PGPORT)' PG_REGRESS='$(CURDIR)/$(top_builddir)/src/test/regress/pg_regress' $(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) t/*.pl
|
||||
cd $(srcdir) && TESTDIR='$(CURDIR)' $(with_temp_install) PGPORT='6$(DEF_PGPORT)' PG_REGRESS='$(CURDIR)/$(top_builddir)/src/test/regress/pg_regress' $(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) $(if $(PROVE_TESTS),$(PROVE_TESTS),t/*.pl)
|
||||
endef
|
||||
|
||||
else
|
||||
|
@ -6,6 +6,12 @@ across the source tree, particularly tests in src/bin and src/test. It's used
|
||||
to drive tests for backup and restore, replication, etc - anything that can't
|
||||
really be expressed using pg_regress or the isolation test framework.
|
||||
|
||||
The tests are invoked via perl's 'prove' command, wrapped in PostgreSQL
|
||||
makefiles to handle instance setup etc. See the $(prove_check) and
|
||||
$(prove_installcheck) targets in Makefile.global. By default every test in the
|
||||
t/ subdirectory is run. Individual test(s) can be run instead by passing
|
||||
something like PROVE_TESTS="t/001_testname.pl t/002_othertestname.pl" to make.
|
||||
|
||||
You should prefer to write tests using pg_regress in src/test/regress, or
|
||||
isolation tester specs in src/test/isolation, if possible. If not, check to
|
||||
see if your new tests make sense under an existing tree in src/test, like
|
||||
|
Loading…
Reference in New Issue
Block a user