Skip to content

tests: Port symbol-mangling-hashed to rmake.rs#135768

Merged
bors merged 5 commits intorust-lang:masterfrom
jieyouxu:migrate-symbol-mangling-hashed
Feb 1, 2025
Merged

tests: Port symbol-mangling-hashed to rmake.rs#135768
bors merged 5 commits intorust-lang:masterfrom
jieyouxu:migrate-symbol-mangling-hashed

Conversation

@jieyouxu
Copy link
Copy Markdown
Member

@jieyouxu jieyouxu commented Jan 20, 2025

Part of #121876.

This PR supersedes #128567 and is co-authored with @lolbinarycat.

Summary

This PR ports tests/run-make/symbol-mangling-hashed to rmake.rs. Notable differences when compared to the Makefile version includes:

  • It's no longer limited to linux + x86_64 only. In particular, this now is exercised on darwin and windows (esp. msvc) too.
  • The test uses object crate to be more precise in the filtering, and avoids relying on parsing the human-readable nm output for some nm in the given environment (which isn't really a thing on msvc anyway, and llvm-nm doesn't handle msvc dylibs AFAICT).
  • Dump the symbols satisfying various criteria on test failure to make it hopefully less of a pain to debug if it ever fails in CI.

Review advice

  • Best reviewed commit-by-commit.
  • I'm not super sure about the msvc logic, would benefit from a MSVC (PE/COFF) expert taking a look.

try-job: x86_64-msvc-1
try-job: i686-msvc-1
try-job: i686-mingw
try-job: x86_64-mingw-1
try-job: x86_64-apple-1
try-job: aarch64-apple
try-job: test-various

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-run-make Area: port run-make Makefiles to rmake.rs A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants