Repository navigation
Set up traceable pytest black-box checks - #26
Closed
AlexanderLanin wants to merge 1 commit into
Closed
AlexanderLanin wants to merge 1 commit into
AlexanderLanin wants to merge 1 commit into
Conversation
AlexanderLanin
requested review from
MaximilianSoerenPollak,
dcalavrezo-qorix and
nradakovic
as code owners
October 8, 2026 08:45
AlexanderLanin
marked this pull request as draft
October 8, 2026 08:46
Contributor
License Check Results🚀 The license check job ran with the Bazel command: bazel run //:license-checkStatus: Click to expand output |
There was a problem hiding this comment.
🟡 Changes recommended
The Ruff exclusion no longer excludes consumer fixtures, and the new scenario links to the wrong requirement.
2 open findings
What changed in this PR
Introduces requirement-linked pytest consumer checks alongside the existing shell integration suite.
Changes:
- Adds an isolated consumer fixture and an invalid-threshold scenario.
- Collects and merges JUnit results for documentation.
- Updates development commands, test inventory, and Ruff exclusions.
| File | Description |
|---|---|
| tools/integration_tests/test_error_handling.py | Adds the invalid-threshold CLI check. |
| tools/integration_tests/conftest.py | Copies an isolated consumer workspace. |
| tools/integration_tests/BUILD | Defines an always-run pytest target. |
| README.md | Documents separate integration test commands. |
| pyproject.toml | Adjusts Ruff exclusions. |
| docs/verification/verification_report.rst | Documents pytest coverage and traceability. |
| docs/BUILD | Includes integration JUnit results. |
| .github/workflows/tests.yml | Runs pytest and merges test artifacts. |
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
| line-length = 120 | ||
| target-version = "py312" # the only interpreter the module supports (see MODULE.bazel) | ||
| extend-exclude = ["__pycache__", ".*", "bazel-*", "integration_tests"] | ||
| extend-exclude = ["__pycache__", ".*", "bazel-*", "/integration_tests"] |
|
|
||
|
|
||
| @add_test_properties( | ||
| partially_verifies=["tool_req__coverage_gate_no_verdict"], |
Contributor
|
Documentation preview for this pull request is available at: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Introduce requirement-linked pytest results for consumer-facing coverage checks so the shell scenarios can move to named, traceable test cases incrementally.
This first step adds a Bazel pytest target, an isolated consumer-workspace fixture, CI JUnit collection and merging, and documentation ingestion. One small scenario runs the public report command with a non-numeric
COVERAGE_THRESHOLDand requires exit 2 plus the explicit configuration error. The target always runs because its consumer checkout and host Bazel installation are runtime inputs.The existing shell suite continues to run alongside the new pytest case.