Skip to content

Replace hardcoded nextest binary names with a stable grouping mechanism #180

@coderabbitai

Description

@coderabbitai

Background

The nextest default-filter in .config/nextest.toml currently hardcodes the binary names behaviour_toolchain and behaviour_cli to exclude slow installer integration tests from local runs:

[profile.default]
default-filter = "not (binary(behaviour_toolchain) | binary(behaviour_cli))"

If these binaries are renamed or split in future, they will silently fall out of the filter and start running in the default profile again.

Problem

Hardcoded binary names are brittle. A rename or split of these test binaries would not cause any build or test failure — the filter would simply stop excluding them, meaning slow installer integration tests would start running in the default local profile without any warning.

Suggested Approaches

Consider introducing a more stable grouping mechanism, such as:

  • A nextest test-group with a naming convention (e.g., all slow installer test binaries match binary(/^installer_/))
  • A shared tag or package-level annotation that can be maintained in one place
  • A comment in the test source files referencing the nextest config so renames trigger a review

Affected Files

  • .config/nextest.toml — contains the hardcoded filter
  • AGENTS.md — documents the profiles; will need updating if the mechanism changes
  • docs/developers-guide.md — documents the profiles for contributors; will need updating if the mechanism changes

References

Raised as an overall comment in PR #179 (ci-only-installer-tests branch): #179

Raised by @leynos.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions