Skip to content
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

Fix debuginfo tests #17161

Merged
merged 4 commits into from
Sep 13, 2014
Merged

Fix debuginfo tests #17161

merged 4 commits into from
Sep 13, 2014

Conversation

vadimcn
Copy link
Contributor

@vadimcn vadimcn commented Sep 11, 2014

This PR fixes debuginfo tests on Windows.

@vadimcn
Copy link
Contributor Author

vadimcn commented Sep 11, 2014

@brson, with this change make check now succeeds on Windows. This might be a good time to start running full test suite on build bots.

@vadimcn vadimcn changed the title Fix debuginfo Fix debuginfo tests Sep 11, 2014
@brson
Copy link
Contributor

brson commented Sep 12, 2014

@vadimcn I will turn on the full tests suite once this lands.

@@ -482,12 +482,12 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
// GDB's script auto loading safe path ...
script_str.push_str(
format!("add-auto-load-safe-path {}\n",
rust_pp_module_abs_path.as_slice())
rust_pp_module_abs_path.replace("\\", "\\\\").as_slice())
Copy link
Member

Choose a reason for hiding this comment

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

You could make these r"\", r"\\" to avoid the escaping if you want.

bors added a commit that referenced this pull request Sep 13, 2014
This PR fixes debuginfo tests on Windows.
@bors bors closed this Sep 13, 2014
@bors bors merged commit d08441b into rust-lang:master Sep 13, 2014
@vadimcn vadimcn deleted the fix-debuginfo branch March 1, 2015 08:03
lnicola pushed a commit to lnicola/rust that referenced this pull request May 19, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 11, 2024
…=<try>

Enable debuginfo tests that have been "temporarily disabled" for the past 6 years

`tests/debuginfo/drop-locations.rs`
No idea why we are setting `-O -Cno-prepopulate-passes`. Nowadays that turns on MIR opts, no idea what it did in 2018.
Turning off optimizations makes just loc2 missing. That seems like a bug in debuginfo generation. Turning off all MIR opts and even adding a `drop(s)` on that line doesn't help. Cursed. Keeping this test ignored.

`tests/debuginfo/option-like-enum.rs`
Debuggers are better at Rust!
Also one inexplicable change. No idea why we used to expect that. Deleted.

`tests/debuginfo/function-arg-initialization.rs`
rust-lang#128945

`tests/debuginfo/macro-stepping.rs`
Also broken by SingleUseConsts. I hate tests like this, nobody uses a debugger on code that's just assigning consts to unused variables. Test should be rewritten with realistic code.

`tests/debuginfo/basic-types-metadata.rs`
Debuggers are better at Rust!
Diverging functions don't have -> ! in their whatis output anymore? Not sure if that is a bug.

---

More failures on apple!
`tests/debuginfo/by-value-non-immediate-argument.rs`
`tests/debuginfo/function-arg-initialization.rs`
`tests/debuginfo/function-prologue-stepping-regular.rs`
I think all of these indicate that lldb on aarch64-apple does not understand indirect by-value non-immediate arguments. Is that known?

`tests/debuginfo/method-on-enum.rs`
`tests/debuginfo/option-like-enum.rs`
`tests/debuginfo/struct-in-enum.rs`
lldb on aarch64-apple can't print enums until at least llvm 18. We use an old lldb on apple.

---

aarch64-gnu fails on `tests/debuginfo/by-value-non-immediate-argument.rs` as well. Looks like either a codegen bug or a gdb bug.

---

The prettyprinters that we need for `tests/debuginfo/pretty-std.rs` are not loaded on windows-gnu. It's not entirely clear why, but I suspect that the escaping that was added in rust-lang#17161 is interfering somehow.

---

try-job: x86_64-msvc
try-job: x86_64-mingw
try-job: i686-msvc
try-job: i686-mingw
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 11, 2024
…=<try>

Enable debuginfo tests that have been "temporarily disabled" for the past 6 years

`tests/debuginfo/drop-locations.rs`
No idea why we are setting `-O -Cno-prepopulate-passes`. Nowadays that turns on MIR opts, no idea what it did in 2018.
Turning off optimizations makes just loc2 missing. That seems like a bug in debuginfo generation. Turning off all MIR opts and even adding a `drop(s)` on that line doesn't help. Cursed. Keeping this test ignored.

`tests/debuginfo/option-like-enum.rs`
Debuggers are better at Rust!
Also one inexplicable change. No idea why we used to expect that. Deleted.

`tests/debuginfo/function-arg-initialization.rs`
rust-lang#128945

`tests/debuginfo/macro-stepping.rs`
Also broken by SingleUseConsts. I hate tests like this, nobody uses a debugger on code that's just assigning consts to unused variables. Test should be rewritten with realistic code.

`tests/debuginfo/basic-types-metadata.rs`
Debuggers are better at Rust!
Diverging functions don't have -> ! in their whatis output anymore? Not sure if that is a bug.

---

More failures on apple!
`tests/debuginfo/by-value-non-immediate-argument.rs`
`tests/debuginfo/function-arg-initialization.rs`
`tests/debuginfo/function-prologue-stepping-regular.rs`
I think all of these indicate that lldb on aarch64-apple does not understand indirect by-value non-immediate arguments. Is that known?

`tests/debuginfo/method-on-enum.rs`
`tests/debuginfo/option-like-enum.rs`
`tests/debuginfo/struct-in-enum.rs`
lldb on aarch64-apple can't print enums until at least llvm 18. We use an old lldb on apple.

---

aarch64-gnu fails on `tests/debuginfo/by-value-non-immediate-argument.rs` as well. Looks like either a codegen bug or a gdb bug.

---

The prettyprinters that we need for `tests/debuginfo/pretty-std.rs` are not loaded on windows-gnu. It's not entirely clear why, but I suspect that the escaping that was added in rust-lang#17161 is interfering somehow.

---

try-job: x86_64-msvc
try-job: x86_64-mingw
try-job: i686-msvc
try-job: i686-mingw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants