test(trim-paths): exercise unremap files with debuggers - #17326
Conversation
These tests exercise with lldb/gdb for all dependency source kinds, using markers to verify they found the acutal source lines.
|
r? @epage rustbot has assigned @epage. Use Why was this reviewer chosen?The reviewer was selected based on:
|
| unix, | ||
| all(target_os = "windows", target_env = "gnu", not(target_abi = "llvm")) | ||
| ))] | ||
| fn unremap_substitutions(artifact: &std::path::Path) -> Vec<(String, String)> { |
There was a problem hiding this comment.
This is the best way I can do to mimic a lldb/gdb Python script. I don't want to depend on system debuggers because they may not be built with python scriptinng support.
Oh lord. Good GitHub :) |
Would love to learn what those concerns are. I knew the test infra is a bit complicated due to this, though I see no alternative other than moving this infra to rust-lang/rust, which is a bit far away from where it is implemented. |
|
I've had bad experiences relying too much on the behavior of other tools in tests with problems like
Also, running tests only in CI makes them more difficult to deal with. |
|
Yeah these are all understandable.
I would say this is also true for some platforms and tools. Would could probably pin tool versions but that goes too far and hard to do with system packages. (I achieved that locally with Nix though) Going to merge this. We could revert if this gets worse. |
Update cargo submodule 14 commits in c79e8f89441b3e73d6d65d125c0c745792808c74..b07e5a08651da80108eb65d7dc769ee04589f9bf 2026-08-04 19:17:33 +0000 to 2026-08-07 21:51:16 +0000 - feat(profile): Add built-in profile debug (rust-lang/cargo#17214) - feat(toml): allow overriding inherited default-features in 2024 (rust-lang/cargo#17126) - feat(resolver): Report the min-publish-age in the lock message (rust-lang/cargo#17328) - refactor(resolver): resolve() does not need an optional gctx (rust-lang/cargo#17331) - fix(resolver): Make min-publish-age relative to --publish-time (rust-lang/cargo#17327) - test(trim-paths): exercise unremap files with debuggers (rust-lang/cargo#17326) - feat(log): emit build-started JSON message with run_id (rust-lang/cargo#16632) - docs: remove stray `directory` metavar from `cargo update --breaking` option (rust-lang/cargo#17319) - fix(lock): Use more accurate 'highest, rather than 'latest' (rust-lang/cargo#17317) - docs(changelog): Pull the --verbose item (rust-lang/cargo#17315) - revert(compiler): forward verbose flag to rustc for local crates (rust-lang/cargo#17314) - fix(diag): Gate blanket_hint_mostly_unused with -Zprofile-hint-mostly-unused (rust-lang/cargo#17313) - fix(diag): Remove complexity, perf, and nursery lint groups (rust-lang/cargo#17307) - fix(git): Avoid use of git's core.fsmonitor (rust-lang/cargo#17306) r? ghost
Update cargo submodule 14 commits in c79e8f89441b3e73d6d65d125c0c745792808c74..b07e5a08651da80108eb65d7dc769ee04589f9bf 2026-08-04 19:17:33 +0000 to 2026-08-07 21:51:16 +0000 - feat(profile): Add built-in profile debug (rust-lang/cargo#17214) - feat(toml): allow overriding inherited default-features in 2024 (rust-lang/cargo#17126) - feat(resolver): Report the min-publish-age in the lock message (rust-lang/cargo#17328) - refactor(resolver): resolve() does not need an optional gctx (rust-lang/cargo#17331) - fix(resolver): Make min-publish-age relative to --publish-time (rust-lang/cargo#17327) - test(trim-paths): exercise unremap files with debuggers (rust-lang/cargo#17326) - feat(log): emit build-started JSON message with run_id (rust-lang/cargo#16632) - docs: remove stray `directory` metavar from `cargo update --breaking` option (rust-lang/cargo#17319) - fix(lock): Use more accurate 'highest, rather than 'latest' (rust-lang/cargo#17317) - docs(changelog): Pull the --verbose item (rust-lang/cargo#17315) - revert(compiler): forward verbose flag to rustc for local crates (rust-lang/cargo#17314) - fix(diag): Gate blanket_hint_mostly_unused with -Zprofile-hint-mostly-unused (rust-lang/cargo#17313) - fix(diag): Remove complexity, perf, and nursery lint groups (rust-lang/cargo#17307) - fix(git): Avoid use of git's core.fsmonitor (rust-lang/cargo#17306) r? ghost
What does this PR try to resolve?
Part of #12137.
Let's cover real world uses of the unremap files!
This also enable the existing gdb debugger tests in CI.
How to test and review this PR?
We may want to set these as Cargo repo only test when stabilizing
-Ztrim-paths.It depends on certain CI infra too much.
LLM disclosure: tests are drafted by AI, reviewed and hand tweaked by me