cecca72b8e
CI / benchmark-publish (push) Has started running
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Failing after 14s
CI / helm (push) Failing after 8s
CI / unit_tests (push) Failing after 21s
CI / typecheck (push) Failing after 32s
CI / build (push) Failing after 9s
CI / quality (push) Failing after 24s
CI / integration_tests (push) Failing after 15s
CI / security (push) Failing after 24s
CI / lint (push) Failing after 34s
CI / coverage (push) Has been skipped
CI / docker (push) Has been skipped
CI / push-validation (push) Successful in 20s
CI / status-check (push) Failing after 6s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m11s
CI / coverage (pull_request) Successful in 14m34s
CI / push-validation (pull_request) Successful in 36s
CI / typecheck (pull_request) Successful in 1m14s
CI / integration_tests (pull_request) Successful in 3m42s
CI / e2e_tests (pull_request) Successful in 4m26s
CI / unit_tests (pull_request) Successful in 6m29s
CI / build (pull_request) Successful in 59s
CI / lint (pull_request) Successful in 53s
CI / quality (pull_request) Successful in 56s
CI / security (pull_request) Successful in 1m19s
CI / helm (pull_request) Successful in 53s
CI / docker (pull_request) Successful in 1m46s
CI / status-check (pull_request) Successful in 3s
61 lines
2.6 KiB
Gherkin
61 lines
2.6 KiB
Gherkin
Feature: Coverage threshold enforcement
|
|
The project enforces a minimum 97% code coverage threshold.
|
|
This feature validates that the coverage configuration and nox session
|
|
are properly set up to enforce this requirement.
|
|
|
|
@tdd_issue @tdd_issue_4227
|
|
Scenario: Coverage threshold is configured at 96.5% in noxfile
|
|
Given the noxfile.py exists
|
|
When I parse the COVERAGE_THRESHOLD constant from noxfile.py
|
|
Then the coverage threshold should be 96.5
|
|
|
|
Scenario: Coverage report session uses fail-under flag
|
|
Given the noxfile.py exists
|
|
When I read the coverage_report session source from noxfile.py
|
|
Then the session should contain a fail-under argument matching the threshold
|
|
|
|
Scenario: Coverage run configuration has branch coverage enabled
|
|
Given the pyproject.toml exists
|
|
When I parse the coverage run configuration from pyproject.toml
|
|
Then branch coverage should be enabled
|
|
|
|
Scenario: Coverage run configuration measures src directory
|
|
Given the pyproject.toml exists
|
|
When I parse the coverage run configuration from pyproject.toml
|
|
Then the source list should include "src"
|
|
|
|
Scenario: Coverage data file is stored under build directory
|
|
Given the pyproject.toml exists
|
|
When I parse the coverage run configuration from pyproject.toml
|
|
Then the data file should be under the build directory
|
|
|
|
Scenario: Coverage HTML report directory is under build
|
|
Given the pyproject.toml exists
|
|
When I parse the coverage html configuration from pyproject.toml
|
|
Then the html directory should be under the build directory
|
|
|
|
Scenario: Coverage XML report path is under build
|
|
Given the pyproject.toml exists
|
|
When I parse the coverage xml configuration from pyproject.toml
|
|
Then the xml output should be under the build directory
|
|
|
|
Scenario: CI workflow coverage job references nox session
|
|
Given the CI workflow file exists
|
|
When I parse the coverage job from the CI workflow
|
|
Then the coverage job should run nox -s coverage_report
|
|
|
|
Scenario: CI workflow coverage job depends on lint and typecheck
|
|
Given the CI workflow file exists
|
|
When I parse the coverage job from the CI workflow
|
|
Then the coverage job should depend on lint and typecheck
|
|
|
|
Scenario: Coverage report session emits CI-parseable summary on success
|
|
Given the noxfile.py exists
|
|
When I read the coverage_report session source from noxfile.py
|
|
Then the session should emit a COVERAGE OK summary line
|
|
|
|
Scenario: Coverage report session emits CI-parseable summary on failure
|
|
Given the noxfile.py exists
|
|
When I read the coverage_report session source from noxfile.py
|
|
Then the session should emit a COVERAGE FAILED summary line
|