rust-lang / rust-lang/rust

Is anyone running our gdb-based Android debuginfo tests?

Open
#129,139 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-debuginfo A-testsuite C-discussion O-android T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

This is mostly directed at @chriswailes, @maurer, and @mgeisler because you are the target maintainers for our Android targets.

I've been looking through our debuginfo tests, and I've found that a few of them were disabled years ago never revisited. Some of those tests are disabled only on Android. Based on the history linked from https://github.com/rust-lang/rust/issues/10381, the last attempt to re-enable some of the mass-ignored android debuginfo tests was in 2015. So I'm not expecting any of you to really know the history here.

But currently (and I do not know for how long) we do not run any debuginfo tests on Android: https://github.com/rust-lang-ci/rust/actions/runs/10409799292/job/28830241725#step:25:23109

It seems like this is because compiletest looks for a gdb: https://github.com/rust-lang/rust/blob/0f442e265c165c0a78633bef98de18517815150c/src/tools/compiletest/src/lib.rs#L1038-L1085 but since compiletest doesn't find one, we skip the entire suite.

There is a fair amount of code in compiletest for handling debuginfo tests on Android. Since none of any of the code associated with running debuginfo tests on Android is currently being exercised, I suspect all of that code is just a time bomb for whoever eventually decides that we need those tests to be enabled.

In https://github.com/rust-lang/rust/pull/128913 I am removing a number of ignore-test annotations from the test suite, and replacing them with more specific ignores where required. Because the entire suite is ignored for Android, I cannot do this.

So I have a few questions:

  • Is anyone running the debuginfo test suite on Android?
  • Would anyone object if I blindly remove all the other ignore-android annotations from the test suite?
  • Is anyone planning on working to re-enable the Android debuginfo tests? I've poked around, and it uses a bunch of Android SDK/emulator arcana that I do not understand. For example, I tried installing gdb-multiarch in the image, which results in the test suite managing to execute arm-linux-androideabi-gdb (which I cannot find in the container) but if I add set architecture to the gdb commands, the output is just i686/x86_64.
  • In my searching around for explanations about how to debug on Android, I found some mentions that one should be using lldb instead. Is that right?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/tools/compiletest/src/lib.rs around the gdb detection logic and the linked Android CI job to confirm why debuginfo tests are skipped. Review the Android-specific compiletest handling and existing debuginfo test annotations; done requires a decided, working approach for running or deliberately updating the Android suite.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, rust
Domain
compilers, mobile-dev, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.