Add fixture tag selection#42
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 73a9a67ef6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
73a9a67 to
a84acf4
Compare
Allow test runs to filter by fixture tags with -F/--fixture-tag. Tags are inferred from tagged fixture abstractions, with container_runtime providing the container tag and docker-compose carrying both container and docker-compose tags. Assisted-by: GPT-5 (Codex)
a84acf4 to
76135bb
Compare
Keep tests with malformed configuration in the selected set when filtering by fixture tag. The normal execution path now reports those parse errors instead of silently dropping them from targeted runs. Assisted-by: GPT-5 (Codex)
There was a problem hiding this comment.
💡 Codex Review
Line 6727 in 5bcb8fc
Expanding suites immediately after --match filtering lets tests bypass intersection semantics when --fixture-tag is also used: if test A in a suite matches the path/pattern selector and test B in the same suite matches the fixture tag selector, the first expansion adds B before tag filtering, then the second expansion re-adds A, so the suite runs even though no individual test matched both selectors. This contradicts the documented "intersection" behavior for combined selectors and can make targeted runs execute unrelated tests.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Filter by path, match pattern, and fixture tag before expanding suites. This preserves documented intersection semantics for combined selectors. Assisted-by: GPT-5 (Codex)
Infer fixture tags from tagged provider modules as well as directly tagged functions. This keeps direct imports from the shared container runtime helpers selectable with --fixture-tag container. Assisted-by: GPT-5 (Codex)
Record the pull request number in the unreleased fixture tag selection changelog metadata. Assisted-by: GPT-5 (Codex)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 39584e9db7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Fixture-tag prefiltering now preserves tests whose frontmatter raises a YAML parser error, so tagged runs queue the test and report the configuration failure instead of aborting discovery. Assisted-by: GPT-5 (Codex)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c853bb4744
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Treat a bare string passed to fixture tag registration as one tag instead of iterating it character by character. This keeps --fixture-tag selection working for common custom fixture declarations. Assisted-by: GPT-5 (Codex)
🔍 Problem
--matchcan select tests by path, but there was no stable way to select tests by fixture behavior.🛠️ Solution
--fixture-tagand the matchingfixture_tagsPython API parameter.container_runtimeascontainerand the built-in Docker Compose fixture ascontaineranddocker-compose.💬 Review
tags=remains available for custom fixtures.--fixture-tagintersects with path and--matchselection and expands suites the same way as--match.Checks: