From f8ed52f6fda7fea1e7045d4f5d9907ffaff6c392 Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Sun, 31 Jul 2022 18:25:09 -0500 Subject: [PATCH] Move `x test --skip` to be part of `--exclude` `--skip` is inconsistent with the rest of the interface and redundant with `--exclude`. Fix --exclude to work properly for files and directories rather than having a separate flag. If someone needs to use --skip for something other than compiletest, they can use `--test-args --skip` instead. --- src/bootstrap/builder/tests.rs | 2 -- src/bootstrap/flags.rs | 12 ------------ src/bootstrap/test.rs | 5 +++++ 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs index c084e77d3a9..280eba75f0c 100644 --- a/src/bootstrap/builder/tests.rs +++ b/src/bootstrap/builder/tests.rs @@ -547,7 +547,6 @@ fn test_with_no_doc_stage0() { config.stage = 0; config.cmd = Subcommand::Test { paths: vec!["library/std".into()], - skip: vec![], test_args: vec![], rustc_args: vec![], fail_fast: true, @@ -618,7 +617,6 @@ fn test_docs() { let mut config = configure(&["A"], &["A"]); config.cmd = Subcommand::Test { paths: vec![], - skip: vec![], test_args: vec![], rustc_args: vec![], fail_fast: true, diff --git a/src/bootstrap/flags.rs b/src/bootstrap/flags.rs index 80b3bcce860..39d9ce1621b 100644 --- a/src/bootstrap/flags.rs +++ b/src/bootstrap/flags.rs @@ -115,7 +115,6 @@ pub enum Subcommand { compare_mode: Option, pass: Option, run: Option, - skip: Vec, test_args: Vec, rustc_args: Vec, fail_fast: bool, @@ -568,7 +567,6 @@ pub fn parse(args: &[String]) -> Flags { compare_mode: matches.opt_str("compare-mode"), pass: matches.opt_str("pass"), run: matches.opt_str("run"), - skip: matches.opt_strs("skip"), test_args: matches.opt_strs("test-args"), rustc_args: matches.opt_strs("rustc-args"), fail_fast: !matches.opt_present("no-fail-fast"), @@ -707,16 +705,6 @@ pub fn kind(&self) -> Kind { pub fn test_args(&self) -> Vec<&str> { let mut args = vec![]; - match *self { - Subcommand::Test { ref skip, .. } => { - for s in skip { - args.push("--skip"); - args.push(s.as_str()); - } - } - _ => (), - }; - match *self { Subcommand::Test { ref test_args, .. } | Subcommand::Bench { ref test_args, .. } => { args.extend(test_args.iter().flat_map(|s| s.split_whitespace())) diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index 5c8034d53e3..fdd4a59bfcf 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs @@ -1488,6 +1488,11 @@ fn run(self, builder: &Builder<'_>) { cmd.arg("--run-clang-based-tests-with").arg(clang_exe); } + for exclude in &builder.config.exclude { + cmd.arg("--skip"); + cmd.arg(&exclude.path); + } + // Get paths from cmd args let paths = match &builder.config.cmd { Subcommand::Test { ref paths, .. } => &paths[..],