rollup merge of #22118: fhahn/separate-parse-fail-2
After making `rustc` fail on errors at a stop point, like `-Z parse-only`, in #22117, the files in this PR also fail during the parse stage and should be moved as well. Sorry for spliting this move up in two PRs.
This commit is contained in:
commit
c5fddd81ab
|
@ -1056,6 +1056,7 @@ do
|
||||||
make_dir $h/test/run-pass-fulldeps
|
make_dir $h/test/run-pass-fulldeps
|
||||||
make_dir $h/test/run-fail
|
make_dir $h/test/run-fail
|
||||||
make_dir $h/test/compile-fail
|
make_dir $h/test/compile-fail
|
||||||
|
make_dir $h/test/parse-fail
|
||||||
make_dir $h/test/compile-fail-fulldeps
|
make_dir $h/test/compile-fail-fulldeps
|
||||||
make_dir $h/test/bench
|
make_dir $h/test/bench
|
||||||
make_dir $h/test/perf
|
make_dir $h/test/perf
|
||||||
|
|
17
mk/tests.mk
17
mk/tests.mk
|
@ -174,12 +174,12 @@ check-notidy: cleantmptestlogs cleantestlibs all check-stage2
|
||||||
check-lite: cleantestlibs cleantmptestlogs \
|
check-lite: cleantestlibs cleantmptestlogs \
|
||||||
$(foreach crate,$(TEST_TARGET_CRATES),check-stage2-$(crate)) \
|
$(foreach crate,$(TEST_TARGET_CRATES),check-stage2-$(crate)) \
|
||||||
check-stage2-rpass check-stage2-rpass-valgrind \
|
check-stage2-rpass check-stage2-rpass-valgrind \
|
||||||
check-stage2-rfail check-stage2-cfail check-stage2-rmake
|
check-stage2-rfail check-stage2-cfail check-stage2-pfail check-stage2-rmake
|
||||||
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
|
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
|
||||||
|
|
||||||
# Only check the 'reference' tests: rpass/cfail/rfail/rmake.
|
# Only check the 'reference' tests: rpass/cfail/rfail/rmake.
|
||||||
check-ref: cleantestlibs cleantmptestlogs check-stage2-rpass check-stage2-rpass-valgrind \
|
check-ref: cleantestlibs cleantmptestlogs check-stage2-rpass check-stage2-rpass-valgrind \
|
||||||
check-stage2-rfail check-stage2-cfail check-stage2-rmake
|
check-stage2-rfail check-stage2-cfail check-stage2-pfail check-stage2-rmake
|
||||||
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
|
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
|
||||||
|
|
||||||
# Only check the docs.
|
# Only check the docs.
|
||||||
|
@ -291,6 +291,7 @@ check-stage$(1)-T-$(2)-H-$(3)-exec: \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-rpass-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-rpass-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-rfail-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-rfail-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-cfail-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-cfail-exec \
|
||||||
|
check-stage$(1)-T-$(2)-H-$(3)-pfail-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-rpass-valgrind-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-rpass-valgrind-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-rpass-full-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-rpass-full-exec \
|
||||||
check-stage$(1)-T-$(2)-H-$(3)-cfail-full-exec \
|
check-stage$(1)-T-$(2)-H-$(3)-cfail-full-exec \
|
||||||
|
@ -470,7 +471,8 @@ RPASS_VALGRIND_TESTS := $(RPASS_VALGRIND_RS)
|
||||||
RPASS_FULL_TESTS := $(RPASS_FULL_RS)
|
RPASS_FULL_TESTS := $(RPASS_FULL_RS)
|
||||||
CFAIL_FULL_TESTS := $(CFAIL_FULL_RS)
|
CFAIL_FULL_TESTS := $(CFAIL_FULL_RS)
|
||||||
RFAIL_TESTS := $(RFAIL_RS)
|
RFAIL_TESTS := $(RFAIL_RS)
|
||||||
CFAIL_TESTS := $(CFAIL_RS) $(PFAIL_RS)
|
CFAIL_TESTS := $(CFAIL_RS)
|
||||||
|
PFAIL_TESTS := $(PFAIL_RS)
|
||||||
BENCH_TESTS := $(BENCH_RS)
|
BENCH_TESTS := $(BENCH_RS)
|
||||||
PERF_TESTS := $(PERF_RS)
|
PERF_TESTS := $(PERF_RS)
|
||||||
PRETTY_TESTS := $(PRETTY_RS)
|
PRETTY_TESTS := $(PRETTY_RS)
|
||||||
|
@ -508,6 +510,11 @@ CTEST_BUILD_BASE_cfail = compile-fail
|
||||||
CTEST_MODE_cfail = compile-fail
|
CTEST_MODE_cfail = compile-fail
|
||||||
CTEST_RUNTOOL_cfail = $(CTEST_RUNTOOL)
|
CTEST_RUNTOOL_cfail = $(CTEST_RUNTOOL)
|
||||||
|
|
||||||
|
CTEST_SRC_BASE_pfail = parse-fail
|
||||||
|
CTEST_BUILD_BASE_pfail = parse-fail
|
||||||
|
CTEST_MODE_pfail = parse-fail
|
||||||
|
CTEST_RUNTOOL_pfail = $(CTEST_RUNTOOL)
|
||||||
|
|
||||||
CTEST_SRC_BASE_bench = bench
|
CTEST_SRC_BASE_bench = bench
|
||||||
CTEST_BUILD_BASE_bench = bench
|
CTEST_BUILD_BASE_bench = bench
|
||||||
CTEST_MODE_bench = run-pass
|
CTEST_MODE_bench = run-pass
|
||||||
|
@ -630,6 +637,7 @@ CTEST_DEPS_rpass-full_$(1)-T-$(2)-H-$(3) = $$(RPASS_FULL_TESTS) $$(CSREQ$(1)_T_$
|
||||||
CTEST_DEPS_cfail-full_$(1)-T-$(2)-H-$(3) = $$(CFAIL_FULL_TESTS) $$(CSREQ$(1)_T_$(3)_H_$(3)) $$(SREQ$(1)_T_$(2)_H_$(3))
|
CTEST_DEPS_cfail-full_$(1)-T-$(2)-H-$(3) = $$(CFAIL_FULL_TESTS) $$(CSREQ$(1)_T_$(3)_H_$(3)) $$(SREQ$(1)_T_$(2)_H_$(3))
|
||||||
CTEST_DEPS_rfail_$(1)-T-$(2)-H-$(3) = $$(RFAIL_TESTS)
|
CTEST_DEPS_rfail_$(1)-T-$(2)-H-$(3) = $$(RFAIL_TESTS)
|
||||||
CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $$(CFAIL_TESTS)
|
CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $$(CFAIL_TESTS)
|
||||||
|
CTEST_DEPS_pfail_$(1)-T-$(2)-H-$(3) = $$(PFAIL_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-gdb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_GDB_TESTS)
|
CTEST_DEPS_debuginfo-gdb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_GDB_TESTS)
|
||||||
|
@ -698,7 +706,7 @@ endif
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CTEST_NAMES = rpass rpass-valgrind rpass-full cfail-full rfail cfail bench perf debuginfo-gdb debuginfo-lldb codegen
|
CTEST_NAMES = rpass rpass-valgrind rpass-full cfail-full rfail cfail pfail bench perf debuginfo-gdb debuginfo-lldb codegen
|
||||||
|
|
||||||
$(foreach host,$(CFG_HOST), \
|
$(foreach host,$(CFG_HOST), \
|
||||||
$(eval $(foreach target,$(CFG_TARGET), \
|
$(eval $(foreach target,$(CFG_TARGET), \
|
||||||
|
@ -857,6 +865,7 @@ TEST_GROUPS = \
|
||||||
cfail-full \
|
cfail-full \
|
||||||
rfail \
|
rfail \
|
||||||
cfail \
|
cfail \
|
||||||
|
pfail \
|
||||||
bench \
|
bench \
|
||||||
perf \
|
perf \
|
||||||
rmake \
|
rmake \
|
||||||
|
|
|
@ -15,6 +15,7 @@ use std::str::FromStr;
|
||||||
#[derive(Clone, Copy, PartialEq, Debug)]
|
#[derive(Clone, Copy, PartialEq, Debug)]
|
||||||
pub enum Mode {
|
pub enum Mode {
|
||||||
CompileFail,
|
CompileFail,
|
||||||
|
ParseFail,
|
||||||
RunFail,
|
RunFail,
|
||||||
RunPass,
|
RunPass,
|
||||||
RunPassValgrind,
|
RunPassValgrind,
|
||||||
|
@ -29,6 +30,7 @@ impl FromStr for Mode {
|
||||||
fn from_str(s: &str) -> Result<Mode, ()> {
|
fn from_str(s: &str) -> Result<Mode, ()> {
|
||||||
match s {
|
match s {
|
||||||
"compile-fail" => Ok(CompileFail),
|
"compile-fail" => Ok(CompileFail),
|
||||||
|
"parse-fail" => Ok(ParseFail),
|
||||||
"run-fail" => Ok(RunFail),
|
"run-fail" => Ok(RunFail),
|
||||||
"run-pass" => Ok(RunPass),
|
"run-pass" => Ok(RunPass),
|
||||||
"run-pass-valgrind" => Ok(RunPassValgrind),
|
"run-pass-valgrind" => Ok(RunPassValgrind),
|
||||||
|
@ -45,6 +47,7 @@ impl fmt::Display for Mode {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
fmt::Display::fmt(match *self {
|
fmt::Display::fmt(match *self {
|
||||||
CompileFail => "compile-fail",
|
CompileFail => "compile-fail",
|
||||||
|
ParseFail => "parse-fail",
|
||||||
RunFail => "run-fail",
|
RunFail => "run-fail",
|
||||||
RunPass => "run-pass",
|
RunPass => "run-pass",
|
||||||
RunPassValgrind => "run-pass-valgrind",
|
RunPassValgrind => "run-pass-valgrind",
|
||||||
|
|
|
@ -72,7 +72,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
|
||||||
reqopt("", "aux-base", "directory to find auxiliary test files", "PATH"),
|
reqopt("", "aux-base", "directory to find auxiliary test files", "PATH"),
|
||||||
reqopt("", "stage-id", "the target-stage identifier", "stageN-TARGET"),
|
reqopt("", "stage-id", "the target-stage identifier", "stageN-TARGET"),
|
||||||
reqopt("", "mode", "which sort of compile tests to run",
|
reqopt("", "mode", "which sort of compile tests to run",
|
||||||
"(compile-fail|run-fail|run-pass|run-pass-valgrind|pretty|debug-info)"),
|
"(compile-fail|parse-fail|run-fail|run-pass|run-pass-valgrind|pretty|debug-info)"),
|
||||||
optflag("", "ignored", "run tests marked as ignored"),
|
optflag("", "ignored", "run tests marked as ignored"),
|
||||||
optopt("", "runtool", "supervisor program to run tests under \
|
optopt("", "runtool", "supervisor program to run tests under \
|
||||||
(eg. emulator, valgrind)", "PROGRAM"),
|
(eg. emulator, valgrind)", "PROGRAM"),
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
use self::TargetLocation::*;
|
use self::TargetLocation::*;
|
||||||
|
|
||||||
use common::Config;
|
use common::Config;
|
||||||
use common::{CompileFail, Pretty, RunFail, RunPass, RunPassValgrind, DebugInfoGdb};
|
use common::{CompileFail, ParseFail, Pretty, RunFail, RunPass, RunPassValgrind, DebugInfoGdb};
|
||||||
use common::{Codegen, DebugInfoLldb};
|
use common::{Codegen, DebugInfoLldb};
|
||||||
use errors;
|
use errors;
|
||||||
use header::TestProps;
|
use header::TestProps;
|
||||||
|
@ -66,6 +66,7 @@ pub fn run_metrics(config: Config, testfile: String, mm: &mut MetricMap) {
|
||||||
debug!("loaded props");
|
debug!("loaded props");
|
||||||
match config.mode {
|
match config.mode {
|
||||||
CompileFail => run_cfail_test(&config, &props, &testfile),
|
CompileFail => run_cfail_test(&config, &props, &testfile),
|
||||||
|
ParseFail => run_cfail_test(&config, &props, &testfile),
|
||||||
RunFail => run_rfail_test(&config, &props, &testfile),
|
RunFail => run_rfail_test(&config, &props, &testfile),
|
||||||
RunPass => run_rpass_test(&config, &props, &testfile),
|
RunPass => run_rpass_test(&config, &props, &testfile),
|
||||||
RunPassValgrind => run_valgrind_test(&config, &props, &testfile),
|
RunPassValgrind => run_valgrind_test(&config, &props, &testfile),
|
||||||
|
@ -88,7 +89,7 @@ fn run_cfail_test(config: &Config, props: &TestProps, testfile: &Path) {
|
||||||
let proc_res = compile_test(config, props, testfile);
|
let proc_res = compile_test(config, props, testfile);
|
||||||
|
|
||||||
if proc_res.status.success() {
|
if proc_res.status.success() {
|
||||||
fatal_proc_rec("compile-fail test compiled successfully!",
|
fatal_proc_rec(&format!("{} test compiled successfully!", config.mode)[],
|
||||||
&proc_res);
|
&proc_res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue