51 lines
1.6 KiB
Bash
Executable File
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!"
|