Skip to content

enable abi-cafe tests on aarch64-apple-darwin #1515

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 5, 2024
Merged

Conversation

lqd
Copy link
Member

@lqd lqd commented Jul 14, 2024

This PR adds the aarch64-apple-darwin target to the abi-cafe CI job. It seems all tests pass already, so there was no need to patch any out.

I'm not sure what the "Use x86_64 compiler on macOS" step fixed on intel but there was no issue running on aarch64, so I didn't change anything there.

Fixes #1512

@bjorn3
Copy link
Member

bjorn3 commented Jul 14, 2024

I'm not sure what the "Use x86_64 compiler on macOS" step fixed on intel but there was no issue running on aarch64, so I didn't change anything there.

The macOS runners are all arm64 now. That step is to force cg_clif to run as x86_64 under Rosetta 2 to emulate testing on real x86_64 hardware.

@bjorn3
Copy link
Member

bjorn3 commented Jul 14, 2024

abi-cafe had a major rework recently. It detected a couple of new abi compatibility issues. I would like to wait for the update to this new abi-cafe version before merging this PR. It is currently blocked on a bug that cases abi-cafe to deadlock on MinGW though.

@lqd
Copy link
Member Author

lqd commented Jul 14, 2024

Sure!

@bjorn3
Copy link
Member

bjorn3 commented Aug 2, 2024

Updated abi-cafe in #1523.

@lqd
Copy link
Member Author

lqd commented Aug 4, 2024

I don't know why the workflow isn't run here, but there are failures with the new abi-cafe https://github.com/lqd/rustc_codegen_cranelift/actions/runs/10234895872/job/28314992338 e.g. on SingleVariantUnion tests for "val >= 10".

@bjorn3
Copy link
Member

bjorn3 commented Aug 4, 2024

The abi-cafe CI jobs are only run when pushing to a branch on this repo.

https://github.com/rust-lang/rustc_codegen_cranelift/blob/master/patches/0002-abi-cafe-Disable-broken-tests.patch has the list of currently broken tests. Adding these test failures there is fine for now. They should eventually be fixed, but at least this way further regressions are prevented.

@lqd
Copy link
Member Author

lqd commented Aug 4, 2024

Ok that was surprisingly hard because of many compounding factors.

The patch system doesn't look very documented or automated, and makes it difficult to do changes to debug and enable/disable tests, but I think I got it to work to disable the newly failing tests including the asymmetric failures, and re-enable the fixed tests, as seen in https://github.com/lqd/rustc_codegen_cranelift/actions/runs/10237131988/job/28320060339.

The abi-cafe summary is also somewhat obscure, for example "fixed" tests are considered "failed" but never marked as such, and thus easy to confuse with actual ignored failures via the busted mechanism. And overall the summary should also probably focus on unexpected results, instead of summarizing everything, as these are the tests that need fixing. The display when the caller/callee in the pair behave differently is also quite unintuitive, and hard to map back to the kind of bustage one needs to setup to fix it (here one caller needs to bust check while the other needs to bust run, or tests keep failing).

I also fixed ./y.sh abi-cafe failing when the download folder doesn't exist.

The abi-cafe CI jobs are only run when pushing to a branch on this repo.

That will make abi-cafe regressions, or fixes, from PRs only show up when merged on master.

@lqd
Copy link
Member Author

lqd commented Aug 5, 2024

So I've just separated the set of busted tests for the two OSes, so it should still work on aarch64-unknown-linux-gnu, and works on aarch64-apple-darwin as seen in https://github.com/lqd/rustc_codegen_cranelift/actions/runs/10252754465

@bjorn3 bjorn3 merged commit 747adbd into rust-lang:master Aug 5, 2024
20 checks passed
@bjorn3
Copy link
Member

bjorn3 commented Aug 5, 2024

Thanks!

@lqd lqd deleted the abi-cafe branch August 5, 2024 17:27
@bjorn3
Copy link
Member

bjorn3 commented Aug 7, 2024

The abi-cafe CI jobs are only run when pushing to a branch on this repo.

That will make abi-cafe regressions, or fixes, from PRs only show up when merged on master.

As of 6ef49b2 the abi-cafe tests run on pull requests too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Run abi-cafe on arm64 macOS
2 participants