diff options
| author | bors <bors@rust-lang.org> | 2024-10-25 18:33:17 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-10-25 18:33:17 +0000 |
| commit | b188577f14fd238ca8568276baabd461a174038d (patch) | |
| tree | 881cef4888e0da19f071a02ce8e82072ea5abe76 /src/ci | |
| parent | 6faf0bd3e561f1a0c81f3eafe0ce0e688385d70e (diff) | |
| parent | 03c7f992cd3b955bde2cdffc30ed44bcdb4f972f (diff) | |
Auto merge of #131917 - jieyouxu:rmake-clang, r=Kobzol
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. I had to bump the `x86_64-gnu-debug` job to be ran with a runner with larger disk space. Part of #132034. try-job: x86_64-gnu-debug
Diffstat (limited to 'src/ci')
| -rw-r--r-- | src/ci/docker/host-x86_64/x86_64-gnu-debug/Dockerfile | 4 | ||||
| -rw-r--r-- | src/ci/github-actions/jobs.yml | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/ci/docker/host-x86_64/x86_64-gnu-debug/Dockerfile b/src/ci/docker/host-x86_64/x86_64-gnu-debug/Dockerfile index fa31801269a..292dbfd20a5 100644 --- a/src/ci/docker/host-x86_64/x86_64-gnu-debug/Dockerfile +++ b/src/ci/docker/host-x86_64/x86_64-gnu-debug/Dockerfile @@ -49,9 +49,7 @@ ENV RUST_CONFIGURE_ARGS \ # (without necessarily testing the result). # - That the tests with `//@ needs-force-clang-based-tests` pass, since they # don't run by default unless RUSTBUILD_FORCE_CLANG_BASED_TESTS is set. -# - FIXME(https://github.com/rust-lang/rust/pull/126155#issuecomment-2156314273): -# Currently we only run the subset of tests with "clang" in their name. ENV SCRIPT \ python3 ../x.py --stage 2 build && \ - python3 ../x.py --stage 2 test tests/run-make --test-args clang + python3 ../x.py --stage 2 test tests/run-make diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 6b6a3806666..a401092a3a7 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -256,7 +256,9 @@ auto: <<: *job-linux-4c - image: x86_64-gnu-debug - <<: *job-linux-4c + # This seems to be needed because a full stage 2 build + run-make tests + # overwhelms the storage capacity of the standard 4c runner. + <<: *job-linux-4c-largedisk - image: x86_64-gnu-distcheck <<: *job-linux-8c |
