Skip to content

fix: make qtest multi-input order deterministic - #36

Merged
tiye merged 2 commits into
feat/program-fingerprintfrom
fix/qtest-global-order
Aug 23, 2026
Merged

fix: make qtest multi-input order deterministic#36
tiye merged 2 commits into
feat/program-fingerprintfrom
fix/qtest-global-order

Conversation

@tiye

@tiye tiye commented Aug 22, 2026

Copy link
Copy Markdown
Member

Summary

  • globally sort all files discovered by qtest across multiple inputs
  • deduplicate repeated file arguments so each test file runs once
  • add TAP regression coverage and clarify RFC 0079

Validation

  • make check
  • focused TAP/JSON CLI tests
  • git diff --check

This PR is chained after PR #35 and is intentionally not merged automatically.

Copilot AI lite review requested due to automatic review settings August 22, 2026 14:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR makes qtest’s handling of multiple input paths deterministic by normalizing the discovered file list (global sort + dedup), and extends TAP-related regression coverage while updating the TAP RFC to match the new contract.

Changes:

  • Sort and deduplicate the aggregated set of discovered test files before execution/output.
  • Extend CLI TAP regression test coverage to validate determinism with reversed/duplicate inputs.
  • Update RFC 0079 to specify global sort + dedup semantics for TAP mode.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
tests/cli_tools.rs Adds TAP regression assertions for deterministic ordering and dedup with multiple file inputs.
src/bin/qtest.rs Globally sorts and deduplicates collected file paths to make multi-input runs deterministic.
RFCs/0079-qtest-tap-output.md Updates TAP CLI contract documentation to reflect global sort + dedup behavior.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tests/cli_tools.rs
Base automatically changed from fix/qdocco-dynamic-fence to chore/rfc-adoption-gate August 22, 2026 18:02
@tiye
tiye force-pushed the chore/rfc-adoption-gate branch 2 times, most recently from 9819c72 to 89b8fb0 Compare August 22, 2026 18:54
Base automatically changed from chore/rfc-adoption-gate to feat/signed-by-iteration August 23, 2026 04:09
@tiye
tiye force-pushed the feat/signed-by-iteration branch from 726246c to b5544c7 Compare August 23, 2026 04:35
Base automatically changed from feat/signed-by-iteration to feat/program-fingerprint August 23, 2026 04:36
@tiye
tiye force-pushed the fix/qtest-global-order branch from 5899cc9 to c23925b Compare August 23, 2026 04:39
@tiye
tiye merged commit a7924ef into feat/program-fingerprint Aug 23, 2026
2 checks passed
@tiye
tiye deleted the fix/qtest-global-order branch August 23, 2026 04:40
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