diff --git a/configure b/configure index ec1e741fb9c..d1b27a96f93 100755 --- a/configure +++ b/configure @@ -1056,6 +1056,7 @@ do make_dir $h/test/run-pass-fulldeps make_dir $h/test/run-fail make_dir $h/test/compile-fail + make_dir $h/test/parse-fail make_dir $h/test/compile-fail-fulldeps make_dir $h/test/bench make_dir $h/test/perf diff --git a/mk/tests.mk b/mk/tests.mk index d8597724370..692d28bfad3 100644 --- a/mk/tests.mk +++ b/mk/tests.mk @@ -174,12 +174,12 @@ check-notidy: cleantmptestlogs cleantestlibs all check-stage2 check-lite: cleantestlibs cleantmptestlogs \ $(foreach crate,$(TEST_TARGET_CRATES),check-stage2-$(crate)) \ 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 # Only check the 'reference' tests: rpass/cfail/rfail/rmake. 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 # 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)-rfail-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-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) CFAIL_FULL_TESTS := $(CFAIL_FULL_RS) RFAIL_TESTS := $(RFAIL_RS) -CFAIL_TESTS := $(CFAIL_RS) $(PFAIL_RS) +CFAIL_TESTS := $(CFAIL_RS) +PFAIL_TESTS := $(PFAIL_RS) BENCH_TESTS := $(BENCH_RS) PERF_TESTS := $(PERF_RS) PRETTY_TESTS := $(PRETTY_RS) @@ -508,6 +510,11 @@ CTEST_BUILD_BASE_cfail = compile-fail CTEST_MODE_cfail = compile-fail 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_BUILD_BASE_bench = bench 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_rfail_$(1)-T-$(2)-H-$(3) = $$(RFAIL_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_perf_$(1)-T-$(2)-H-$(3) = $$(PERF_TESTS) CTEST_DEPS_debuginfo-gdb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_GDB_TESTS) @@ -698,7 +706,7 @@ endif 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), \ $(eval $(foreach target,$(CFG_TARGET), \ @@ -857,6 +865,7 @@ TEST_GROUPS = \ cfail-full \ rfail \ cfail \ + pfail \ bench \ perf \ rmake \ diff --git a/src/compiletest/common.rs b/src/compiletest/common.rs index df2981a6c83..2c046d25279 100644 --- a/src/compiletest/common.rs +++ b/src/compiletest/common.rs @@ -15,6 +15,7 @@ use std::str::FromStr; #[derive(Clone, Copy, PartialEq, Debug)] pub enum Mode { CompileFail, + ParseFail, RunFail, RunPass, RunPassValgrind, @@ -29,6 +30,7 @@ impl FromStr for Mode { fn from_str(s: &str) -> Result { match s { "compile-fail" => Ok(CompileFail), + "parse-fail" => Ok(ParseFail), "run-fail" => Ok(RunFail), "run-pass" => Ok(RunPass), "run-pass-valgrind" => Ok(RunPassValgrind), @@ -45,6 +47,7 @@ impl fmt::Display for Mode { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { fmt::Display::fmt(match *self { CompileFail => "compile-fail", + ParseFail => "parse-fail", RunFail => "run-fail", RunPass => "run-pass", RunPassValgrind => "run-pass-valgrind", diff --git a/src/compiletest/compiletest.rs b/src/compiletest/compiletest.rs index 86710d50d8a..7f80458de33 100644 --- a/src/compiletest/compiletest.rs +++ b/src/compiletest/compiletest.rs @@ -72,7 +72,7 @@ pub fn parse_config(args: Vec ) -> Config { reqopt("", "aux-base", "directory to find auxiliary test files", "PATH"), reqopt("", "stage-id", "the target-stage identifier", "stageN-TARGET"), 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"), optopt("", "runtool", "supervisor program to run tests under \ (eg. emulator, valgrind)", "PROGRAM"), diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs index 658c0cb3f4e..ce61e2fc00e 100644 --- a/src/compiletest/runtest.rs +++ b/src/compiletest/runtest.rs @@ -11,7 +11,7 @@ use self::TargetLocation::*; 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 errors; use header::TestProps; @@ -66,6 +66,7 @@ pub fn run_metrics(config: Config, testfile: String, mm: &mut MetricMap) { debug!("loaded props"); match config.mode { CompileFail => run_cfail_test(&config, &props, &testfile), + ParseFail => run_cfail_test(&config, &props, &testfile), RunFail => run_rfail_test(&config, &props, &testfile), RunPass => run_rpass_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); if proc_res.status.success() { - fatal_proc_rec("compile-fail test compiled successfully!", + fatal_proc_rec(&format!("{} test compiled successfully!", config.mode)[], &proc_res); } diff --git a/src/test/parse-fail/mod_file_disambig.rs b/src/test/compile-fail/mod_file_disambig.rs similarity index 100% rename from src/test/parse-fail/mod_file_disambig.rs rename to src/test/compile-fail/mod_file_disambig.rs diff --git a/src/test/parse-fail/mod_file_not_owning.rs b/src/test/compile-fail/mod_file_not_owning.rs similarity index 100% rename from src/test/parse-fail/mod_file_not_owning.rs rename to src/test/compile-fail/mod_file_not_owning.rs diff --git a/src/test/compile-fail/ascii-only-character-escape.rs b/src/test/parse-fail/ascii-only-character-escape.rs similarity index 100% rename from src/test/compile-fail/ascii-only-character-escape.rs rename to src/test/parse-fail/ascii-only-character-escape.rs diff --git a/src/test/compile-fail/attr-before-eof.rs b/src/test/parse-fail/attr-before-eof.rs similarity index 100% rename from src/test/compile-fail/attr-before-eof.rs rename to src/test/parse-fail/attr-before-eof.rs diff --git a/src/test/compile-fail/attr-before-ext.rs b/src/test/parse-fail/attr-before-ext.rs similarity index 100% rename from src/test/compile-fail/attr-before-ext.rs rename to src/test/parse-fail/attr-before-ext.rs diff --git a/src/test/compile-fail/attr-before-let.rs b/src/test/parse-fail/attr-before-let.rs similarity index 100% rename from src/test/compile-fail/attr-before-let.rs rename to src/test/parse-fail/attr-before-let.rs diff --git a/src/test/compile-fail/attr-before-stmt.rs b/src/test/parse-fail/attr-before-stmt.rs similarity index 100% rename from src/test/compile-fail/attr-before-stmt.rs rename to src/test/parse-fail/attr-before-stmt.rs diff --git a/src/test/compile-fail/attr-dangling-in-fn.rs b/src/test/parse-fail/attr-dangling-in-fn.rs similarity index 100% rename from src/test/compile-fail/attr-dangling-in-fn.rs rename to src/test/parse-fail/attr-dangling-in-fn.rs diff --git a/src/test/compile-fail/attr-dangling-in-mod.rs b/src/test/parse-fail/attr-dangling-in-mod.rs similarity index 100% rename from src/test/compile-fail/attr-dangling-in-mod.rs rename to src/test/parse-fail/attr-dangling-in-mod.rs diff --git a/src/test/compile-fail/attr.rs b/src/test/parse-fail/attr.rs similarity index 100% rename from src/test/compile-fail/attr.rs rename to src/test/parse-fail/attr.rs diff --git a/src/test/compile-fail/attrs-after-extern-mod.rs b/src/test/parse-fail/attrs-after-extern-mod.rs similarity index 100% rename from src/test/compile-fail/attrs-after-extern-mod.rs rename to src/test/parse-fail/attrs-after-extern-mod.rs diff --git a/src/test/compile-fail/bad-char-literals.rs b/src/test/parse-fail/bad-char-literals.rs similarity index 100% rename from src/test/compile-fail/bad-char-literals.rs rename to src/test/parse-fail/bad-char-literals.rs diff --git a/src/test/compile-fail/bad-lit-suffixes.rs b/src/test/parse-fail/bad-lit-suffixes.rs similarity index 100% rename from src/test/compile-fail/bad-lit-suffixes.rs rename to src/test/parse-fail/bad-lit-suffixes.rs diff --git a/src/test/compile-fail/bad-value-ident-false.rs b/src/test/parse-fail/bad-value-ident-false.rs similarity index 100% rename from src/test/compile-fail/bad-value-ident-false.rs rename to src/test/parse-fail/bad-value-ident-false.rs diff --git a/src/test/compile-fail/bad-value-ident-true.rs b/src/test/parse-fail/bad-value-ident-true.rs similarity index 100% rename from src/test/compile-fail/bad-value-ident-true.rs rename to src/test/parse-fail/bad-value-ident-true.rs diff --git a/src/test/compile-fail/doc-before-attr.rs b/src/test/parse-fail/doc-before-attr.rs similarity index 100% rename from src/test/compile-fail/doc-before-attr.rs rename to src/test/parse-fail/doc-before-attr.rs diff --git a/src/test/compile-fail/doc-before-eof.rs b/src/test/parse-fail/doc-before-eof.rs similarity index 100% rename from src/test/compile-fail/doc-before-eof.rs rename to src/test/parse-fail/doc-before-eof.rs diff --git a/src/test/compile-fail/doc-before-extern-rbrace.rs b/src/test/parse-fail/doc-before-extern-rbrace.rs similarity index 100% rename from src/test/compile-fail/doc-before-extern-rbrace.rs rename to src/test/parse-fail/doc-before-extern-rbrace.rs diff --git a/src/test/compile-fail/doc-before-macro.rs b/src/test/parse-fail/doc-before-macro.rs similarity index 100% rename from src/test/compile-fail/doc-before-macro.rs rename to src/test/parse-fail/doc-before-macro.rs diff --git a/src/test/compile-fail/doc-before-rbrace.rs b/src/test/parse-fail/doc-before-rbrace.rs similarity index 100% rename from src/test/compile-fail/doc-before-rbrace.rs rename to src/test/parse-fail/doc-before-rbrace.rs diff --git a/src/test/compile-fail/doc-before-semi.rs b/src/test/parse-fail/doc-before-semi.rs similarity index 100% rename from src/test/compile-fail/doc-before-semi.rs rename to src/test/parse-fail/doc-before-semi.rs diff --git a/src/test/compile-fail/extern-crate-as-no-string-help.rs b/src/test/parse-fail/extern-crate-as-no-string-help.rs similarity index 100% rename from src/test/compile-fail/extern-crate-as-no-string-help.rs rename to src/test/parse-fail/extern-crate-as-no-string-help.rs diff --git a/src/test/compile-fail/generic-non-trailing-defaults.rs b/src/test/parse-fail/generic-non-trailing-defaults.rs similarity index 100% rename from src/test/compile-fail/generic-non-trailing-defaults.rs rename to src/test/parse-fail/generic-non-trailing-defaults.rs diff --git a/src/test/compile-fail/int-literal-too-large-span.rs b/src/test/parse-fail/int-literal-too-large-span.rs similarity index 100% rename from src/test/compile-fail/int-literal-too-large-span.rs rename to src/test/parse-fail/int-literal-too-large-span.rs diff --git a/src/test/compile-fail/issue-10412.rs b/src/test/parse-fail/issue-10412.rs similarity index 100% rename from src/test/compile-fail/issue-10412.rs rename to src/test/parse-fail/issue-10412.rs diff --git a/src/test/compile-fail/issue-12560-1.rs b/src/test/parse-fail/issue-12560-1.rs similarity index 100% rename from src/test/compile-fail/issue-12560-1.rs rename to src/test/parse-fail/issue-12560-1.rs diff --git a/src/test/compile-fail/issue-14182.rs b/src/test/parse-fail/issue-14182.rs similarity index 100% rename from src/test/compile-fail/issue-14182.rs rename to src/test/parse-fail/issue-14182.rs diff --git a/src/test/compile-fail/issue-17383.rs b/src/test/parse-fail/issue-17383.rs similarity index 100% rename from src/test/compile-fail/issue-17383.rs rename to src/test/parse-fail/issue-17383.rs diff --git a/src/test/compile-fail/issue-17718-const-mut.rs b/src/test/parse-fail/issue-17718-const-mut.rs similarity index 100% rename from src/test/compile-fail/issue-17718-const-mut.rs rename to src/test/parse-fail/issue-17718-const-mut.rs diff --git a/src/test/compile-fail/issue-1802-2.rs b/src/test/parse-fail/issue-1802-2.rs similarity index 100% rename from src/test/compile-fail/issue-1802-2.rs rename to src/test/parse-fail/issue-1802-2.rs diff --git a/src/test/compile-fail/issue-5544-a.rs b/src/test/parse-fail/issue-5544-a.rs similarity index 100% rename from src/test/compile-fail/issue-5544-a.rs rename to src/test/parse-fail/issue-5544-a.rs diff --git a/src/test/compile-fail/issue-5544-b.rs b/src/test/parse-fail/issue-5544-b.rs similarity index 100% rename from src/test/compile-fail/issue-5544-b.rs rename to src/test/parse-fail/issue-5544-b.rs diff --git a/src/test/compile-fail/issue-8537.rs b/src/test/parse-fail/issue-8537.rs similarity index 100% rename from src/test/compile-fail/issue-8537.rs rename to src/test/parse-fail/issue-8537.rs diff --git a/src/test/compile-fail/keyword-as-as-identifier.rs b/src/test/parse-fail/keyword-as-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-as-as-identifier.rs rename to src/test/parse-fail/keyword-as-as-identifier.rs diff --git a/src/test/compile-fail/keyword-break-as-identifier.rs b/src/test/parse-fail/keyword-break-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-break-as-identifier.rs rename to src/test/parse-fail/keyword-break-as-identifier.rs diff --git a/src/test/compile-fail/keyword-else-as-identifier.rs b/src/test/parse-fail/keyword-else-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-else-as-identifier.rs rename to src/test/parse-fail/keyword-else-as-identifier.rs diff --git a/src/test/compile-fail/keyword-enum-as-identifier.rs b/src/test/parse-fail/keyword-enum-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-enum-as-identifier.rs rename to src/test/parse-fail/keyword-enum-as-identifier.rs diff --git a/src/test/compile-fail/keyword-extern-as-identifier.rs b/src/test/parse-fail/keyword-extern-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-extern-as-identifier.rs rename to src/test/parse-fail/keyword-extern-as-identifier.rs diff --git a/src/test/compile-fail/keyword-fn-as-identifier.rs b/src/test/parse-fail/keyword-fn-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-fn-as-identifier.rs rename to src/test/parse-fail/keyword-fn-as-identifier.rs diff --git a/src/test/compile-fail/keyword-for-as-identifier.rs b/src/test/parse-fail/keyword-for-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-for-as-identifier.rs rename to src/test/parse-fail/keyword-for-as-identifier.rs diff --git a/src/test/compile-fail/keyword-if-as-identifier.rs b/src/test/parse-fail/keyword-if-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-if-as-identifier.rs rename to src/test/parse-fail/keyword-if-as-identifier.rs diff --git a/src/test/compile-fail/keyword-impl-as-identifier.rs b/src/test/parse-fail/keyword-impl-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-impl-as-identifier.rs rename to src/test/parse-fail/keyword-impl-as-identifier.rs diff --git a/src/test/compile-fail/keyword-let-as-identifier.rs b/src/test/parse-fail/keyword-let-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-let-as-identifier.rs rename to src/test/parse-fail/keyword-let-as-identifier.rs diff --git a/src/test/compile-fail/keyword-loop-as-identifier.rs b/src/test/parse-fail/keyword-loop-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-loop-as-identifier.rs rename to src/test/parse-fail/keyword-loop-as-identifier.rs diff --git a/src/test/compile-fail/keyword-match-as-identifier.rs b/src/test/parse-fail/keyword-match-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-match-as-identifier.rs rename to src/test/parse-fail/keyword-match-as-identifier.rs diff --git a/src/test/compile-fail/keyword-mod-as-identifier.rs b/src/test/parse-fail/keyword-mod-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-mod-as-identifier.rs rename to src/test/parse-fail/keyword-mod-as-identifier.rs diff --git a/src/test/compile-fail/keyword-pub-as-identifier.rs b/src/test/parse-fail/keyword-pub-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-pub-as-identifier.rs rename to src/test/parse-fail/keyword-pub-as-identifier.rs diff --git a/src/test/compile-fail/keyword-return-as-identifier.rs b/src/test/parse-fail/keyword-return-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-return-as-identifier.rs rename to src/test/parse-fail/keyword-return-as-identifier.rs diff --git a/src/test/compile-fail/keyword-self-as-identifier.rs b/src/test/parse-fail/keyword-self-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-self-as-identifier.rs rename to src/test/parse-fail/keyword-self-as-identifier.rs diff --git a/src/test/compile-fail/keyword-static-as-identifier.rs b/src/test/parse-fail/keyword-static-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-static-as-identifier.rs rename to src/test/parse-fail/keyword-static-as-identifier.rs diff --git a/src/test/compile-fail/keyword-struct-as-identifier.rs b/src/test/parse-fail/keyword-struct-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-struct-as-identifier.rs rename to src/test/parse-fail/keyword-struct-as-identifier.rs diff --git a/src/test/compile-fail/keyword-super-as-identifier.rs b/src/test/parse-fail/keyword-super-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-super-as-identifier.rs rename to src/test/parse-fail/keyword-super-as-identifier.rs diff --git a/src/test/compile-fail/keyword-super.rs b/src/test/parse-fail/keyword-super.rs similarity index 100% rename from src/test/compile-fail/keyword-super.rs rename to src/test/parse-fail/keyword-super.rs diff --git a/src/test/compile-fail/keyword-trait-as-identifier.rs b/src/test/parse-fail/keyword-trait-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-trait-as-identifier.rs rename to src/test/parse-fail/keyword-trait-as-identifier.rs diff --git a/src/test/compile-fail/keyword-type-as-identifier.rs b/src/test/parse-fail/keyword-type-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-type-as-identifier.rs rename to src/test/parse-fail/keyword-type-as-identifier.rs diff --git a/src/test/compile-fail/keyword-unsafe-as-identifier.rs b/src/test/parse-fail/keyword-unsafe-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-unsafe-as-identifier.rs rename to src/test/parse-fail/keyword-unsafe-as-identifier.rs diff --git a/src/test/compile-fail/keyword-use-as-identifier.rs b/src/test/parse-fail/keyword-use-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-use-as-identifier.rs rename to src/test/parse-fail/keyword-use-as-identifier.rs diff --git a/src/test/compile-fail/keyword-while-as-identifier.rs b/src/test/parse-fail/keyword-while-as-identifier.rs similarity index 100% rename from src/test/compile-fail/keyword-while-as-identifier.rs rename to src/test/parse-fail/keyword-while-as-identifier.rs diff --git a/src/test/compile-fail/keyword.rs b/src/test/parse-fail/keyword.rs similarity index 100% rename from src/test/compile-fail/keyword.rs rename to src/test/parse-fail/keyword.rs diff --git a/src/test/compile-fail/keywords-followed-by-double-colon.rs b/src/test/parse-fail/keywords-followed-by-double-colon.rs similarity index 100% rename from src/test/compile-fail/keywords-followed-by-double-colon.rs rename to src/test/parse-fail/keywords-followed-by-double-colon.rs diff --git a/src/test/compile-fail/lex-bad-numeric-literals.rs b/src/test/parse-fail/lex-bad-numeric-literals.rs similarity index 100% rename from src/test/compile-fail/lex-bad-numeric-literals.rs rename to src/test/parse-fail/lex-bad-numeric-literals.rs diff --git a/src/test/compile-fail/lex-bare-cr-string-literal-doc-comment.rs b/src/test/parse-fail/lex-bare-cr-string-literal-doc-comment.rs similarity index 100% rename from src/test/compile-fail/lex-bare-cr-string-literal-doc-comment.rs rename to src/test/parse-fail/lex-bare-cr-string-literal-doc-comment.rs diff --git a/src/test/compile-fail/lifetime-no-keyword.rs b/src/test/parse-fail/lifetime-no-keyword.rs similarity index 100% rename from src/test/compile-fail/lifetime-no-keyword.rs rename to src/test/parse-fail/lifetime-no-keyword.rs diff --git a/src/test/compile-fail/lifetime-obsoleted-self.rs b/src/test/parse-fail/lifetime-obsoleted-self.rs similarity index 100% rename from src/test/compile-fail/lifetime-obsoleted-self.rs rename to src/test/parse-fail/lifetime-obsoleted-self.rs diff --git a/src/test/compile-fail/macros-no-semicolon-items.rs b/src/test/parse-fail/macros-no-semicolon-items.rs similarity index 100% rename from src/test/compile-fail/macros-no-semicolon-items.rs rename to src/test/parse-fail/macros-no-semicolon-items.rs diff --git a/src/test/compile-fail/no-binary-float-literal.rs b/src/test/parse-fail/no-binary-float-literal.rs similarity index 100% rename from src/test/compile-fail/no-binary-float-literal.rs rename to src/test/parse-fail/no-binary-float-literal.rs diff --git a/src/test/compile-fail/no-hex-float-literal.rs b/src/test/parse-fail/no-hex-float-literal.rs similarity index 100% rename from src/test/compile-fail/no-hex-float-literal.rs rename to src/test/parse-fail/no-hex-float-literal.rs diff --git a/src/test/compile-fail/no-unsafe-self.rs b/src/test/parse-fail/no-unsafe-self.rs similarity index 100% rename from src/test/compile-fail/no-unsafe-self.rs rename to src/test/parse-fail/no-unsafe-self.rs diff --git a/src/test/compile-fail/non-str-meta.rs b/src/test/parse-fail/non-str-meta.rs similarity index 100% rename from src/test/compile-fail/non-str-meta.rs rename to src/test/parse-fail/non-str-meta.rs diff --git a/src/test/compile-fail/obsolete-for-sized.rs b/src/test/parse-fail/obsolete-for-sized.rs similarity index 100% rename from src/test/compile-fail/obsolete-for-sized.rs rename to src/test/parse-fail/obsolete-for-sized.rs diff --git a/src/test/compile-fail/obsolete-proc.rs b/src/test/parse-fail/obsolete-proc.rs similarity index 100% rename from src/test/compile-fail/obsolete-proc.rs rename to src/test/parse-fail/obsolete-proc.rs diff --git a/src/test/compile-fail/qquote-1.rs b/src/test/parse-fail/qquote-1.rs similarity index 100% rename from src/test/compile-fail/qquote-1.rs rename to src/test/parse-fail/qquote-1.rs diff --git a/src/test/compile-fail/qquote-2.rs b/src/test/parse-fail/qquote-2.rs similarity index 100% rename from src/test/compile-fail/qquote-2.rs rename to src/test/parse-fail/qquote-2.rs diff --git a/src/test/compile-fail/regions-fn-bound.rs b/src/test/parse-fail/regions-fn-bound.rs similarity index 100% rename from src/test/compile-fail/regions-fn-bound.rs rename to src/test/parse-fail/regions-fn-bound.rs diff --git a/src/test/compile-fail/require-parens-for-chained-comparison.rs b/src/test/parse-fail/require-parens-for-chained-comparison.rs similarity index 100% rename from src/test/compile-fail/require-parens-for-chained-comparison.rs rename to src/test/parse-fail/require-parens-for-chained-comparison.rs diff --git a/src/test/compile-fail/struct-no-fields-2.rs b/src/test/parse-fail/struct-no-fields-2.rs similarity index 100% rename from src/test/compile-fail/struct-no-fields-2.rs rename to src/test/parse-fail/struct-no-fields-2.rs diff --git a/src/test/compile-fail/struct-no-fields-3.rs b/src/test/parse-fail/struct-no-fields-3.rs similarity index 100% rename from src/test/compile-fail/struct-no-fields-3.rs rename to src/test/parse-fail/struct-no-fields-3.rs diff --git a/src/test/compile-fail/struct-no-fields-4.rs b/src/test/parse-fail/struct-no-fields-4.rs similarity index 100% rename from src/test/compile-fail/struct-no-fields-4.rs rename to src/test/parse-fail/struct-no-fields-4.rs diff --git a/src/test/compile-fail/struct-no-fields-5.rs b/src/test/parse-fail/struct-no-fields-5.rs similarity index 100% rename from src/test/compile-fail/struct-no-fields-5.rs rename to src/test/parse-fail/struct-no-fields-5.rs diff --git a/src/test/compile-fail/struct-variant-no-fields.rs b/src/test/parse-fail/struct-variant-no-fields.rs similarity index 100% rename from src/test/compile-fail/struct-variant-no-fields.rs rename to src/test/parse-fail/struct-variant-no-fields.rs diff --git a/src/test/compile-fail/struct-variant-no-pub.rs b/src/test/parse-fail/struct-variant-no-pub.rs similarity index 100% rename from src/test/compile-fail/struct-variant-no-pub.rs rename to src/test/parse-fail/struct-variant-no-pub.rs diff --git a/src/test/compile-fail/syntax-trait-polarity.rs b/src/test/parse-fail/syntax-trait-polarity.rs similarity index 100% rename from src/test/compile-fail/syntax-trait-polarity.rs rename to src/test/parse-fail/syntax-trait-polarity.rs diff --git a/src/test/compile-fail/tag-variant-disr-non-nullary.rs b/src/test/parse-fail/tag-variant-disr-non-nullary.rs similarity index 100% rename from src/test/compile-fail/tag-variant-disr-non-nullary.rs rename to src/test/parse-fail/tag-variant-disr-non-nullary.rs diff --git a/src/test/compile-fail/trailing-carriage-return-in-string.rs b/src/test/parse-fail/trailing-carriage-return-in-string.rs similarity index 100% rename from src/test/compile-fail/trailing-carriage-return-in-string.rs rename to src/test/parse-fail/trailing-carriage-return-in-string.rs diff --git a/src/test/compile-fail/trailing-plus-in-bounds.rs b/src/test/parse-fail/trailing-plus-in-bounds.rs similarity index 100% rename from src/test/compile-fail/trailing-plus-in-bounds.rs rename to src/test/parse-fail/trailing-plus-in-bounds.rs diff --git a/src/test/compile-fail/trait-bounds-not-on-impl.rs b/src/test/parse-fail/trait-bounds-not-on-impl.rs similarity index 100% rename from src/test/compile-fail/trait-bounds-not-on-impl.rs rename to src/test/parse-fail/trait-bounds-not-on-impl.rs diff --git a/src/test/compile-fail/type-parameters-in-field-exprs.rs b/src/test/parse-fail/type-parameters-in-field-exprs.rs similarity index 100% rename from src/test/compile-fail/type-parameters-in-field-exprs.rs rename to src/test/parse-fail/type-parameters-in-field-exprs.rs diff --git a/src/test/compile-fail/unsized2.rs b/src/test/parse-fail/unsized2.rs similarity index 100% rename from src/test/compile-fail/unsized2.rs rename to src/test/parse-fail/unsized2.rs diff --git a/src/test/compile-fail/virtual-structs.rs b/src/test/parse-fail/virtual-structs.rs similarity index 100% rename from src/test/compile-fail/virtual-structs.rs rename to src/test/parse-fail/virtual-structs.rs diff --git a/src/test/compile-fail/where-clauses-no-bounds-or-predicates.rs b/src/test/parse-fail/where-clauses-no-bounds-or-predicates.rs similarity index 100% rename from src/test/compile-fail/where-clauses-no-bounds-or-predicates.rs rename to src/test/parse-fail/where-clauses-no-bounds-or-predicates.rs