X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Ftools%2Fcompiletest%2Fsrc%2Fruntest.rs;h=19ddcf3a01091d5decb2d094b33e7b29c1054349;hb=7b7c22382759f283c7b203564911937aee270158;hp=d85558ea2f5f0cd6c36623f7ca2a802050368e0d;hpb=977df43c4a7fae07a5623ad851190181a274b54d;p=rust.git diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index d85558ea2f5..19ddcf3a010 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -1775,6 +1775,11 @@ fn build_auxiliary(&self, source_path: &str, aux_dir: &Path) -> bool { let mut aux_rustc = aux_cx.make_compile_args(input_file, aux_output, EmitMetadata::No, AllowUnused::No); + for key in &aux_props.unset_rustc_env { + aux_rustc.env_remove(key); + } + aux_rustc.envs(aux_props.rustc_env.clone()); + let (dylib, crate_type) = if aux_props.no_prefer_dynamic { (true, None) } else if self.config.target.contains("cloudabi") @@ -1937,6 +1942,7 @@ fn make_compile_args( } rustc.arg("-Zui-testing"); rustc.arg("-Zdeduplicate-diagnostics=no"); + rustc.arg("-Zemit-future-incompat-report"); } MirOpt => { rustc.args(&[ @@ -2973,6 +2979,7 @@ fn run_ui_test(&self) { self.prune_duplicate_outputs(&modes_to_prune); let mut errors = self.load_compare_outputs(&proc_res, TestOutput::Compile, explicit); + let rustfix_input = json::rustfix_diagnostics_only(&proc_res.stderr); if self.config.compare_mode.is_some() { // don't test rustfix with nll right now @@ -2983,7 +2990,7 @@ fn run_ui_test(&self) { // This will return an empty `Vec` in case the executed test file has a // `compile-flags: --error-format=xxxx` header with a value other than `json`. let suggestions = get_suggestions_from_json( - &proc_res.stderr, + &rustfix_input, &HashSet::new(), Filter::MachineApplicableOnly, ) @@ -3010,7 +3017,7 @@ fn run_ui_test(&self) { // Apply suggestions from rustc to the code itself let unfixed_code = self.load_expected_output_from_path(&self.testpaths.file).unwrap(); let suggestions = get_suggestions_from_json( - &proc_res.stderr, + &rustfix_input, &HashSet::new(), if self.props.rustfix_only_machine_applicable { Filter::MachineApplicableOnly @@ -3116,7 +3123,9 @@ fn run_ui_test(&self) { self.fatal_proc_rec("failed to compile fixed code", &res); } if !res.stderr.is_empty() && !self.props.rustfix_only_machine_applicable { - self.fatal_proc_rec("fixed code is still producing diagnostics", &res); + if !json::rustfix_diagnostics_only(&res.stderr).is_empty() { + self.fatal_proc_rec("fixed code is still producing diagnostics", &res); + } } } }