Skip to content

Coverage Tools

Tools for collecting Python code coverage from containerized flowgraphs.

collect_coverage

Collect coverage data from a stopped container.

Combines any parallel coverage files and returns a summary.

Parameters

NameTypeDefaultDescription
namestr-Container name

Returns

Type: CoverageDataModel

Coverage summary.

Example

data = collect_coverage(name="coverage-test")
# Returns: CoverageDataModel(
# container_name="coverage-test",
# coverage_file="/tmp/gr-mcp-coverage/coverage-test/.coverage",
# summary="Name Stmts Miss Cover\n...",
# lines_covered=150,
# lines_total=200,
# coverage_percent=75.0
# )

generate_coverage_report

Generate a coverage report in the specified format.

Parameters

NameTypeDefaultDescription
namestr-Container name
formatstr"html"Report format: html, xml, or json

Returns

Type: CoverageReportModel

Report location.

Example

# HTML report
report = generate_coverage_report(name="coverage-test", format="html")
# Returns: CoverageReportModel(
# container_name="coverage-test",
# format="html",
# report_path="/tmp/gr-mcp-coverage/coverage-test/htmlcov/index.html"
# )
# XML report (Cobertura format)
report = generate_coverage_report(name="coverage-test", format="xml")
# report_path="/tmp/gr-mcp-coverage/coverage-test/coverage.xml"
# JSON report
report = generate_coverage_report(name="coverage-test", format="json")
# report_path="/tmp/gr-mcp-coverage/coverage-test/coverage.json"

combine_coverage

Combine coverage data from multiple containers.

Useful for aggregating coverage across a test suite.

Parameters

NameTypeDefaultDescription
nameslist[str]-Container names to combine

Returns

Type: CoverageDataModel

Combined coverage summary.

Example

combined = combine_coverage(names=["test-1", "test-2", "test-3"])
# Returns: CoverageDataModel(
# container_name="combined",
# coverage_file="/tmp/gr-mcp-coverage/combined/.coverage",
# summary="...",
# lines_covered=250,
# lines_total=300,
# coverage_percent=83.3
# )

delete_coverage

Delete coverage data.

Parameters

NameTypeDefaultDescription
namestr | NoneNoneDelete specific container’s coverage
older_than_daysint | NoneNoneDelete coverage older than N days

Returns

Type: int

Number of coverage directories deleted.

Example

# Delete specific container's coverage
delete_coverage(name="coverage-test")
# Returns: 1
# Delete old coverage
delete_coverage(older_than_days=7)
# Returns: 5
# Delete all coverage
delete_coverage()
# Returns: 10