wire up makefile to run codegen tests and add one to start
This commit is contained in:
parent
e14cd392a4
commit
fbc5bb4c0a
4 changed files with 35 additions and 1 deletions
1
configure
vendored
1
configure
vendored
|
@ -731,6 +731,7 @@ do
|
||||||
make_dir $h/test/perf
|
make_dir $h/test/perf
|
||||||
make_dir $h/test/pretty
|
make_dir $h/test/pretty
|
||||||
make_dir $h/test/debug-info
|
make_dir $h/test/debug-info
|
||||||
|
make_dir $h/test/codegen
|
||||||
make_dir $h/test/doc-tutorial
|
make_dir $h/test/doc-tutorial
|
||||||
make_dir $h/test/doc-tutorial-ffi
|
make_dir $h/test/doc-tutorial-ffi
|
||||||
make_dir $h/test/doc-tutorial-macros
|
make_dir $h/test/doc-tutorial-macros
|
||||||
|
|
19
mk/tests.mk
19
mk/tests.mk
|
@ -246,6 +246,7 @@ check-stage$(1)-T-$(2)-H-$(3)-exec: \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-crates-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-crates-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-bench-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-bench-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-debuginfo-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-debuginfo-exec \
|
||||||
|
check-stage$(1)-T-$(2)-H-$(3)-codegen-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-doc-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-doc-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-pretty-exec
|
check-stage$(1)-T-$(2)-H-$(3)-pretty-exec
|
||||||
|
|
||||||
|
@ -430,6 +431,8 @@ CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
|
||||||
BENCH_RS := $(wildcard $(S)src/test/bench/*.rs)
|
BENCH_RS := $(wildcard $(S)src/test/bench/*.rs)
|
||||||
PRETTY_RS := $(wildcard $(S)src/test/pretty/*.rs)
|
PRETTY_RS := $(wildcard $(S)src/test/pretty/*.rs)
|
||||||
DEBUGINFO_RS := $(wildcard $(S)src/test/debug-info/*.rs)
|
DEBUGINFO_RS := $(wildcard $(S)src/test/debug-info/*.rs)
|
||||||
|
CODEGEN_RS := $(wildcard $(S)src/test/codegen/*.rs)
|
||||||
|
CODEGEN_CC := $(wildcard $(S)src/test/codegen/*.cc)
|
||||||
|
|
||||||
# perf tests are the same as bench tests only they run under
|
# perf tests are the same as bench tests only they run under
|
||||||
# a performance monitor.
|
# a performance monitor.
|
||||||
|
@ -443,6 +446,7 @@ BENCH_TESTS := $(BENCH_RS)
|
||||||
PERF_TESTS := $(PERF_RS)
|
PERF_TESTS := $(PERF_RS)
|
||||||
PRETTY_TESTS := $(PRETTY_RS)
|
PRETTY_TESTS := $(PRETTY_RS)
|
||||||
DEBUGINFO_TESTS := $(DEBUGINFO_RS)
|
DEBUGINFO_TESTS := $(DEBUGINFO_RS)
|
||||||
|
CODEGEN_TESTS := $(CODEGEN_RS) $(CODEGEN_CC)
|
||||||
|
|
||||||
CTEST_SRC_BASE_rpass = run-pass
|
CTEST_SRC_BASE_rpass = run-pass
|
||||||
CTEST_BUILD_BASE_rpass = run-pass
|
CTEST_BUILD_BASE_rpass = run-pass
|
||||||
|
@ -479,10 +483,19 @@ CTEST_BUILD_BASE_debuginfo = debug-info
|
||||||
CTEST_MODE_debuginfo = debug-info
|
CTEST_MODE_debuginfo = debug-info
|
||||||
CTEST_RUNTOOL_debuginfo = $(CTEST_RUNTOOL)
|
CTEST_RUNTOOL_debuginfo = $(CTEST_RUNTOOL)
|
||||||
|
|
||||||
|
CTEST_SRC_BASE_codegen = codegen
|
||||||
|
CTEST_BUILD_BASE_codegen = codegen
|
||||||
|
CTEST_MODE_codegen = codegen
|
||||||
|
CTEST_RUNTOOL_codegen = $(CTEST_RUNTOOL)
|
||||||
|
|
||||||
ifeq ($(CFG_GDB),)
|
ifeq ($(CFG_GDB),)
|
||||||
CTEST_DISABLE_debuginfo = "no gdb found"
|
CTEST_DISABLE_debuginfo = "no gdb found"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CFG_CLANG),)
|
||||||
|
CTEST_DISABLE_codegen = "no clang found"
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(CFG_OSTYPE),apple-darwin)
|
ifeq ($(CFG_OSTYPE),apple-darwin)
|
||||||
CTEST_DISABLE_debuginfo = "gdb on darwing needs root"
|
CTEST_DISABLE_debuginfo = "gdb on darwing needs root"
|
||||||
endif
|
endif
|
||||||
|
@ -507,6 +520,8 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
|
||||||
--compile-lib-path $$(HLIB$(1)_H_$(3)) \
|
--compile-lib-path $$(HLIB$(1)_H_$(3)) \
|
||||||
--run-lib-path $$(TLIB$(1)_T_$(2)_H_$(3)) \
|
--run-lib-path $$(TLIB$(1)_T_$(2)_H_$(3)) \
|
||||||
--rustc-path $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
|
--rustc-path $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
|
||||||
|
--clang-path $(if $(CFG_CLANG),$(CFG_CLANG),clang) \
|
||||||
|
--llvm-bin-path $(CFG_LLVM_INST_DIR_$(CFG_BUILD_TRIPLE))/bin \
|
||||||
--aux-base $$(S)src/test/auxiliary/ \
|
--aux-base $$(S)src/test/auxiliary/ \
|
||||||
--stage-id stage$(1)-$(2) \
|
--stage-id stage$(1)-$(2) \
|
||||||
--target $(2) \
|
--target $(2) \
|
||||||
|
@ -522,6 +537,7 @@ CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $$(CFAIL_TESTS)
|
||||||
CTEST_DEPS_bench_$(1)-T-$(2)-H-$(3) = $$(BENCH_TESTS)
|
CTEST_DEPS_bench_$(1)-T-$(2)-H-$(3) = $$(BENCH_TESTS)
|
||||||
CTEST_DEPS_perf_$(1)-T-$(2)-H-$(3) = $$(PERF_TESTS)
|
CTEST_DEPS_perf_$(1)-T-$(2)-H-$(3) = $$(PERF_TESTS)
|
||||||
CTEST_DEPS_debuginfo_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_TESTS)
|
CTEST_DEPS_debuginfo_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_TESTS)
|
||||||
|
CTEST_DEPS_codegen_$(1)-T-$(2)-H-$(3) = $$(CODEGEN_TESTS)
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -565,7 +581,7 @@ endif
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CTEST_NAMES = rpass rpass-full rfail cfail bench perf debuginfo
|
CTEST_NAMES = rpass rpass-full rfail cfail bench perf debuginfo codegen
|
||||||
|
|
||||||
$(foreach host,$(CFG_HOST_TRIPLES), \
|
$(foreach host,$(CFG_HOST_TRIPLES), \
|
||||||
$(eval $(foreach target,$(CFG_TARGET_TRIPLES), \
|
$(eval $(foreach target,$(CFG_TARGET_TRIPLES), \
|
||||||
|
@ -674,6 +690,7 @@ TEST_GROUPS = \
|
||||||
bench \
|
bench \
|
||||||
perf \
|
perf \
|
||||||
debuginfo \
|
debuginfo \
|
||||||
|
codegen \
|
||||||
doc \
|
doc \
|
||||||
$(foreach docname,$(DOC_TEST_NAMES),doc-$(docname)) \
|
$(foreach docname,$(DOC_TEST_NAMES),doc-$(docname)) \
|
||||||
pretty \
|
pretty \
|
||||||
|
|
12
src/test/codegen/hello.cc
Normal file
12
src/test/codegen/hello.cc
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
struct slice {
|
||||||
|
char const *p;
|
||||||
|
size_t len;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
void test() {
|
||||||
|
struct slice s = { .p = "hello",
|
||||||
|
.len = 5 };
|
||||||
|
}
|
4
src/test/codegen/hello.rs
Normal file
4
src/test/codegen/hello.rs
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#[no_mangle]
|
||||||
|
fn test() {
|
||||||
|
let _x = "hello";
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue