Skip to content

compiletest: Less special handling of debugger/test discovery in debuginfo mode #134673

@Zalathar

Description

Currently there is special code in compiletest that detects Mode::DebugInfo and responds by creating three different clones of the compiletest config, each configured to use one of cdb/gdb/lldb if the corresponding debugger can be found.

This complicates config handling and test discovery in the top-level parts of compiletest, because parts of the code need to be aware of multiple configs just to handle this one use-case.

In principle, debugger discovery and selection should be handled out in bootstrap, which then invokes compiletest up to three times, with each invocation explicitly specifying a debugger path and debugger kind. This is somewhat analogous to how x test coverage invokes compiletest twice on the same directory with two different modes, though in this case it would instead be the same directory and mode with different debugger settings.

(Given bootstrap's own maintenance headaches, whether this would be a net improvement in the short-term is an open question.)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    A-compiletestArea: The compiletest test runnerA-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)C-cleanupCategory: PRs that clean code up or issues documenting cleanup.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions