diff options
| author | Santiago Pastorino <spastorino@gmail.com> | 2018-01-18 19:44:41 -0300 |
|---|---|---|
| committer | Santiago Pastorino <spastorino@gmail.com> | 2018-01-19 00:59:45 -0300 |
| commit | db41f1e1cfa0d817a96830fecbdcf70d249597e7 (patch) | |
| tree | 884810e9428511749f14306c61809c4836b2bf3a /src/bootstrap | |
| parent | 44afd76788df1a63fcd3fe19815eb28dbe9c2bf7 (diff) | |
| download | rust-db41f1e1cfa0d817a96830fecbdcf70d249597e7.tar.gz rust-db41f1e1cfa0d817a96830fecbdcf70d249597e7.zip | |
Add rustc-args option to test runner
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/check.rs | 1 | ||||
| -rw-r--r-- | src/bootstrap/flags.rs | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs index ed110762cb3..a8a1f871cf5 100644 --- a/src/bootstrap/check.rs +++ b/src/bootstrap/check.rs @@ -750,6 +750,7 @@ impl Step for Compiletest { flags.push("-g".to_string()); } flags.push("-Zmiri -Zunstable-options".to_string()); + flags.push(build.config.cmd.rustc_args().join(" ")); if let Some(linker) = build.linker(target) { cmd.arg("--linker").arg(linker); diff --git a/src/bootstrap/flags.rs b/src/bootstrap/flags.rs index b5d51598fab..0816c4dfe3d 100644 --- a/src/bootstrap/flags.rs +++ b/src/bootstrap/flags.rs @@ -54,6 +54,7 @@ pub enum Subcommand { Test { paths: Vec<PathBuf>, test_args: Vec<String>, + rustc_args: Vec<String>, fail_fast: bool, }, Bench { @@ -150,6 +151,12 @@ To learn more about a subcommand, run `./x.py <subcommand> -h`"); "test" => { opts.optflag("", "no-fail-fast", "Run all tests regardless of failure"); opts.optmulti("", "test-args", "extra arguments", "ARGS"); + opts.optmulti( + "", + "rustc-args", + "extra options to pass the compiler when running tests", + "ARGS", + ); }, "bench" => { opts.optmulti("", "test-args", "extra arguments", "ARGS"); }, "clean" => { opts.optflag("", "all", "clean all build artifacts"); }, @@ -283,6 +290,7 @@ Arguments: Subcommand::Test { paths, test_args: matches.opt_strs("test-args"), + rustc_args: matches.opt_strs("rustc-args"), fail_fast: !matches.opt_present("no-fail-fast"), } } @@ -362,6 +370,15 @@ impl Subcommand { } } + pub fn rustc_args(&self) -> Vec<&str> { + match *self { + Subcommand::Test { ref rustc_args, .. } => { + rustc_args.iter().flat_map(|s| s.split_whitespace()).collect() + } + _ => Vec::new(), + } + } + pub fn fail_fast(&self) -> bool { match *self { Subcommand::Test { fail_fast, .. } => fail_fast, |
