Run the full stage 2 `run-make` test suite in `x86_64-gnu-debug` by jieyouxu · Pull Request #131917 · rust-lang/rust

@rustbot added A-run-make

Area: port run-make Makefiles to rmake.rs

A-testsuite

Area: The testsuite used to check the correctness of rustc

S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

T-bootstrap

Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

T-infra

Relevant to the infrastructure team, which will review and decide on the PR/issue.

labels

Oct 19, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Oct 19, 2024
[WIP] CI: try to drop `--test-args=clang` in `x86_64-gnu-debug`

Ok what if I open a separate PR...

r? `@ghost`

try-job: x86_64-gnu-debug

@bors bors added S-waiting-on-author

Status: This is awaiting some action (such as code changes or more information) from the author.

and removed S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

labels

Oct 19, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Oct 20, 2024
[WIP] CI: try to drop `--test-args=clang` in `x86_64-gnu-debug`

Ok what if I open a separate PR...

r? `@ghost`

try-job: x86_64-gnu-debug

bors added a commit to rust-lang-ci/rust that referenced this pull request

Oct 21, 2024
[WIP] CI: try to drop `--test-args=clang` in `x86_64-gnu-debug`

Ok what if I open a separate PR...

r? `@ghost`

try-job: x86_64-gnu-debug

bors added a commit to rust-lang-ci/rust that referenced this pull request

Oct 21, 2024
[WIP] CI: try to drop `--test-args=clang` in `x86_64-gnu-debug`

Ok what if I open a separate PR...

r? `@ghost`

try-job: x86_64-gnu-debug

@jieyouxu

Full stage 2 build + run-make with full debug info seems to overwhelm
the standard 4c runner's storage capacity.

bors added a commit to rust-lang-ci/rust that referenced this pull request

Oct 22, 2024
Run the full stage 2 `run-make` test suite in `x86_64-gnu-debug`

Run the full `run-make` test suite in the `x86_64-gnu-debug` CI job. This is currently the *only* CI job where `//@ needs-force-clang-based-test` will be satisfied, so some `run-make` tests will literally never be run otherwise. Before this PR, the CI job only ran `run-make` tests which contains the substring `clang` in its test name, which is both (1) a footgun because it's very easy to forget and (2) it masks tests that would otherwise fail (even failing to compile) because the test is skipped if doesn't have a `clang` in its test name.

With the environment of `x86_64-gnu-debug`, two `run-make` tests failed before this PR:

1. `tests/run-make/issue-84395-lto-embed-bitcode/rmake.rs`: this was broken for a long time because `objcopy` in llvm bin tools was renamed to `llvm-objcopy`. This test was converted into a rmake.rs test, rather straight forward.
2. `tests/run-make/cross-lang-lto-riscv-abi/rmake.rs`: this was broken for a long time and never worked. The old version inspected human-readable output of `llvm-readobj --file-header` looking for substring `EF_RISCV_FLOAT_ABI_DOUBLE`, but the human-readable output will only contain something like `Flags: 0x5, RVC, double-float ABI`, hence it will never match. This test was fixed by instead using the `object` crate to actually decode the ELF headers looking for the specific `e_flags` based on reading the RISCV ELF psABI docs.

This PR is best reviewed commit-by-commit, two commits setup the support library for functionality and two commits are for each of the failing `run-make` tests.

try-job: x86_64-gnu-debug

@jieyouxu jieyouxu removed the S-blocked

Status: Blocked on something else such as an RFC or other implementation work.

label

Oct 22, 2024

@rustbot rustbot added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

and removed S-waiting-on-author

Status: This is awaiting some action (such as code changes or more information) from the author.

labels

Oct 22, 2024

@bors bors added S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

and removed S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

labels

Oct 25, 2024

This was referenced

Oct 25, 2024