tests: umbrella maestro binary has zero coverage of feature-gate combinations #10

Closed
opened 2026-06-20 13:18:41 +01:00 by naps62-yolo · 0 comments
Collaborator

The NAP-245 umbrella binary at crates/maestro/src/main.rs has no tests. The compile_error! guard near the top and the feature-gated subcommand routing are unverified.

What's missing:

  • An integration test (or CI matrix) that invokes cargo build --no-default-features --features {cli|daemon|tui} for each feature subset.
  • A umbrella_binary_dispatches_each_subcommand test that spawns the built binary with daemon, tui, and a CLI subcommand and asserts it routes correctly.
  • A test that the is_cli_subcommand tracing-filter selection matches the actual subcommand category.

Failure scenario:
A future change that breaks one feature subset (e.g. a daemon-gated dep accidentally becoming required) only surfaces when a user tries cargo install --no-default-features --features daemon maestro and gets a confusing error.

Updated 2026-08-22: the single-host refactor dropped the registry feature and subcommand; the feature set is now cli, daemon, tui (all three on by default).


Migrated from Linear NAP-271 - original status: In Progress

The NAP-245 umbrella binary at `crates/maestro/src/main.rs` has no tests. The `compile_error!` guard near the top and the feature-gated subcommand routing are unverified. **What's missing:** * An integration test (or CI matrix) that invokes `cargo build --no-default-features --features {cli|daemon|tui}` for each feature subset. * A `umbrella_binary_dispatches_each_subcommand` test that spawns the built binary with `daemon`, `tui`, and a CLI subcommand and asserts it routes correctly. * A test that the `is_cli_subcommand` tracing-filter selection matches the actual subcommand category. **Failure scenario:** A future change that breaks one feature subset (e.g. a `daemon`-gated dep accidentally becoming required) only surfaces when a user tries `cargo install --no-default-features --features daemon maestro` and gets a confusing error. **Updated 2026-08-22:** the single-host refactor dropped the `registry` feature and subcommand; the feature set is now `cli`, `daemon`, `tui` (all three on by default). --- *Migrated from Linear **NAP-271** - original status: In Progress*
naps62-yolo added the code-review label 2026-06-20 13:18:41 +01:00
naps62-yolo self-assigned this 2026-09-04 19:39:20 +01:00
This repo is archived. You cannot comment on issues.
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: naps62/maestro#10