rust/tests
bors 5cd16b7f2b Auto merge of #135458 - jieyouxu:migrate-extern-fn-reachable, r=lqd
tests: Port `extern-fn-reachable` to rmake.rs

Part of #121876.

## Summary

This PR ports `tests/run-make/extern-fn-reachable` to use `rmake.rs`. Notable changes:

- We now use the `object` crate and look at the exported symbols specifically.
- This test's coverage regressed against windows-msvc back in [replace dynamic library module with libloading #90716](https://github.com/rust-lang/rust/pull/90716), but since we use `object` now, we're able to claw the test coverage back.
- The checks are now stricter:
    1. It no longer looks for substring symbol matches in `nm` textual outputs, it inspects the symbol names precisely.
    2. We now also explicitly check for the presence of leading underscore in exported symbol names on apple vs non-apple targets.
- Added another case of `#[no_mangle] fn fun6() {}` (note the lack of `pub`) to check that Rust nameres visibility is orthogonal to symbol visibility in dylib.

## History

- Test was initially introduced as a run-pass[^run-pass] test as part of [Don't mark reachable extern fns as internal #10539](https://github.com/rust-lang/rust/pull/10539).
- Test re-introduced as a run-make test in https://github.com/rust-lang/rust/pull/13741.
- Later, the test coverage regressed in https://github.com/rust-lang/rust/pull/90716.

[^run-pass]: no longer a thing nowadays

Supersedes #128314.
Co-authored with `@lolbinarycat.`

try-job: x86_64-msvc
try-job: i686-msvc
try-job: i686-mingw
try-job: x86_64-mingw-1
try-job: x86_64-apple-1
try-job: aarch64-apple
try-job: test-various
2025-01-16 02:31:22 +00:00
..
assembly llvm: Allow sized-word rather than ymmword in tests 2025-01-13 20:50:57 +00:00
auxiliary tests/assembly/asm: Remove uses of rustc_attrs and lang_items features by using minicore 2024-12-18 02:59:07 +09:00
codegen Auto merge of #135204 - RalfJung:win64-zst, r=SparrowLii 2025-01-13 13:05:53 +00:00
codegen-units Make sure we actually use the right trivial lifetime substs when eagerly monomorphizing drop for structs 2025-01-15 04:20:25 +00:00
coverage add comment to test 2025-01-09 13:55:50 +01:00
coverage-run-rustdoc coverage: Restrict empty-span expansion to only cover { and } 2024-11-08 20:43:08 +11:00
crashes fix ICE with references to infinite structs in consts 2025-01-14 01:22:04 +01:00
debuginfo Revert "Remove the Arc rt::init allocation for thread info" 2025-01-14 13:37:25 +01:00
incremental add test for issue 135514 2025-01-15 08:26:23 +00:00
mir-opt Rollup merge of #134498 - oli-obk:push-wmxynprsyxvr, r=compiler-errors 2025-01-13 20:43:44 -05:00
pretty Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
run-make Auto merge of #135458 - jieyouxu:migrate-extern-fn-reachable, r=lqd 2025-01-16 02:31:22 +00:00
rustdoc Rollup merge of #134216 - GuillaumeGomez:jump-to-def-pats, r=fmease 2025-01-14 19:25:04 +01:00
rustdoc-gui Add GUI test for #135499 2025-01-15 16:31:20 +01:00
rustdoc-js Rollup merge of #134277 - notriddle:notriddle/inline-into, r=GuillaumeGomez 2024-12-16 20:00:20 +01:00
rustdoc-js-std for purely return-type based searches, deprioritize clone-like functions 2025-01-13 12:22:34 -06:00
rustdoc-json Rollup merge of #134880 - as1100k-forks:fix-rustdoc-json-path-name, r=aDotInTheVoid 2025-01-14 19:25:05 +01:00
rustdoc-ui Remove some empty expected files to fix blessing 2025-01-12 12:49:24 +02:00
ui Auto merge of #135555 - matthiaskrgr:rollup-jnqdbuu, r=matthiaskrgr 2025-01-15 22:22:48 +00:00
ui-fulldeps Rollup merge of #134834 - dtolnay:unnamedcall, r=compiler-errors 2024-12-27 18:43:05 -08:00
COMPILER_TESTS.md