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
59 lines
2.5 KiB
Gherkin
59 lines
2.5 KiB
Gherkin
Feature: Coverage threshold configuration
|
|
The project enforces a minimum 96.5% code coverage threshold across multiple
|
|
configuration files. This feature validates that pyproject.toml, noxfile.py,
|
|
the CI workflow, and the nightly quality workflow are all correctly configured
|
|
to enforce and report coverage thresholds.
|
|
|
|
# -- pyproject.toml coverage configuration --
|
|
|
|
Scenario: Coverage run section exists in pyproject.toml
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage run section should exist
|
|
|
|
Scenario: Coverage source includes src directory
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage source should include "src"
|
|
|
|
Scenario: Coverage branch tracking is enabled
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage branch tracking should be enabled
|
|
|
|
Scenario: Coverage data file is stored under build directory
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage data file should be "build/.coverage"
|
|
|
|
Scenario: Coverage HTML report directory is under build
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage html directory should be "build/htmlcov"
|
|
|
|
Scenario: Coverage XML output is under build directory
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage xml output should be "build/coverage.xml"
|
|
|
|
Scenario: Coverage omit patterns exclude test directories
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage omit patterns should include "*/tests/*"
|
|
|
|
# -- noxfile.py coverage session --
|
|
|
|
Scenario: Noxfile defines a coverage_report session
|
|
Given the noxfile py is loaded for coverage check
|
|
Then the noxfile should define a coverage_report session
|
|
|
|
@tdd_issue @tdd_issue_4227
|
|
Scenario: Noxfile enforces fail-under threshold of at least 96.5
|
|
Given the noxfile py is loaded for coverage check
|
|
Then the noxfile should contain a fail-under threshold of at least 96.5
|
|
|
|
# -- CI workflow coverage enforcement --
|
|
|
|
Scenario: CI workflow references nox coverage_report session
|
|
Given the ci workflow file is loaded for coverage check
|
|
Then the ci workflow should reference nox coverage_report session
|
|
|
|
# -- Nightly quality workflow coverage enforcement --
|
|
|
|
Scenario: Nightly workflow enforces coverage threshold via --coverage-min
|
|
Given the nightly quality workflow file is loaded for coverage check
|
|
Then the nightly workflow should use a fail-under of at least 85
|