about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-10-13 18:27:22 +0200
committerGitHub <noreply@github.com>2024-10-13 18:27:22 +0200
commit0e00a70e5213db80311bc8ad0f4c1f23e741dd9b (patch)
treefe6131f67a9e2d4815f8a0145ead192af37f60ed
parent20add5185652a3efca27592ca19dca965f246700 (diff)
parentac20242fbba8c2caaa31e9612425a5ba8df3068c (diff)
downloadrust-0e00a70e5213db80311bc8ad0f4c1f23e741dd9b.tar.gz
rust-0e00a70e5213db80311bc8ad0f4c1f23e741dd9b.zip
Rollup merge of #131659 - onur-ozkan:llvm-test, r=albertlarsan68
enable `download_ci_llvm` test

This was ignored because it caused merge failures on [LLVM update PR](https://github.com/rust-lang/rust/pull/131448). The issue was not checking `is_ci_llvm_available` in the test which is crucial for enabling CI LLVM:

https://github.com/rust-lang/rust/blob/2aa26d8a722cf8810b27538c24b93d29324d4ac7/src/bootstrap/src/core/config/config.rs#L2835-L2844
-rw-r--r--src/bootstrap/src/core/config/tests.rs20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/bootstrap/src/core/config/tests.rs b/src/bootstrap/src/core/config/tests.rs
index 9c67010d88d..2611b6cf51b 100644
--- a/src/bootstrap/src/core/config/tests.rs
+++ b/src/bootstrap/src/core/config/tests.rs
@@ -10,6 +10,7 @@ use serde::Deserialize;
 use super::flags::Flags;
 use super::{ChangeIdWrapper, Config};
 use crate::core::build_steps::clippy::get_clippy_rules_in_order;
+use crate::core::build_steps::llvm;
 use crate::core::config::{LldMode, Target, TargetSelection, TomlConfig};
 
 pub(crate) fn parse(config: &str) -> Config {
@@ -19,13 +20,22 @@ pub(crate) fn parse(config: &str) -> Config {
     )
 }
 
-// FIXME: Resume this test after establishing a stabilized change tracking logic.
-#[ignore]
 #[test]
 fn download_ci_llvm() {
-    assert!(parse("").llvm_from_ci);
-    assert!(parse("llvm.download-ci-llvm = true").llvm_from_ci);
-    assert!(!parse("llvm.download-ci-llvm = false").llvm_from_ci);
+    let config = parse("");
+    let is_available = llvm::is_ci_llvm_available(&config, config.llvm_assertions);
+    if is_available {
+        assert!(config.llvm_from_ci);
+    }
+
+    let config = parse("llvm.download-ci-llvm = true");
+    let is_available = llvm::is_ci_llvm_available(&config, config.llvm_assertions);
+    if is_available {
+        assert!(config.llvm_from_ci);
+    }
+
+    let config = parse("llvm.download-ci-llvm = false");
+    assert!(!config.llvm_from_ci);
 
     let if_unchanged_config = parse("llvm.download-ci-llvm = \"if-unchanged\"");
     if if_unchanged_config.llvm_from_ci {