41 lines
1.3 KiB
Bash
Executable File
41 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Test Coverage Report
|
|
# Links test requirements to implementations
|
|
#
|
|
|
|
echo "Test Coverage Report"
|
|
echo "===================="
|
|
echo ""
|
|
|
|
test_reqs=$(grep -rh "@req-test:" src-tauri/ 2>/dev/null | \
|
|
sed 's/.*@req-test: \([A-Z][A-Z]-[0-9]*\).*/\1/' | \
|
|
sort -u)
|
|
|
|
total_tests=0
|
|
covered=0
|
|
uncovered=0
|
|
|
|
for req in $test_reqs; do
|
|
test_count=$(grep -r "@req-test: $req" src-tauri/ 2>/dev/null | wc -l)
|
|
impl_count=$(grep -r "@req: $req" src-tauri/ src/ 2>/dev/null | wc -l)
|
|
|
|
((total_tests++))
|
|
|
|
if [ "$test_count" -gt 0 ] && [ "$impl_count" -gt 0 ]; then
|
|
echo "✅ $req: $test_count test(s), $impl_count implementation(s)"
|
|
((covered++))
|
|
elif [ "$impl_count" -eq 0 ]; then
|
|
echo "⚠️ $req: $test_count test(s) but no implementation"
|
|
((uncovered++))
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "Summary:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
printf "Total Test Requirements: %3d\n" "$total_tests"
|
|
printf "✅ With Implementation: %3d (%.0f%%)\n" "$covered" "$(echo "scale=0; $covered * 100 / $total_tests" | bc)"
|
|
printf "⚠️ No Implementation: %3d (%.0f%%)\n" "$uncovered" "$(echo "scale=0; $uncovered * 100 / $total_tests" | bc)"
|
|
echo ""
|