Auto merge of #115471 - RalfJung:skipping-sanity, r=onur-ozkan

also skip musl checks when BOOTSTRAP_SKIP_TARGET_SANITY is set

Currently I cannot test musl targets in Miri via x.py; this PR fixes that.
This commit is contained in:
bors 2023-09-02 20:14:37 +00:00
commit 9f5fc1bd44

View File

@ -62,6 +62,9 @@ pub fn must_have<S: AsRef<OsStr>>(&mut self, cmd: S) -> PathBuf {
} }
pub fn check(build: &mut Build) { pub fn check(build: &mut Build) {
let skip_target_sanity =
env::var_os("BOOTSTRAP_SKIP_TARGET_SANITY").is_some_and(|s| s == "1" || s == "true");
let path = env::var_os("PATH").unwrap_or_default(); let path = env::var_os("PATH").unwrap_or_default();
// On Windows, quotes are invalid characters for filename paths, and if // On Windows, quotes are invalid characters for filename paths, and if
// one is present as part of the PATH then that can lead to the system // one is present as part of the PATH then that can lead to the system
@ -166,7 +169,7 @@ pub fn check(build: &mut Build) {
// FIXME: it would be better to refactor this code to split necessary setup from pure sanity // FIXME: it would be better to refactor this code to split necessary setup from pure sanity
// checks, and have a regular flag for skipping the latter. Also see // checks, and have a regular flag for skipping the latter. Also see
// <https://github.com/rust-lang/rust/pull/103569#discussion_r1008741742>. // <https://github.com/rust-lang/rust/pull/103569#discussion_r1008741742>.
if env::var_os("BOOTSTRAP_SKIP_TARGET_SANITY").is_some() { if skip_target_sanity {
continue; continue;
} }
@ -205,7 +208,15 @@ pub fn check(build: &mut Build) {
} }
} }
// Make sure musl-root is valid // Some environments don't want or need these tools, such as when testing Miri.
// FIXME: it would be better to refactor this code to split necessary setup from pure sanity
// checks, and have a regular flag for skipping the latter. Also see
// <https://github.com/rust-lang/rust/pull/103569#discussion_r1008741742>.
if skip_target_sanity {
continue;
}
// Make sure musl-root is valid.
if target.contains("musl") && !target.contains("unikraft") { if target.contains("musl") && !target.contains("unikraft") {
// If this is a native target (host is also musl) and no musl-root is given, // If this is a native target (host is also musl) and no musl-root is given,
// fall back to the system toolchain in /usr before giving up // fall back to the system toolchain in /usr before giving up
@ -227,14 +238,6 @@ pub fn check(build: &mut Build) {
} }
} }
// Some environments don't want or need these tools, such as when testing Miri.
// FIXME: it would be better to refactor this code to split necessary setup from pure sanity
// checks, and have a regular flag for skipping the latter. Also see
// <https://github.com/rust-lang/rust/pull/103569#discussion_r1008741742>.
if env::var_os("BOOTSTRAP_SKIP_TARGET_SANITY").is_some() {
continue;
}
if need_cmake && target.contains("msvc") { if need_cmake && target.contains("msvc") {
// There are three builds of cmake on windows: MSVC, MinGW, and // There are three builds of cmake on windows: MSVC, MinGW, and
// Cygwin. The Cygwin build does not have generators for Visual // Cygwin. The Cygwin build does not have generators for Visual