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.
This commit is contained in:
Joshua Nelson 2022-07-31 18:25:09 -05:00
parent e5a7d8f945
commit f8ed52f6fd
3 changed files with 5 additions and 14 deletions

View File

@ -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,

View File

@ -115,7 +115,6 @@ pub enum Subcommand {
compare_mode: Option<String>,
pass: Option<String>,
run: Option<String>,
skip: Vec<String>,
test_args: Vec<String>,
rustc_args: Vec<String>,
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()))

View File

@ -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[..],