pyWebLayout/run_coverage_gutters.py
Duncan Tourolle ed39f40bad
All checks were successful
Python CI / test (push) Successful in 42s
Add: Coverage gutters
Remove: Un-used funcs
2025-06-07 17:11:22 +02:00

49 lines
1.5 KiB
Python

#!/usr/bin/env python3
"""
Simple coverage runner for Coverage Gutters extension.
Generates coverage.xml file needed by the VSCode Coverage Gutters extension.
"""
import subprocess
import sys
import os
def main():
"""Run coverage for Coverage Gutters."""
print("Generating coverage for Coverage Gutters...")
try:
# Run tests with coverage and generate XML report
cmd = [
sys.executable, "-m", "pytest",
"tests/",
"--cov=pyWebLayout",
"--cov-report=xml",
"--cov-report=term"
]
result = subprocess.run(cmd, check=True)
# Check if coverage.xml was created
if os.path.exists("coverage.xml"):
print("✓ coverage.xml generated successfully!")
print("Coverage Gutters should now be able to display coverage data.")
print("\nTo use Coverage Gutters in VSCode:")
print("1. Open Command Palette (Ctrl+Shift+P)")
print("2. Run 'Coverage Gutters: Display Coverage'")
print("3. Or use the Coverage Gutters buttons in the status bar")
else:
print("✗ coverage.xml was not generated")
except subprocess.CalledProcessError as e:
print(f"Error running tests: {e}")
sys.exit(1)
except FileNotFoundError:
print("pytest not found. Please install it with: pip install pytest pytest-cov")
sys.exit(1)
if __name__ == "__main__":
main()