ci: Only run compare-mode tests on one builder

The run-pass test suite currently takes 30 minutes on Windows, and
that appears to be roughly split between two 15 minute runs of the test
suite: one without NLL and one with NLL. In discussion on Discord the
platform coverage of the NLL compare mode may not necessarily be worth
it, so this commit removes the NLL compare mode from tests by default,
and then reenables it on only one builder.
This commit is contained in:
Alex Crichton 2018-11-30 14:31:04 -08:00
parent d09466ceb1
commit 8ee62bb239
4 changed files with 18 additions and 2 deletions

View File

@ -400,6 +400,11 @@
# override the default allocator for rustc and LLVM. # override the default allocator for rustc and LLVM.
#jemalloc = false #jemalloc = false
# Run tests in various test suites with the "nll compare mode" in addition to
# running the tests in normal mode. Largely only used on CI and during local
# development of NLL
#test-compare-mode = false
# ============================================================================= # =============================================================================
# Options for specific targets # Options for specific targets
# #

View File

@ -58,6 +58,7 @@ pub struct Config {
pub ignore_git: bool, pub ignore_git: bool,
pub exclude: Vec<PathBuf>, pub exclude: Vec<PathBuf>,
pub rustc_error_format: Option<String>, pub rustc_error_format: Option<String>,
pub test_compare_mode: bool,
pub run_host_only: bool, pub run_host_only: bool,
@ -326,6 +327,7 @@ struct Rust {
verify_llvm_ir: Option<bool>, verify_llvm_ir: Option<bool>,
remap_debuginfo: Option<bool>, remap_debuginfo: Option<bool>,
jemalloc: Option<bool>, jemalloc: Option<bool>,
test_compare_mode: Option<bool>,
} }
/// TOML representation of how each build target is configured. /// TOML representation of how each build target is configured.
@ -540,6 +542,7 @@ impl Config {
set(&mut config.codegen_tests, rust.codegen_tests); set(&mut config.codegen_tests, rust.codegen_tests);
set(&mut config.rust_rpath, rust.rpath); set(&mut config.rust_rpath, rust.rpath);
set(&mut config.jemalloc, rust.jemalloc); set(&mut config.jemalloc, rust.jemalloc);
set(&mut config.test_compare_mode, rust.test_compare_mode);
set(&mut config.backtrace, rust.backtrace); set(&mut config.backtrace, rust.backtrace);
set(&mut config.channel, rust.channel.clone()); set(&mut config.channel, rust.channel.clone());
set(&mut config.rust_dist_src, rust.dist_src); set(&mut config.rust_dist_src, rust.dist_src);

View File

@ -1022,7 +1022,13 @@ impl Step for Compiletest {
cmd.arg("--bless"); cmd.arg("--bless");
} }
let compare_mode = builder.config.cmd.compare_mode().or(self.compare_mode); let compare_mode = builder.config.cmd.compare_mode().or_else(|| {
if builder.config.test_compare_mode {
self.compare_mode
} else {
None
}
});
if let Some(ref nodejs) = builder.config.nodejs { if let Some(ref nodejs) = builder.config.nodejs {
cmd.arg("--nodejs").arg(nodejs); cmd.arg("--nodejs").arg(nodejs);

View File

@ -16,5 +16,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
COPY scripts/sccache.sh /scripts/ COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh RUN sh /scripts/sccache.sh
ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu --disable-optimize-tests ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu \
--disable-optimize-tests \
--set rust.test-compare-mode
ENV RUST_CHECK_TARGET check ENV RUST_CHECK_TARGET check