Skip to content

Commit 0700696

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 #1290
2 parents d7a6a71 + e3a8d9c commit 0700696

File tree

3 files changed

+34
-23
lines changed

3 files changed

+34
-23
lines changed

Diff for: 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

Diff for: 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");

Diff for: 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

0 commit comments

Comments
 (0)