Skip to content

Commit

Permalink
Skip test download_ci_llvm with modified LLVM
Browse files Browse the repository at this point in the history
  • Loading branch information
cuviper committed Feb 28, 2023
1 parent 313f04f commit 565de58
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
5 changes: 5 additions & 0 deletions src/bootstrap/config/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ fn parse(config: &str) -> Config {

#[test]
fn download_ci_llvm() {
if crate::native::is_ci_llvm_modified(&parse("")) {
eprintln!("Detected LLVM as non-available: running in CI and modified LLVM in this change");
return;
}

let parse_llvm = |s| parse(s).llvm_from_ci;
let if_available = parse_llvm("llvm.download-ci-llvm = \"if-available\"");

Expand Down
21 changes: 12 additions & 9 deletions src/bootstrap/native.rs
Original file line number Diff line number Diff line change
Expand Up @@ -216,21 +216,24 @@ pub(crate) fn is_ci_llvm_available(config: &Config, asserts: bool) -> bool {
}
}

if CiEnv::is_ci() {
if is_ci_llvm_modified(config) {
eprintln!("Detected LLVM as non-available: running in CI and modified LLVM in this change");
return false;
}

true
}

/// Returns true if we're running in CI with modified LLVM (and thus can't download it)
pub(crate) fn is_ci_llvm_modified(config: &Config) -> bool {
CiEnv::is_ci() && {
// We assume we have access to git, so it's okay to unconditionally pass
// `true` here.
let llvm_sha = detect_llvm_sha(config, true);
let head_sha = output(config.git().arg("rev-parse").arg("HEAD"));
let head_sha = head_sha.trim();
if llvm_sha == head_sha {
eprintln!(
"Detected LLVM as non-available: running in CI and modified LLVM in this change"
);
return false;
}
llvm_sha == head_sha
}

true
}

#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
Expand Down

0 comments on commit 565de58

Please sign in to comment.