Skip to content

Commit

Permalink
Auto merge of rust-lang#136004 - mrkajetanp:aarch64-skip-large-const-…
Browse files Browse the repository at this point in the history
…alloc-tests, r=<try>

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 rust-lang#135952.

Prerequisite for rust-lang#135960.

 r? `@Kobzol`
cc `@workingjubilee`

try-job: dist-aarch64-linux
  • Loading branch information
bors committed Jan 24, 2025
2 parents 8231e85 + dde618b commit a5b8780
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 13 deletions.
2 changes: 1 addition & 1 deletion src/ci/github-actions/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ envs:
# - not running `opt-dist`'s post-optimization smoke tests on the resulting toolchain
#
# If you *want* these to happen however, temporarily uncomment it before triggering a try build.
DIST_TRY_BUILD: 1
# DIST_TRY_BUILD: 1

auto:
<<: *production
Expand Down
10 changes: 1 addition & 9 deletions src/tools/opt-dist/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -148,19 +148,11 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>

let is_aarch64 = target_triple.starts_with("aarch64");

let mut skip_tests = vec![
let skip_tests = vec![
// Fails because of linker errors, as of June 2023.
"tests/ui/process/nofile-limit.rs".to_string(),
];

if is_aarch64 {
skip_tests.extend([
// 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(),
]);
}

let checkout_dir = Utf8PathBuf::from("/checkout");
let env = EnvironmentBuilder::default()
.host_tuple(target_triple)
Expand Down
2 changes: 2 additions & 0 deletions tests/ui/consts/large_const_alloc.rs
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions tests/ui/consts/large_const_alloc.stderr
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit a5b8780

Please sign in to comment.