-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Uplift .dSYM for unit tests as well #7960
Comments
A comprehensive description on this issue is posted by @kwhrtsk at https://github.com/kwhrtsk/rust-lldb-workaround. |
I don't know the history of how or why things work this way. It looks like 1.0 placed the binary directly into One argument for removing the link is that some tests make assumptions about the directory they run from (like this). That might be an argument that tools should only execute from Can you (or @alexcrichton) think of any reason it would be bad to stop linking tests into |
What you pointed out is the only thing that I can think of, by changing where we execute tests we change IMO we should have the flexibility to do w/e we want (in general) with the target directory to fix issues like this, it's just a matter of how to best get there. We may have to wait for the env vars to propagate to stable before we make a change to not uplift tests. |
To be clear, I'm not suggesting changing where it is executed. Currently Cargo executes it out of |
Oh dear my bad, then yeah I can't think of any reason to not change the JSON and stop uplifting the tests. |
Done in #7965 |
Update cargo Update cargo 21 commits in bda50510d1daf6e9c53ad6ccf603da6e0fa8103f..7019b3ed3d539db7429d10a343b69be8c426b576 2020-03-02 18:05:34 +0000 to 2020-03-17 21:02:00 +0000 - Run through clippy (rust-lang/cargo#8015) - Fix config profiles using "dev" in `cargo test`. (rust-lang/cargo#8012) - Run CI on all PRs. (rust-lang/cargo#8011) - Add unit-graph JSON output. (rust-lang/cargo#7977) - Split workspace/validate() into multiple functions (rust-lang/cargo#8008) - Use Option::as_deref (rust-lang/cargo#8005) - De-duplicate edges (rust-lang/cargo#7993) - Revert "Disable preserving mtimes on archives" (rust-lang/cargo#7935) - Close the front door for clippy but open the back (rust-lang/cargo#7533) - Fix CHANGELOG.md typos (rust-lang/cargo#7999) - Update changelog note about crate-versions flag. (rust-lang/cargo#7998) - Bump to 0.45.0, update changelog (rust-lang/cargo#7997) - Bump libgit2 dependencies (rust-lang/cargo#7996) - Avoid buffering large amounts of rustc output. (rust-lang/cargo#7838) - Add "Updating" status for git submodules. (rust-lang/cargo#7989) - WorkspaceResolve: Use descriptive lifetime label. (rust-lang/cargo#7990) - Support old html anchors in manifest chapter. (rust-lang/cargo#7983) - Don't create hardlink for library test and integrations tests, fixing rust-lang/cargo#7960 (rust-lang/cargo#7965) - Partially revert change to filter debug_assertions. (rust-lang/cargo#7970) - Try to better handle restricted crate names. (rust-lang/cargo#7959) - Fix bug with new feature resolver and required-features. (rust-lang/cargo#7962)
Describe the problem you are trying to solve
Currently, debug symbols are uplifted for binaries and examples only, see
cargo/src/cargo/core/compiler/build_context/target_info.rs
Lines 260 to 269 in e618d47
Related Issue: #4490.
Yet it seems that the path in executable key in cargo json format output points to target/debug/xxx-hash instead of target/debug/deps/xxx-hash, so tools like Intellij Rust fail to debug these tests: intellij-rust/intellij-rust#3680.
Cargo json output:
Only /path/to/project/target/debug/deps/project-123462f2a057f680.dSYM exists, but /path/to/project/target/debug/project-123462f2a057f680.dSYM doesn't. So lldb can't pick up debug symbols when debugging /path/to/project/target/debug/project-123462f2a057f680.
Describe the solution you'd like
I think there are three possible solutions:
Notes
Related issue: rust-lang/rust#59907
The text was updated successfully, but these errors were encountered: