Skip to content

Add explicit collection selection and node labels to testsuite - #215

Merged
Matthew Parkinson (mjp41) merged 2 commits into
microsoft:mainfrom
qhuiw:feature/testsuite-collections-labels
Oct 2, 2026
Merged

Matthew Parkinson (mjp41) merged 2 commits into
microsoft:mainfrom
qhuiw:feature/testsuite-collections-labels

Conversation

@qhuiw

Copy link
Copy Markdown
Contributor

Summary

  • Add COLLECTIONS to testsuite() for explicit collection ownership.
  • Add optional LABELS metadata to testsuite_add_test().
  • Preserve adjacent-file discovery and automatic suite labels for existing callers.

Rationale

Consumers may define multiple logical suites over one shared fixture tree. Implicitly loading every adjacent collection causes duplicate registration and makes suite ownership ambiguous.

Additional node labels allow consumers to expose orthogonal CTest views, such as frontend and backend, without using labels to configure registration.

Compatibility

Existing testsuite(name) calls continue discovering adjacent collections when COLLECTIONS is omitted. Existing nodes retain the automatic suite label when additional labels are not provided.

Consumers

Validation

  • Full Trieste suite: 31/31
  • Explicit and implicit collection registration covered
  • Missing, duplicate, directory, and unsafe collection paths rejected
  • Suite and node label composition covered

@qhuiw

Copy link
Copy Markdown
Contributor Author

Rebased onto current main and force-pushed with lease.

  • New head: d5748544a96832006410947c8dde7cb4920f9d18
  • Divergence from main: 2 ahead, 0 behind
  • range-diff: both feature patches unchanged
  • Full Trieste validation: 32/32 tests passed

The Verona VBC and full architecture consumers have both been repinned to this head.

@qhuiw

Copy link
Copy Markdown
Contributor Author

Verona compatibility fix opened upstream: sylvanc/verona-bc#100.

That PR corrects the existing HeapArrayConst duplicate Rhs field/accessor mismatch exposed by this Trieste change, adds focused runtime coverage, and can merge independently before Verona consumes the updated Trieste revision.

- Add a `COLLECTIONS` argument to assign collection ownership explicitly when suites share one fixture tree.
- Preserve adjacent-file discovery when callers omit the new argument.
- Reject missing, duplicate, directory, traversal, and otherwise unsafe collection paths at configure time.
- Add focused compatibility and validation scenarios for explicit and implicit registration.
- Document collection selection and validate the change with the full 30-test Trieste suite.
- Add optional `LABELS` metadata to named testsuite nodes.
- Keep the suite name as an automatic CTest label and append caller-provided labels.
- Deduplicate repeated labels without changing node registration or dependency semantics.
- Add a focused configuration scenario covering suite and node label composition.
- Document label filtering and validate the change with the full 31-test Trieste suite.
@mjp41
Matthew Parkinson (mjp41) force-pushed the feature/testsuite-collections-labels branch from d574854 to bf0c3ea Compare October 2, 2026 09:36

@mjp41 Matthew Parkinson (mjp41) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mjp41
Matthew Parkinson (mjp41) enabled auto-merge (squash) October 2, 2026 10:06
@mjp41
Matthew Parkinson (mjp41) merged commit 70a79da into microsoft:main Oct 2, 2026
28 of 29 checks passed
Qianhui Wang (qhuiw) added a commit to qhuiw/verona-bc that referenced this pull request Oct 2, 2026
Use the upstream squash commit for microsoft/Trieste#215 now that the temporary fork commit is no longer reachable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Qianhui Wang (qhuiw) added a commit to qhuiw/verona-bc that referenced this pull request Oct 2, 2026
Pin the merged microsoft/Trieste#215 commit containing explicit collection selection and node-label support.

Keep Verona testsuite registration behavior unchanged in this dependency-only step.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants