Skip to content

Commit

Permalink
implement "only-<platforms>" for test headers
Browse files Browse the repository at this point in the history
This patch implements "only-<platforms>" for tests headers using which one can
specify just the platforms on which the test should run rather than listing all
the platforms to ignore using "ignore-<platforms>".

This is a fix for issues #33581 and #47459.
  • Loading branch information
Pulkit07 committed Jan 16, 2018
1 parent 79a521b commit fd075c6
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/tools/compiletest/src/header.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ impl EarlyProps {
props.ignore =
props.ignore ||
config.parse_cfg_name_directive(ln, "ignore") ||
(config.parse_cfg_prefix(ln, "only") &&
!config.parse_cfg_name_directive(ln, "only")) ||
ignore_gdb(config, ln) ||
ignore_lldb(config, ln) ||
ignore_llvm(config, ln);
Expand Down Expand Up @@ -564,6 +566,17 @@ impl Config {
}
}

fn parse_cfg_prefix(&self, line: &str, prefix: &str) -> bool {
// returns whether this line contains this prefix or not. For prefix
// "ignore", returns true if line says "ignore-x86_64", "ignore-arch",
// "ignore-andorid" etc.
if line.starts_with(prefix) && line.as_bytes().get(prefix.len()) == Some(&b'-') {
true
} else {
false
}
}

fn parse_name_directive(&self, line: &str, directive: &str) -> bool {
// Ensure the directive is a whole word. Do not match "ignore-x86" when
// the line says "ignore-x86_64".
Expand Down

0 comments on commit fd075c6

Please sign in to comment.