Auto merge of #106053 - compiler-errors:incr-test-revision, r=Mark-Simulacrum
Take revision into account in non-incremental-mode `// incremental` tests A UI test I added in #105983 confusingly [failed](https://github.com/rust-lang/rust/pull/106031#issuecomment-1362558067) in a merge because two different revisions raced with each other for the same incremental directory for a (non-incremental-mode, i.e. `src/test/ui`) UI test. Let's take the revision name into account when generating an incremental directory so that other UI tests that combine `// incremental` and `// revisions` won't race and cause possible flakiness in CI.
This commit is contained in:
commit
62cc869245
@ -617,6 +617,6 @@ pub fn output_base_name(config: &Config, testpaths: &TestPaths, revision: Option
|
|||||||
|
|
||||||
/// Absolute path to the directory to use for incremental compilation. Example:
|
/// Absolute path to the directory to use for incremental compilation. Example:
|
||||||
/// /path/to/build/host-triple/test/ui/relative/testname.mode/testname.inc
|
/// /path/to/build/host-triple/test/ui/relative/testname.mode/testname.inc
|
||||||
pub fn incremental_dir(config: &Config, testpaths: &TestPaths) -> PathBuf {
|
pub fn incremental_dir(config: &Config, testpaths: &TestPaths, revision: Option<&str>) -> PathBuf {
|
||||||
output_base_name(config, testpaths, None).with_extension("inc")
|
output_base_name(config, testpaths, revision).with_extension("inc")
|
||||||
}
|
}
|
||||||
|
@ -117,8 +117,12 @@ pub fn run(config: Config, testpaths: &TestPaths, revision: Option<&str>) {
|
|||||||
}
|
}
|
||||||
debug!("running {:?}", testpaths.file.display());
|
debug!("running {:?}", testpaths.file.display());
|
||||||
let mut props = TestProps::from_file(&testpaths.file, revision, &config);
|
let mut props = TestProps::from_file(&testpaths.file, revision, &config);
|
||||||
|
|
||||||
|
// For non-incremental (i.e. regular UI) tests, the incremental directory
|
||||||
|
// takes into account the revision name, since the revisions are independent
|
||||||
|
// of each other and can race.
|
||||||
if props.incremental {
|
if props.incremental {
|
||||||
props.incremental_dir = Some(incremental_dir(&config, testpaths));
|
props.incremental_dir = Some(incremental_dir(&config, testpaths, revision));
|
||||||
}
|
}
|
||||||
|
|
||||||
let cx = TestCx { config: &config, props: &props, testpaths, revision };
|
let cx = TestCx { config: &config, props: &props, testpaths, revision };
|
||||||
|
Loading…
Reference in New Issue
Block a user