Devolutions / Devolutions/IronRDP

docs: AGENTS.md testing guidance predates the testsuite centralization and the [lib] test = false reality

Open
#1,851 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.