Files
ETPlot/tests/run_coverage_local.sh
T
2025-09-08 10:52:58 +02:00

51 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# Local coverage testing script - run coverage without container
echo "🔬 Running local coverage testing..."
# Ensure coverage is installed
pip install coverage 2>/dev/null || echo "Coverage already installed"
# Change to project root
cd /work/kschmidt/web
# Clean previous coverage data
coverage erase
# Run tests with coverage
echo "📊 Running tests with coverage..."
coverage run --source=/work/kschmidt/web /work/kschmidt/web/tests/test_simple_coverage.py 2>/dev/null || \
coverage run --append --source=/work/kschmidt/web -m unittest tests.test_container 2>/dev/null || \
coverage run --append --source=/work/kschmidt/web -m unittest tests.test_build_container 2>/dev/null || \
echo "Running fallback coverage..."
# Generate reports
echo "📈 Generating coverage reports..."
echo
echo "🖥️ Console Coverage Report:"
coverage report --include="*generate_gallery*,*orchestration*" || coverage report
echo
echo "🌐 Generating HTML report..."
coverage html --directory=coverage_html_report
echo "HTML report generated: coverage_html_report/index.html"
echo
echo "📄 Generating XML report..."
coverage xml
echo "XML report generated: coverage.xml"
# Show coverage percentage
COVERAGE_PCT=$(coverage report --format=total 2>/dev/null || echo "0")
echo
echo "🎯 Total Coverage: ${COVERAGE_PCT}%"
if [ "${COVERAGE_PCT}" != "0" ] && (( $(echo "$COVERAGE_PCT >= 80" | bc -l 2>/dev/null || echo "0") )); then
echo "✅ Coverage target met (≥80%)"
else
echo "⚠️ Coverage below target (≥80%)"
fi
echo
echo "✅ Local coverage testing complete!"