Fix test and precheck order for old GNU Make

This commit is contained in:
Nobuyoshi Nakada 2023-08-12 00:14:08 +09:00
Родитель d33555eeae
Коммит 2a3acbc420
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 3582D74E1FEE4465
3 изменённых файлов: 30 добавлений и 8 удалений

Просмотреть файл

@ -883,10 +883,12 @@ test-sample: test-basic # backward compatibility for mswin-build
test-short: btest-ruby $(DOT_WAIT) test-knownbug $(DOT_WAIT) test-basic
test: test-short
yes-test-all-precheck: programs encs exts PHONY $(DOT_WAIT)
# $ make test-all TESTOPTS="--help" displays more detail
# for example, make test-all TESTOPTS="-j2 -v -n test-name -- test-file-name"
test-all: $(TEST_RUNNABLE)-test-all
yes-test-all: programs PHONY
yes-test-all: yes-test-all-precheck
$(ACTIONS_GROUP)
$(gnumake_recursive)$(Q)$(exec) $(RUNRUBY) "$(TESTSDIR)/runner.rb" --ruby="$(RUNRUBY)" $(TEST_EXCLUDES) $(TESTOPTS) $(TESTS)
$(ACTIONS_ENDGROUP)
@ -928,10 +930,10 @@ $(RBCONFIG): $(tooldir)/mkconfig.rb config.status $(srcdir)/version.h $(srcdir)/
test-rubyspec: test-spec
yes-test-rubyspec: yes-test-spec
test-spec-precheck: programs yes-fake
yes-test-spec-precheck: yes-test-all-precheck yes-fake
test-spec: $(TEST_RUNNABLE)-test-spec
yes-test-spec: test-spec-precheck
yes-test-spec: yes-test-spec-precheck
$(ACTIONS_GROUP)
$(gnumake_recursive)$(Q) \
$(RUNRUBY) -r./$(arch)-fake -r$(tooldir)/rubyspec_temp \
@ -1544,6 +1546,7 @@ check: $(DOT_WAIT) $(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest
test-bundler-precheck: $(TEST_RUNNABLE)-test-bundler-precheck
no-test-bundler-precheck:
yes-test-bundler-precheck: main $(arch)-fake.rb
yes-test-bundler-parallel-precheck: yes-test-bundler-precheck
test-bundler-prepare: $(TEST_RUNNABLE)-test-bundler-prepare
no-test-bundler-prepare: no-test-bundler-precheck

Просмотреть файл

@ -38,6 +38,7 @@ TEST_DEPENDS := $(filter-out test-all $(TEST_TARGETS),$(TEST_DEPENDS))
TEST_TARGETS := $(patsubst test,test-short,$(TEST_TARGETS))
TEST_DEPENDS := $(filter-out test $(TEST_TARGETS),$(TEST_DEPENDS))
TEST_TARGETS := $(patsubst test-short,btest-ruby test-knownbug test-basic,$(TEST_TARGETS))
TEST_TARGETS := $(patsubst test-basic,test-basic test-leaked-globals,$(TEST_TARGETS))
TEST_TARGETS := $(patsubst test-bundled-gems,test-bundled-gems-run,$(TEST_TARGETS))
TEST_TARGETS := $(patsubst test-bundled-gems-run,test-bundled-gems-run $(PREPARE_BUNDLED_GEMS),$(TEST_TARGETS))
TEST_TARGETS := $(patsubst test-bundled-gems-prepare,test-bundled-gems-prepare $(PRECHECK_BUNDLED_GEMS) test-bundled-gems-fetch,$(TEST_TARGETS))
@ -92,16 +93,31 @@ $(addprefix yes-,$(TEST_TARGETS)): $(TEST_DEPENDS)
endif
ORDERED_TEST_TARGETS := $(filter $(TEST_TARGETS), \
btest-ruby test-knownbug test-basic \
btest-ruby test-knownbug test-leaked-globals test-basic \
test-testframework test-tool test-ruby test-all \
test-spec test-syntax-suggest-prepare test-syntax-suggest \
test-bundler-prepare test-bundler test-bundler-parallel \
test-bundled-gems-precheck test-bundled-gems-fetch \
test-bundled-gems-prepare test-bundled-gems-run \
)
prev_test := $(if $(filter test-spec,$(ORDERED_TEST_TARGETS)),test-spec-precheck)
# grep ^yes-test-.*-precheck: template/Makefile.in defs/gmake.mk common.mk
test_prechecks := $(filter $(ORDERED_TEST_TARGETS),\
test-leaked-globals \
test-all \
test-spec \
test-syntax-suggest \
test-bundler \
test-bundler-parallel \
test-bundled-gems\
)
prev_test := $(subst test-bundler-parallel,test-bundler,$(test_prechecks))
prev_test := $(addsuffix -precheck,$(prev_test))
first_test_prechecks := $(prev_test)
$(foreach test,$(ORDERED_TEST_TARGETS), \
$(eval yes-$(value test) no-$(value test): $(value prev_test)); \
$(eval yes-$(value test): $(addprefix yes-,$(value prev_test))); \
$(eval no-$(value test): $(addprefix no-,$(value prev_test))); \
$(eval prev_test := $(value test)))
endif

Просмотреть файл

@ -637,8 +637,11 @@ un-runnable:
$(Q) exit 1
LIBRUBY_FOR_LEAKED_GLOBALS = $(enable_shared:no=)
yes-test-basic: $(DOT_WAIT) leaked-globals
leaked-globals: $(COMMONOBJS) prog $(tooldir)/leaked-globals
yes-test-basic: $(DOT_WAIT) test-leaked-globals
leaked-globals: test-leaked-globals
yes-test-leaked-globals-precheck: $(COMMONOBJS) prog $(tooldir)/leaked-globals
test-leaked-globals: yes-test-leaked-globals
yes-test-leaked-globals: yes-test-leaked-globals-precheck
$(ACTIONS_GROUP)
$(Q) $(XRUBY) $(tooldir)/leaked-globals \
SOEXT=$(SOEXT) NM="$(NM) -Pgp" SYMBOL_PREFIX=$(SYMBOL_PREFIX) \