# Testing variables
######################################################################
-# Float doesn't work in boot
-
-FLOAT_XFAILS := $(S)src/test/run-pass/float.rs \
- $(S)src/test/run-pass/float2.rs \
- $(S)src/test/run-pass/float-signature.rs \
- $(S)src/test/run-pass/floatlits.rs
-
-# Temporarily xfail tests broken by the nominal-tags change.
-
-NOMINAL_TAG_XFAILS := $(S)src/test/run-pass/mlist.rs
-
-# Temporarily xfail tests broken by the constant-tags change.
-
-CONST_TAG_XFAILS := $(S)src/test/run-pass/generic-tag.rs
-
-# Temporarily xfail some of the task tests, while debugging the
-# overhauled inter-domain messaging system.
-
-TASK_XFAILS := $(addprefix $(S)src/test/run-pass/, \
- task-comm-8.rs \
- task-comm-10.rs \
- task-comm-15.rs \
- task-comm-12.rs \
- task-comm-2.rs \
- task-comm-9.rs \
- task-comm-chan-nil.rs \
- task-life-0.rs \
- alt-type-simple.rs \
- many.rs)
-
-TEST_XFAILS_BOOT := $(TASK_XFAILS) \
- $(NOMINAL_TAG_XFAILS) \
- $(CONST_TAG_XFAILS) \
- $(FLOAT_XFAILS) \
- $(addprefix $(S)src/test/run-pass/, \
- arith-unsigned.rs \
- box-compare.rs \
- child-outlives-parent.rs \
- clone-with-exterior.rs \
- constrained-type.rs \
- destructor-ordering.rs \
- obj-as.rs \
- vec-slice.rs \
- fn-lval.rs \
- empty-mutable-vec.rs \
- generic-bind-2.rs \
- generic-fn-box.rs \
- generic-tup.rs \
- iter-ret.rs \
- leak-tag-copy.rs \
- lib-io.rs \
- maybe-mutable.rs \
- mlist-cycle.rs \
- obj-as.rs \
- seq-compare.rs \
- task-comm.rs \
- task-comm-3.rs \
- vec-slice.rs \
- while-and-do-while.rs) \
- $(addprefix $(S)src/test/run-fail/, \
- task-comm-14.rs) \
- $(addprefix $(S)src/test/compile-fail/, \
- bad-expr-path.rs \
- import.rs \
- import2.rs \
- import3.rs \
- import4.rs \
- bad-recv.rs \
- bad-send.rs \
- infinite-vec-type-recursion.rs \
- tail-non-call.rs \
- writing-through-read-alias.rs) \
- $(S)src/test/bench/shootout/nbody.rs
-
-TEST_XFAILS_STAGE0 := $(addprefix $(S)src/test/run-pass/, \
- acyclic-unwind.rs \
- alt-pattern-drop.rs \
- alt-type-simple.rs \
- basic-1.rs \
- basic-2.rs \
- basic.rs \
- child-outlives-parent.rs \
- clone-with-exterior.rs \
- comm.rs \
- constrained-type.rs \
- destructor-ordering.rs \
- iter-ret.rs \
- lazychan.rs \
- lib-bitv.rs \
- lib-deque.rs \
- lib-int.rs \
- lib-io.rs \
- lib-map.rs \
- lib-rand.rs \
- lib-sha1.rs \
- lib-sort.rs \
- lib-str.rs \
- lib-str-buf.rs \
- lib-task.rs \
- lib-uint.rs \
- lib-vec-str-conversions.rs \
- lib-vec.rs \
- many.rs \
- mlist-cycle.rs \
- mlist.rs \
- mutable-alias-vec.rs \
- obj-as.rs \
- obj-dtor.rs \
- pred.rs \
- preempt.rs \
- rt-circular-buffer.rs \
- size-and-align.rs \
- spawn-fn.rs \
- spawn-module-qualified.rs \
- spawn.rs \
- str-append.rs \
- syntax-extension-fmt.rs \
- syntax-extension-shell.rs \
- task-comm-0.rs \
- task-comm-1.rs \
- task-comm-10.rs \
- task-comm-11.rs \
- task-comm-12.rs \
- task-comm-13-thread.rs \
- task-comm-13.rs \
- task-comm-15.rs \
- task-comm-2.rs \
- task-comm-3.rs \
- task-comm-7.rs \
- task-comm-8.rs \
- task-comm-9.rs \
- task-comm.rs \
- task-killjoin.rs \
- task-life-0.rs \
- threads.rs \
- type-sizes.rs \
- typestate-cfg-nesting.rs \
- use.rs \
- use-import-export.rs \
- user.rs \
- utf8.rs \
- utf8_chars.rs \
- vec-alloc-append.rs \
- vec-append.rs \
- vec-slice.rs \
- while-with-break.rs \
- yield.rs \
- yield2.rs \
- multi.rc \
- native-mod.rc \
- native.rc \
- ) \
- $(filter-out \
- $(addprefix $(S)src/test/compile-fail/, \
- alt-tag-nullary.rs \
- alt-tag-unary.rs \
- arg-count-mismatch.rs \
- arg-type-mismatch.rs \
- bad-expr-path.rs \
- bad-expr-path2.rs \
- bogus-tag.rs \
- fru-extra-field.rs \
- import.rs \
- import2.rs \
- import3.rs \
- import4.rs \
- import-loop.rs \
- import-loop-2.rs \
- multiline-comment-line-tracking.rs \
- output-type-mismatch.rs \
- rec-missing-fields.rs \
- reserved-dec.rs \
- reserved-f128.rs \
- reserved-f16.rs \
- reserved-f80.rs \
- reserved-m128.rs \
- reserved-m32.rs \
- reserved-m64.rs \
- tail-non-call.rs \
- tail-typeck.rs \
- type-shadow.rs \
- while-type-error.rs \
- wrong-ret-type.rs \
- ), \
- $(wildcard $(S)src/test/*fail/*.rs test/*fail/*.rc)) \
- $(S)src/test/bench/shootout/fannkuchredux.rs \
- $(S)src/test/bench/shootout/fasta.rs \
- $(S)src/test/bench/shootout/binarytrees.rs \
- $(wildcard $(S)src/test/bench/99-bottles/*rs)
+TEST_XFAILS_BOOT = $(shell grep \
+ --recursive \
+ --files-with-matches \
+ --include=*.rs --include=*.rc \
+ xfail-boot $(S)src/test)
+
+TEST_XFAILS_STAGE0 = $(shell grep \
+ --recursive \
+ --files-with-matches \
+ --include=*.rs --include=*.rc \
+ xfail-stage0 $(S)src/test)
ifdef MINGW_CROSS
TEST_XFAILS_BOOT += $(S)src/test/run-pass/native-mod.rc
TEST_XFAILS_STAGE0 += $(S)src/test/run-pass/native-mod.rc
endif
-BENCH_RS := $(wildcard $(S)src/test/bench/shootout/*.rs) \
+BENCH_RS = $(wildcard $(S)src/test/bench/shootout/*.rs) \
$(wildcard $(S)src/test/bench/99-bottles/*.rs)
-RPASS_RC := $(wildcard $(S)src/test/run-pass/*.rc)
-RPASS_RS := $(wildcard $(S)src/test/run-pass/*.rs) $(BENCH_RS)
-RFAIL_RC := $(wildcard $(S)src/test/run-fail/*.rc)
-RFAIL_RS := $(wildcard $(S)src/test/run-fail/*.rs)
-CFAIL_RC := $(wildcard $(S)src/test/compile-fail/*.rc)
-CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
+RPASS_RC = $(wildcard $(S)src/test/run-pass/*.rc)
+RPASS_RS = $(wildcard $(S)src/test/run-pass/*.rs) $(BENCH_RS)
+RFAIL_RC = $(wildcard $(S)src/test/run-fail/*.rc)
+RFAIL_RS = $(wildcard $(S)src/test/run-fail/*.rs)
+CFAIL_RC = $(wildcard $(S)src/test/compile-fail/*.rc)
+CFAIL_RS = $(wildcard $(S)src/test/compile-fail/*.rs)
ifdef CHECK_XFAILS
-TEST_RPASS_CRATES_BOOT := $(filter $(TEST_XFAILS_BOOT), $(RPASS_RC))
-TEST_RPASS_CRATES_STAGE0 := $(filter $(TEST_XFAILS_STAGE0), $(RPASS_RC))
-TEST_RPASS_SOURCES_BOOT := $(filter $(TEST_XFAILS_BOOT), $(RPASS_RS))
-TEST_RPASS_SOURCES_STAGE0 := $(filter $(TEST_XFAILS_STAGE0), $(RPASS_RS))
+TEST_RPASS_CRATES_BOOT = $(filter $(TEST_XFAILS_BOOT), $(RPASS_RC))
+TEST_RPASS_CRATES_STAGE0 = $(filter $(TEST_XFAILS_STAGE0), $(RPASS_RC))
+TEST_RPASS_SOURCES_BOOT = $(filter $(TEST_XFAILS_BOOT), $(RPASS_RS))
+TEST_RPASS_SOURCES_STAGE0 = $(filter $(TEST_XFAILS_STAGE0), $(RPASS_RS))
else
-TEST_RPASS_CRATES_BOOT := $(filter-out $(TEST_XFAILS_BOOT), $(RPASS_RC))
-TEST_RPASS_CRATES_STAGE0 := $(filter-out $(TEST_XFAILS_STAGE0), $(RPASS_RC))
-TEST_RPASS_SOURCES_BOOT := $(filter-out $(TEST_XFAILS_BOOT), $(RPASS_RS))
-TEST_RPASS_SOURCES_STAGE0 := $(filter-out $(TEST_XFAILS_STAGE0), $(RPASS_RS))
+TEST_RPASS_CRATES_BOOT = $(filter-out $(TEST_XFAILS_BOOT), $(RPASS_RC))
+TEST_RPASS_CRATES_STAGE0 = $(filter-out $(TEST_XFAILS_STAGE0), $(RPASS_RC))
+TEST_RPASS_SOURCES_BOOT = $(filter-out $(TEST_XFAILS_BOOT), $(RPASS_RS))
+TEST_RPASS_SOURCES_STAGE0 = $(filter-out $(TEST_XFAILS_STAGE0), $(RPASS_RS))
endif
-TEST_RPASS_EXES_BOOT := \
+TEST_RPASS_EXES_BOOT = \
$(subst $(S)src/,,$(TEST_RPASS_CRATES_BOOT:.rc=.boot$(X))) \
$(subst $(S)src/,,$(TEST_RPASS_SOURCES_BOOT:.rs=.boot$(X)))
-TEST_RPASS_EXES_STAGE0 := \
+TEST_RPASS_EXES_STAGE0 = \
$(subst $(S)src/,,$(TEST_RPASS_CRATES_STAGE0:.rc=.stage0$(X))) \
$(subst $(S)src/,,$(TEST_RPASS_SOURCES_STAGE0:.rs=.stage0$(X)))
-TEST_RPASS_OUTS_BOOT := \
+TEST_RPASS_OUTS_BOOT = \
$(TEST_RPASS_EXES_BOOT:.boot$(X)=.boot.out)
-TEST_RPASS_OUTS_STAGE0 := \
+TEST_RPASS_OUTS_STAGE0 = \
$(TEST_RPASS_EXES_STAGE0:.stage0$(X)=.stage0.out)
-TEST_RPASS_TMPS_BOOT := \
+TEST_RPASS_TMPS_BOOT = \
$(TEST_RPASS_EXES_BOOT:.boot$(X)=.boot$(X).tmp)
-TEST_RPASS_TMPS_STAGE0 := \
+TEST_RPASS_TMPS_STAGE0 = \
$(TEST_RPASS_EXES_STAGE0:.stage0$(X)=.stage0$(X).tmp)
-TEST_RFAIL_CRATES_BOOT := $(filter-out $(TEST_XFAILS_BOOT), $(RFAIL_RC))
-TEST_RFAIL_CRATES_STAGE0 := $(filter-out $(TEST_XFAILS_STAGE0), $(RFAIL_RC))
-TEST_RFAIL_SOURCES_BOOT := $(filter-out $(TEST_XFAILS_BOOT), $(RFAIL_RS))
-TEST_RFAIL_SOURCES_STAGE0 := $(filter-out $(TEST_XFAILS_STAGE0), $(RFAIL_RS))
+TEST_RFAIL_CRATES_BOOT = $(filter-out $(TEST_XFAILS_BOOT), $(RFAIL_RC))
+TEST_RFAIL_CRATES_STAGE0 = $(filter-out $(TEST_XFAILS_STAGE0), $(RFAIL_RC))
+TEST_RFAIL_SOURCES_BOOT = $(filter-out $(TEST_XFAILS_BOOT), $(RFAIL_RS))
+TEST_RFAIL_SOURCES_STAGE0 = $(filter-out $(TEST_XFAILS_STAGE0), $(RFAIL_RS))
-TEST_RFAIL_EXES_BOOT := \
+TEST_RFAIL_EXES_BOOT = \
$(subst $(S)src/,,$(TEST_RFAIL_CRATES_BOOT:.rc=.boot$(X))) \
$(subst $(S)src/,,$(TEST_RFAIL_SOURCES_BOOT:.rs=.boot$(X)))
-TEST_RFAIL_EXES_STAGE0 := \
+TEST_RFAIL_EXES_STAGE0 = \
$(subst $(S)src/,,$(TEST_RFAIL_CRATES_STAGE0:.rc=.stage0$(X))) \
$(subst $(S)src/,,$(TEST_RFAIL_SOURCES_STAGE0:.rs=.stage0$(X)))
-TEST_RFAIL_OUTS_BOOT := \
+TEST_RFAIL_OUTS_BOOT = \
$(TEST_RFAIL_EXES_BOOT:.boot$(X)=.boot.out)
-TEST_RFAIL_OUTS_STAGE0 := \
+TEST_RFAIL_OUTS_STAGE0 = \
$(TEST_RFAIL_EXES_STAGE0:.stage0$(X)=.stage0.out)
-TEST_RFAIL_TMPS_BOOT := \
+TEST_RFAIL_TMPS_BOOT = \
$(TEST_RFAIL_EXES_BOOT:.boot$(X)=.boot$(X).tmp)
-TEST_RFAIL_TMPS_STAGE0 := \
+TEST_RFAIL_TMPS_STAGE0 = \
$(TEST_RFAIL_EXES_STAGE0:.stage0$(X)=.stage0$(X).tmp)
-TEST_CFAIL_CRATES_BOOT := $(filter-out $(TEST_XFAILS_BOOT), $(CFAIL_RC))
-TEST_CFAIL_CRATES_STAGE0 := $(filter-out $(TEST_XFAILS_STAGE0), $(CFAIL_RC))
-TEST_CFAIL_SOURCES_BOOT := $(filter-out $(TEST_XFAILS_BOOT), $(CFAIL_RS))
-TEST_CFAIL_SOURCES_STAGE0 := $(filter-out $(TEST_XFAILS_STAGE0), $(CFAIL_RS))
+TEST_CFAIL_CRATES_BOOT = $(filter-out $(TEST_XFAILS_BOOT), $(CFAIL_RC))
+TEST_CFAIL_CRATES_STAGE0 = $(filter-out $(TEST_XFAILS_STAGE0), $(CFAIL_RC))
+TEST_CFAIL_SOURCES_BOOT = $(filter-out $(TEST_XFAILS_BOOT), $(CFAIL_RS))
+TEST_CFAIL_SOURCES_STAGE0 = $(filter-out $(TEST_XFAILS_STAGE0), $(CFAIL_RS))
-TEST_CFAIL_EXES_BOOT := \
+TEST_CFAIL_EXES_BOOT = \
$(subst $(S)src/,,$(TEST_CFAIL_CRATES_BOOT:.rc=.boot$(X))) \
$(subst $(S)src/,,$(TEST_CFAIL_SOURCES_BOOT:.rs=.boot$(X)))
-TEST_CFAIL_EXES_STAGE0 := \
+TEST_CFAIL_EXES_STAGE0 = \
$(subst $(S)src/,,$(TEST_CFAIL_CRATES_STAGE0:.rc=.stage0$(X))) \
$(subst $(S)src/,,$(TEST_CFAIL_SOURCES_STAGE0:.rs=.stage0$(X)))
-TEST_CFAIL_OUTS_BOOT := \
+TEST_CFAIL_OUTS_BOOT = \
$(TEST_CFAIL_EXES_BOOT:.boot$(X)=.boot.out)
-TEST_CFAIL_OUTS_STAGE0 := \
+TEST_CFAIL_OUTS_STAGE0 = \
$(TEST_CFAIL_EXES_STAGE0:.stage0$(X)=.stage0.out)
-TEST_CFAIL_TMPS_BOOT := \
+TEST_CFAIL_TMPS_BOOT = \
$(TEST_CFAIL_EXES_BOOT:.boot$(X)=.boot$(X).tmp)
-TEST_CFAIL_TMPS_STAGE0 := \
+TEST_CFAIL_TMPS_STAGE0 = \
$(TEST_CFAIL_EXES_STAGE0:.stage0$(X)=.stage0$(X).tmp)
-ALL_TEST_CRATES := $(TEST_CFAIL_CRATES_BOOT) \
+ALL_TEST_CRATES = $(TEST_CFAIL_CRATES_BOOT) \
$(TEST_RFAIL_CRATES_BOOT) \
$(TEST_RPASS_CRATES_BOOT) \
$(TEST_CFAIL_CRATES_STAGE0) \
$(TEST_RFAIL_CRATES_STAGE0) \
$(TEST_RPASS_CRATES_STAGE0)
-ALL_TEST_SOURCES := $(TEST_CFAIL_SOURCES_BOOT) \
+ALL_TEST_SOURCES = $(TEST_CFAIL_SOURCES_BOOT) \
$(TEST_RFAIL_SOURCES_BOOT) \
$(TEST_RPASS_SOURCES_BOOT) \
$(TEST_CFAIL_SOURCES_STAGE0) \
$(TEST_RFAIL_SOURCES_STAGE0) \
$(TEST_RPASS_SOURCES_STAGE0)
-ALL_TEST_INPUTS := $(wildcard $(S)src/test/*/*.rs \
+ALL_TEST_INPUTS = $(wildcard $(S)src/test/*/*.rs \
$(S)src/test/*/*/*.rs \
$(S)src/test/*/*.rc)
rt/bigint/bigint.h rt/bigint/bigint_int.cpp \
rt/bigint/bigint_ext.cpp rt/bigint/low_primes.h
-PKG_FILES :=\
+PKG_FILES = \
$(wildcard $(S)src/etc/*.*) \
$(S)LICENSE.txt $(S)README \
$(S)configure $(S)Makefile.in \