wire up makefile to run codegen tests and add one to start
This commit is contained in:
parent
e14cd392a4
commit
fbc5bb4c0a
1
configure
vendored
1
configure
vendored
@ -731,6 +731,7 @@ do
|
||||
make_dir $h/test/perf
|
||||
make_dir $h/test/pretty
|
||||
make_dir $h/test/debug-info
|
||||
make_dir $h/test/codegen
|
||||
make_dir $h/test/doc-tutorial
|
||||
make_dir $h/test/doc-tutorial-ffi
|
||||
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)-bench-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)-pretty-exec
|
||||
|
||||
@ -430,6 +431,8 @@ CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
|
||||
BENCH_RS := $(wildcard $(S)src/test/bench/*.rs)
|
||||
PRETTY_RS := $(wildcard $(S)src/test/pretty/*.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
|
||||
# a performance monitor.
|
||||
@ -443,6 +446,7 @@ BENCH_TESTS := $(BENCH_RS)
|
||||
PERF_TESTS := $(PERF_RS)
|
||||
PRETTY_TESTS := $(PRETTY_RS)
|
||||
DEBUGINFO_TESTS := $(DEBUGINFO_RS)
|
||||
CODEGEN_TESTS := $(CODEGEN_RS) $(CODEGEN_CC)
|
||||
|
||||
CTEST_SRC_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_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),)
|
||||
CTEST_DISABLE_debuginfo = "no gdb found"
|
||||
endif
|
||||
|
||||
ifeq ($(CFG_CLANG),)
|
||||
CTEST_DISABLE_codegen = "no clang found"
|
||||
endif
|
||||
|
||||
ifeq ($(CFG_OSTYPE),apple-darwin)
|
||||
CTEST_DISABLE_debuginfo = "gdb on darwing needs root"
|
||||
endif
|
||||
@ -507,6 +520,8 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
|
||||
--compile-lib-path $$(HLIB$(1)_H_$(3)) \
|
||||
--run-lib-path $$(TLIB$(1)_T_$(2)_H_$(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/ \
|
||||
--stage-id stage$(1)-$(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_perf_$(1)-T-$(2)-H-$(3) = $$(PERF_TESTS)
|
||||
CTEST_DEPS_debuginfo_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_TESTS)
|
||||
CTEST_DEPS_codegen_$(1)-T-$(2)-H-$(3) = $$(CODEGEN_TESTS)
|
||||
|
||||
endef
|
||||
|
||||
@ -565,7 +581,7 @@ endif
|
||||
|
||||
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), \
|
||||
$(eval $(foreach target,$(CFG_TARGET_TRIPLES), \
|
||||
@ -674,6 +690,7 @@ TEST_GROUPS = \
|
||||
bench \
|
||||
perf \
|
||||
debuginfo \
|
||||
codegen \
|
||||
doc \
|
||||
$(foreach docname,$(DOC_TEST_NAMES),doc-$(docname)) \
|
||||
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…
Reference in New Issue
Block a user