@@ -20,29 +20,21 @@ fn parse(config: &str) -> Config {
20
20
21
21
#[ test]
22
22
fn download_ci_llvm ( ) {
23
- if crate :: core:: build_steps:: llvm:: is_ci_llvm_modified ( & parse ( "" ) ) {
24
- eprintln ! ( "Detected LLVM as non-available: running in CI and modified LLVM in this change" ) ;
25
- return ;
23
+ assert ! ( parse( "" ) . llvm_from_ci) ;
24
+ assert ! ( parse( "llvm.download-ci-llvm = true" ) . llvm_from_ci) ;
25
+ assert ! ( !parse( "llvm.download-ci-llvm = false" ) . llvm_from_ci) ;
26
+
27
+ let if_unchanged_config = parse ( "llvm.download-ci-llvm = \" if-unchanged\" " ) ;
28
+ if if_unchanged_config. llvm_from_ci {
29
+ let has_changes = if_unchanged_config
30
+ . last_modified_commit ( & [ "src/llvm-project" ] , "download-ci-llvm" , true )
31
+ . is_none ( ) ;
32
+
33
+ assert ! (
34
+ !has_changes,
35
+ "CI LLVM can't be enabled with 'if-unchanged' while there are changes in LLVM submodule."
36
+ ) ;
26
37
}
27
-
28
- let parse_llvm = |s| parse ( s) . llvm_from_ci ;
29
- let if_unchanged = parse_llvm ( "llvm.download-ci-llvm = \" if-unchanged\" " ) ;
30
-
31
- assert ! ( parse_llvm( "llvm.download-ci-llvm = true" ) ) ;
32
- assert ! ( !parse_llvm( "llvm.download-ci-llvm = false" ) ) ;
33
- assert_eq ! ( parse_llvm( "" ) , if_unchanged) ;
34
- assert_eq ! ( parse_llvm( "rust.channel = \" dev\" " ) , if_unchanged) ;
35
- assert ! ( parse_llvm( "rust.channel = \" stable\" " ) ) ;
36
- assert_eq ! ( parse_llvm( "build.build = \" x86_64-unknown-linux-gnu\" " ) , if_unchanged) ;
37
- assert_eq ! (
38
- parse_llvm(
39
- "llvm.assertions = true \r \n build.build = \" x86_64-unknown-linux-gnu\" \r \n llvm.download-ci-llvm = \" if-unchanged\" "
40
- ) ,
41
- if_unchanged
42
- ) ;
43
- assert ! ( !parse_llvm(
44
- "llvm.assertions = true \r \n build.build = \" aarch64-apple-darwin\" \r \n llvm.download-ci-llvm = \" if-unchanged\" "
45
- ) ) ;
46
38
}
47
39
48
40
// FIXME(onur-ozkan): extend scope of the test
0 commit comments