9b30421b34
CI / lint (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 27s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 16s
CI / integration_tests (pull_request) Successful in 4m10s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 8m0s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 6m22s
CI / lint (push) Successful in 13s
CI / typecheck (push) Successful in 27s
CI / security (push) Successful in 22s
CI / quality (push) Successful in 15s
CI / integration_tests (push) Successful in 4m16s
CI / build (push) Successful in 15s
CI / unit_tests (push) Successful in 8m2s
CI / docker (push) Successful in 39s
CI / coverage (push) Successful in 6m23s
45 lines
2.0 KiB
Gherkin
45 lines
2.0 KiB
Gherkin
Feature: Coverage threshold configuration enforcement
|
|
|
|
The project enforces a minimum 97% code coverage threshold.
|
|
This is configured in pyproject.toml and enforced by the
|
|
nox coverage_report session.
|
|
|
|
Scenario: Coverage configuration exists in pyproject.toml
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage run section should exist
|
|
And the coverage source should include "src"
|
|
And the coverage branch tracking should be enabled
|
|
|
|
Scenario: Coverage threshold is at least 97 percent in noxfile
|
|
Given the noxfile py is loaded for coverage check
|
|
Then the noxfile should contain a fail-under threshold of at least 97
|
|
|
|
Scenario: Coverage report session exists in noxfile
|
|
Given the noxfile py is loaded for coverage check
|
|
Then the noxfile should define a coverage_report session
|
|
|
|
Scenario: Coverage HTML output directory is configured
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage html directory should be "build/htmlcov"
|
|
|
|
Scenario: Coverage XML output path is configured
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage xml output should be "build/coverage.xml"
|
|
|
|
Scenario: Coverage data file path is configured
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage data file should be "build/.coverage"
|
|
|
|
Scenario: Coverage omits test directories
|
|
Given the pyproject toml file is loaded for coverage check
|
|
Then the coverage omit patterns should include "features/*"
|
|
And the coverage omit patterns should include "*/tests/*"
|
|
|
|
Scenario: CI workflow enforces coverage via nox session
|
|
Given the ci workflow file is loaded for coverage check
|
|
Then the ci workflow should reference nox coverage_report session
|
|
|
|
Scenario: Nightly workflow uses at least 85 percent threshold
|
|
Given the nightly quality workflow file is loaded for coverage check
|
|
Then the nightly workflow should use a fail-under of at least 85
|