Skip to content

Commit b8ff7b6

Browse files
committed
Auto merge of #139213 - bjorn3:cg_clif_test_coretests, r=jieyouxu
Run coretests and alloctests with cg_clif in CI Part of rust-lang/rustc_codegen_cranelift#1290
2 parents a4166da + fde54c2 commit b8ff7b6

File tree

5 files changed

+35
-24
lines changed

5 files changed

+35
-24
lines changed

compiler/rustc_codegen_cranelift/build_system/tests.rs

+28-21
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,34 @@ const BASE_SYSROOT_SUITE: &[TestCase] = &[
9999
runner.run_out_command("gen_block_iterate", &[]);
100100
}),
101101
TestCase::build_bin_and_run("aot.raw-dylib", "example/raw-dylib.rs", &[]),
102+
TestCase::custom("test.sysroot", &|runner| {
103+
apply_patches(
104+
&runner.dirs,
105+
"sysroot_tests",
106+
&runner.stdlib_source.join("library"),
107+
&SYSROOT_TESTS_SRC.to_path(&runner.dirs),
108+
);
109+
110+
SYSROOT_TESTS.clean(&runner.dirs);
111+
112+
let mut target_compiler = runner.target_compiler.clone();
113+
// coretests and alloctests produce a bunch of warnings. When running
114+
// in rust's CI warnings are denied, so we have to override that here.
115+
target_compiler.rustflags.push("--cap-lints=allow".to_owned());
116+
// The standard library may have been compiled with -Zrandomize-layout.
117+
target_compiler.rustflags.extend(["--cfg".to_owned(), "randomized_layouts".to_owned()]);
118+
119+
if runner.is_native {
120+
let mut test_cmd = SYSROOT_TESTS.test(&target_compiler, &runner.dirs);
121+
test_cmd.args(["-p", "coretests", "-p", "alloctests", "--tests", "--", "-q"]);
122+
spawn_and_wait(test_cmd);
123+
} else {
124+
eprintln!("Cross-Compiling: Not running tests");
125+
let mut build_cmd = SYSROOT_TESTS.build(&target_compiler, &runner.dirs);
126+
build_cmd.args(["-p", "coretests", "-p", "alloctests", "--tests"]);
127+
spawn_and_wait(build_cmd);
128+
}
129+
}),
102130
];
103131

104132
pub(crate) static RAND_REPO: GitRepo = GitRepo::github(
@@ -146,27 +174,6 @@ const EXTENDED_SYSROOT_SUITE: &[TestCase] = &[
146174
spawn_and_wait(build_cmd);
147175
}
148176
}),
149-
TestCase::custom("test.sysroot", &|runner| {
150-
apply_patches(
151-
&runner.dirs,
152-
"sysroot_tests",
153-
&runner.stdlib_source.join("library"),
154-
&SYSROOT_TESTS_SRC.to_path(&runner.dirs),
155-
);
156-
157-
SYSROOT_TESTS.clean(&runner.dirs);
158-
159-
if runner.is_native {
160-
let mut test_cmd = SYSROOT_TESTS.test(&runner.target_compiler, &runner.dirs);
161-
test_cmd.args(["-p", "coretests", "-p", "alloctests", "--", "-q"]);
162-
spawn_and_wait(test_cmd);
163-
} else {
164-
eprintln!("Cross-Compiling: Not running tests");
165-
let mut build_cmd = SYSROOT_TESTS.build(&runner.target_compiler, &runner.dirs);
166-
build_cmd.args(["-p", "coretests", "-p", "alloctests", "--tests"]);
167-
spawn_and_wait(build_cmd);
168-
}
169-
}),
170177
TestCase::custom("test.regex", &|runner| {
171178
REGEX_REPO.patch(&runner.dirs);
172179

compiler/rustc_codegen_cranelift/build_system/utils.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,11 @@ impl CargoProject {
105105
.arg(self.manifest_path(dirs))
106106
.arg("--target-dir")
107107
.arg(self.target_dir(dirs))
108-
.arg("--locked");
108+
.arg("--locked")
109+
// bootstrap sets both RUSTC and RUSTC_WRAPPER to the same wrapper. RUSTC is already
110+
// respected by the rustc-clif wrapper, but RUSTC_WRAPPER will misinterpret rustc-clif
111+
// as filename, so we need to unset it.
112+
.env_remove("RUSTC_WRAPPER");
109113

110114
if dirs.frozen {
111115
cmd.arg("--frozen");

compiler/rustc_codegen_cranelift/config.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ aot.issue-59326
3232
aot.neon
3333
aot.gen_block_iterate
3434
aot.raw-dylib
35+
test.sysroot
3536

3637
testsuite.extended_sysroot
3738
test.rust-random/rand
38-
test.sysroot
3939
test.regex
4040
test.portable-simd

library/alloc/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,4 @@ check-cfg = [
3636
'cfg(no_global_oom_handling)',
3737
'cfg(no_rc)',
3838
'cfg(no_sync)',
39-
'cfg(randomized_layouts)',
4039
]

library/coretests/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ edition = "2024"
1212
path = "lib.rs"
1313
test = false
1414
bench = false
15+
doc = false
1516

1617
[[test]]
1718
name = "coretests"

0 commit comments

Comments
 (0)