mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-31 06:22:00 +00:00
add has_enzyme/needs-enzyme to the test infra
This commit is contained in:
parent
42ff2eedb0
commit
bc2a913a9b
@ -1792,6 +1792,10 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
|
||||
cmd.arg("--host").arg(&*compiler.host.triple);
|
||||
cmd.arg("--llvm-filecheck").arg(builder.llvm_filecheck(builder.config.build));
|
||||
|
||||
if builder.build.config.llvm_enzyme {
|
||||
cmd.arg("--has-enzyme");
|
||||
}
|
||||
|
||||
if builder.config.cmd.bless() {
|
||||
cmd.arg("--bless");
|
||||
}
|
||||
|
@ -139,6 +139,7 @@ const KNOWN_DIRECTIVE_NAMES: &[&str] = &[
|
||||
"needs-deterministic-layouts",
|
||||
"needs-dlltool",
|
||||
"needs-dynamic-linking",
|
||||
"needs-enzyme",
|
||||
"needs-force-clang-based-tests",
|
||||
"needs-git-hash",
|
||||
"needs-llvm-components",
|
||||
|
@ -349,6 +349,9 @@ pub struct Config {
|
||||
/// whether to run `tidy` when a rustdoc test fails
|
||||
pub has_tidy: bool,
|
||||
|
||||
/// whether to run `enzyme` autodiff tests
|
||||
pub has_enzyme: bool,
|
||||
|
||||
/// The current Rust channel
|
||||
pub channel: String,
|
||||
|
||||
|
@ -218,6 +218,8 @@ pub struct TestProps {
|
||||
pub filecheck_flags: Vec<String>,
|
||||
/// Don't automatically insert any `--check-cfg` args
|
||||
pub no_auto_check_cfg: bool,
|
||||
/// Run tests which require enzyme being build
|
||||
pub has_enzyme: bool,
|
||||
}
|
||||
|
||||
mod directives {
|
||||
@ -322,6 +324,7 @@ impl TestProps {
|
||||
llvm_cov_flags: vec![],
|
||||
filecheck_flags: vec![],
|
||||
no_auto_check_cfg: false,
|
||||
has_enzyme: false,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,6 +79,11 @@ pub(super) fn handle_needs(
|
||||
condition: cache.sanitizer_safestack,
|
||||
ignore_reason: "ignored on targets without SafeStack support",
|
||||
},
|
||||
Need {
|
||||
name: "needs-enzyme",
|
||||
condition: config.has_enzyme,
|
||||
ignore_reason: "ignored when LLVM Enzyme is disabled",
|
||||
},
|
||||
Need {
|
||||
name: "needs-run-enabled",
|
||||
condition: config.run_enabled(),
|
||||
|
@ -83,6 +83,7 @@ pub fn parse_config(args: Vec<String>) -> Config {
|
||||
)
|
||||
.optopt("", "run", "whether to execute run-* tests", "auto | always | never")
|
||||
.optflag("", "ignored", "run tests marked as ignored")
|
||||
.optflag("", "has-enzyme", "run tests that require enzyme")
|
||||
.optflag("", "with-debug-assertions", "whether to run tests with `ignore-debug` header")
|
||||
.optmulti(
|
||||
"",
|
||||
@ -233,6 +234,7 @@ pub fn parse_config(args: Vec<String>) -> Config {
|
||||
// Avoid spawning an external command when we know tidy won't be used.
|
||||
false
|
||||
};
|
||||
let has_enzyme = matches.opt_present("has-enzyme");
|
||||
let filters = if mode == Mode::RunMake {
|
||||
matches
|
||||
.free
|
||||
@ -331,6 +333,7 @@ pub fn parse_config(args: Vec<String>) -> Config {
|
||||
.map(|s| s.parse().expect("invalid --compare-mode provided")),
|
||||
rustfix_coverage: matches.opt_present("rustfix-coverage"),
|
||||
has_tidy,
|
||||
has_enzyme,
|
||||
channel: matches.opt_str("channel").unwrap(),
|
||||
git_hash: matches.opt_present("git-hash"),
|
||||
edition: matches.opt_str("edition"),
|
||||
|
Loading…
Reference in New Issue
Block a user