diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-02-13 05:11:14 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-02-13 05:11:14 +0000 |
commit | 44e36c79d249a5c101786107eb76c42df41b94cc (patch) | |
tree | 1f6b0a9b7609c133e212d672740615d79e7dbe2f /defs | |
parent | 302ae913e01d2ad9e316c4b003342a58db2ed542 (diff) | |
download | ruby-44e36c79d249a5c101786107eb76c42df41b94cc.tar.gz |
gmake.mk: tests step
* defs/gmake.mk (TEST_TARGETS): run tests step by step.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'defs')
-rw-r--r-- | defs/gmake.mk | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk index 4ff91f32c2..7f1397f3af 100644 --- a/defs/gmake.mk +++ b/defs/gmake.mk @@ -4,12 +4,18 @@ override gnumake_recursive := $(if $(findstring n,$(firstword $(MFLAGS))),,+) mflags := $(filter-out -j%,$(MFLAGS)) CHECK_TARGETS := exam love check% -TEST_TARGETS := $(filter check test check% test% btest%,$(MAKECMDGOALS)) -TEST_TARGETS += $(subst check,test-all,$(patsubst check-%,test-%,$(TEST_TARGETS))) -TEST_TARGETS := $(patsubst test-%,yes-test-%,$(patsubst btest-%,yes-btest-%,$(TEST_TARGETS))) -TEST_DEPENDS := $(if $(TEST_TARGETS),$(filter all main exts,$(MAKECMDGOALS))) -TEST_DEPENDS += $(if $(filter $(CHECK_TARGETS),$(MAKECMDGOALS)),main) -TEST_DEPENDS += $(if $(filter main,$(TEST_DEPENDS)),$(if $(filter all,$(INSTALLDOC)),docs)) +# expand test targets, and those dependents +TEST_TARGETS := $(filter exam check test check% test% btest%,$(MAKECMDGOALS)) +TEST_DEPENDS := $(filter-out $(TEST_TARGETS),$(MAKECMDGOALS)) +TEST_TARGETS := $(patsubst exam,check test-rubyspec,$(TEST_TARGETS)) +TEST_DEPENDS := $(filter-out $(TEST_TARGETS),$(TEST_DEPENDS)) +TEST_TARGETS := $(patsubst love,check,$(TEST_TARGETS)) +TEST_DEPENDS := $(filter-out $(TEST_TARGETS),$(TEST_DEPENDS)) +TEST_TARGETS := $(patsubst check,test test-testframework test-almost,$(patsubst check-%,test test-%,$(TEST_TARGETS))) +TEST_DEPENDS := $(filter-out $(TEST_TARGETS),$(TEST_DEPENDS)) +TEST_TARGETS := $(patsubst test,btest-ruby test-knownbug test-basic,$(TEST_TARGETS)) +TEST_DEPENDS := $(filter-out $(TEST_TARGETS),$(TEST_DEPENDS)) +TEST_DEPENDS += $(if $(filter-out btest%,$(TEST_TARGETS)),all exts) ifneq ($(filter -O0 -Od,$(optflags)),) override XCFLAGS := $(filter-out -D_FORTIFY_SOURCE=%,$(XCFLAGS)) @@ -42,21 +48,21 @@ $(foreach arch,$(filter -arch=%,$(subst -arch ,-arch=,$(ARCH_FLAG))),\ $(eval $(call archcmd,$(patsubst -arch=%,%,$(value arch)),$(patsubst -arch=%,-arch %,$(value arch))))) endif -ifneq ($(filter $(CHECK_TARGETS) test,$(MAKECMDGOALS)),) -yes-test-basic: $(TEST_DEPENDS) yes-test-knownbug -yes-test-knownbug: $(TEST_DEPENDS) yes-btest-ruby -yes-btest-ruby: $(TEST_DEPENDS) -endif -ifneq ($(filter $(CHECK_TARGETS),$(MAKECMDGOALS)) $(filter yes-test-all,$(TEST_TARGETS)),) -yes-test-testframework yes-test-almost yes-test-ruby: $(filter-out %test-all %test-ruby check%,$(TEST_TARGETS)) \ - yes-test-basic -endif -ifneq ($(filter $(CHECK_TARGETS),$(MAKECMDGOALS))$(if $(filter test-all,$(MAKECMDGOALS)),$(filter test-knownbug,$(MAKECMDGOALS))),) -yes-test-testframework yes-test-almost yes-test-ruby: yes-test-knownbug -yes-test-almost: yes-test-testframework +.PHONY: $(addprefix yes-,$(TEST_TARGETS)) + +ifneq ($(filter-out btest%,$(TEST_TARGETS)),) +$(addprefix yes-,$(TEST_TARGETS)): $(TEST_DEPENDS) endif -$(TEST_TARGETS): $(TEST_DEPENDS) +ORDERED_TEST_TARGETS := $(filter $(TEST_TARGETS), \ + btest-ruby test-knownbug test-basic \ + test-testframework test-almost test-all \ + test-rubyspec \ + ) +prev_test := $(if $(filter test-rubyspec,$(ORDERED_TEST_TARGETS)),test-rubyspec-precheck) +$(foreach test,$(addprefix yes-,$(ORDERED_TEST_TARGETS)), \ + $(eval $(value test): $(value prev_test)); \ + $(eval prev_test := $(value test))) ifneq ($(if $(filter install,$(MAKECMDGOALS)),$(filter uninstall,$(MAKECMDGOALS))),) install-targets := $(filter install uninstall,$(MAKECMDGOALS)) |