Files
cleveragents-core/features/coverage_threshold_config.feature
T
freemo 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
feat(db): add spec-aligned action and plan tables with migrations, ORM models, and benchmarks
2026-02-13 13:05:20 -05:00

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