Rollup merge of #136004 - mrkajetanp:aarch64-skip-large-const-alloc-tests, r=Kobzol

tests: Skip const OOM tests on aarch64-unknown-linux-gnu

Skip const OOM tests on AArch64 Linux through explicit annotations instead of inside opt-dist.
Intended to avoid confusion in cases like #135952.

Prerequisite for https://github.com/rust-lang/rust/pull/135960.

 r? `@Kobzol`
cc `@workingjubilee`

try-job: dist-aarch64-linux
This commit is contained in:
Matthias Krüger 2025-01-30 20:47:06 +01:00 committed by GitHub
commit 47ee068a88
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 8 additions and 14 deletions

View File

@ -148,16 +148,6 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
let is_aarch64 = target_triple.starts_with("aarch64");
let skip_tests = if is_aarch64 {
vec![
// Those tests fail only inside of Docker on aarch64, as of December 2024
"tests/ui/consts/promoted_running_out_of_memory_issue-130687.rs".to_string(),
"tests/ui/consts/large_const_alloc.rs".to_string(),
]
} else {
vec![]
};
let checkout_dir = Utf8PathBuf::from("/checkout");
let env = EnvironmentBuilder::default()
.host_tuple(target_triple)
@ -169,7 +159,7 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
.shared_llvm(true)
// FIXME: Enable bolt for aarch64 once it's fixed upstream. Broken as of December 2024.
.use_bolt(!is_aarch64)
.skipped_tests(skip_tests)
.skipped_tests(vec![])
.build()?;
(env, shared.build_args)

View File

@ -1,5 +1,7 @@
//@ only-64bit
// on 32bit and 16bit platforms it is plausible that the maximum allocation size will succeed
// FIXME (#135952) In some cases on AArch64 Linux the diagnostic does not trigger
//@ ignore-aarch64-unknown-linux-gnu
const FOO: () = {
// 128 TiB, unlikely anyone has that much RAM

View File

@ -1,11 +1,11 @@
error[E0080]: evaluation of constant value failed
--> $DIR/large_const_alloc.rs:6:13
--> $DIR/large_const_alloc.rs:8:13
|
LL | let x = [0_u8; (1 << 47) - 1];
| ^^^^^^^^^^^^^^^^^^^^^ tried to allocate more memory than available to compiler
error[E0080]: could not evaluate static initializer
--> $DIR/large_const_alloc.rs:11:13
--> $DIR/large_const_alloc.rs:13:13
|
LL | let x = [0_u8; (1 << 47) - 1];
| ^^^^^^^^^^^^^^^^^^^^^ tried to allocate more memory than available to compiler

View File

@ -3,6 +3,8 @@
// Needs the max type size to be much bigger than the RAM people typically have.
//@ only-64bit
// FIXME (#135952) In some cases on AArch64 Linux the diagnostic does not trigger
//@ ignore-aarch64-unknown-linux-gnu
pub struct Data([u8; (1 << 47) - 1]);
const _: &'static Data = &Data([0; (1 << 47) - 1]);

View File

@ -1,5 +1,5 @@
error[E0080]: evaluation of constant value failed
--> $DIR/promoted_running_out_of_memory_issue-130687.rs:8:32
--> $DIR/promoted_running_out_of_memory_issue-130687.rs:10:32
|
LL | const _: &'static Data = &Data([0; (1 << 47) - 1]);
| ^^^^^^^^^^^^^^^^^^ tried to allocate more memory than available to compiler