Skip to content

test(trim-paths): exercise unremap files with debuggers - #17326

Merged
weihanglo merged 3 commits into
rust-lang:masterfrom
weihanglo:more-tests
Aug 7, 2026
Merged

test(trim-paths): exercise unremap files with debuggers#17326
weihanglo merged 3 commits into
rust-lang:masterfrom
weihanglo:more-tests

Conversation

@weihanglo

@weihanglo weihanglo commented Aug 6, 2026

Copy link
Copy Markdown
Member

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

These tests exercise with lldb/gdb for all dependency source kinds,
using markers to verify they found the acutal source lines.
@weihanglo weihanglo added the Z-trim-paths Nightly: path sanitization label Aug 6, 2026
@rustbot rustbot added A-infrastructure Area: infrastructure around the cargo repo, ci, releases, etc. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 6, 2026
@rustbot

rustbot commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

r? @epage

rustbot has assigned @epage.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: @epage, @weihanglo
  • @epage, @weihanglo expanded to epage, weihanglo

unix,
all(target_os = "windows", target_env = "gnu", not(target_abi = "llvm"))
))]
fn unremap_substitutions(artifact: &std::path::Path) -> Vec<(String, String)> {

@weihanglo weihanglo Aug 6, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

View changes since the review

@weihanglo

Copy link
Copy Markdown
Member Author
[5](https://github.com/rust-lang/cargo/actions/runs/31117222786/job/92669846306?pr=17326#step:1:29)
Failed to resolve action download info. Error: Service Unavailable
Retrying in 11.085 seconds
Failed to resolve action download info. Error: Service Unavailable
Retrying in 22.972 seconds
Error: Service Unavailable
Error: Failed to resolve action download info.

Oh lord. Good GitHub :)

@epage epage left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm hesitant about having and extending debugger integration tests but if you want to move forward with this, go head

View changes since this review

@weihanglo

Copy link
Copy Markdown
Member Author

I'm hesitant about having and extending debugger integration tests but if you want to move forward with this, go head

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.

@epage

epage commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

I've had bad experiences relying too much on the behavior of other tools in tests with problems like

  • test performance
  • brittle tests from versions being different between machines and subtle differences in behavior

Also, running tests only in CI makes them more difficult to deal with.

@weihanglo

Copy link
Copy Markdown
Member Author

Yeah these are all understandable.

Also, running tests only in CI makes them more difficult to deal with.

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.

@weihanglo
weihanglo added this pull request to the merge queue Aug 7, 2026
Merged via the queue into rust-lang:master with commit 774f517 Aug 7, 2026
46 of 87 checks passed
@weihanglo
weihanglo deleted the more-tests branch August 7, 2026 01:43
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 7, 2026
rust-bors Bot pushed a commit to rust-lang/rust that referenced this pull request Aug 8, 2026
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
@rustbot rustbot added this to the 1.99.0 milestone Aug 8, 2026
pull Bot pushed a commit to LeeeeeeM/miri that referenced this pull request Aug 9, 2026
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-infrastructure Area: infrastructure around the cargo repo, ci, releases, etc. Z-trim-paths Nightly: path sanitization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants