Devolutions / Devolutions/IronRDP
docs: AGENTS.md testing guidance predates the testsuite centralization and the [lib] test = false reality
- Dominant language
- Rust
- Stars
- 3.2k
- Forks
- 275
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 189
Description
AGENTS.md line 146 tells contributors to place inline `#[cfg(test)] mod tests` at the end of source files, with no caveat. On current master, 43 of the 68 crates set `[lib] test = false`, so inline test modules in those crates never build in CI: `cargo test --workspace --locked --no-run` lists the executables that actually run, and a contributor following line 146 in the wrong crate ships tests that are never executed (this repository has merged at least one PR where that happened). The guidance that would prevent it, and the preference stated in testsuite-core's own main.rs for centralizing integration tests, appear in no contributor-facing document.
The test-centralization series (#1743, #1744, #1747, #1748) and its xtask enforcement (#1749) will re-ground all of this, which is why this is an issue rather than a docs PR: the wording should land wherever you prefer. Suggested content, whenever and however it lands: where tests live (testsuite-core/testsuite-extra, with the rustc-link rationale), when an inline module is legitimate (only where the crate builds a test harness), the `--no-run` executable-list check as the way to verify, and the command inventory additions (`cargo xtask pr check-message`, and the fuzz-workspace ordering note for `check locks`).
Do you want this folded into #1749, or as a follow-up docs PR once the series lands? I have the wording ready either way.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with AGENTS.md line 146 and the testing preference in testsuite-core's main.rs, then review the test-centralization series and its xtask enforcement. Check the documented workflow with cargo test --workspace --locked --no-run and cover the requested test locations, harness caveat, executable-list check, and command inventory notes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- documentation, testing-qa
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100