#!/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()