Merged in feature/functestcov (pull request #84)
Function Test Coverage * test * scripts
This commit is contained in:
+26
-4
@@ -1,7 +1,7 @@
|
||||
---
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
version: "3"
|
||||
|
||||
vars:
|
||||
COVERAGE_FILE: "{{.OUT_DIR}}/coverage.out"
|
||||
@@ -48,17 +48,39 @@ tasks:
|
||||
cmds:
|
||||
- grep -v ".gen.go" {{.COVERAGE_FILE}} > {{.FILTER_COVERAGE_FILE}}
|
||||
- go tool cover -func={{.FILTER_COVERAGE_FILE}} > {{.TMP_FILE}}
|
||||
- cat {{.TMP_FILE}}
|
||||
- |
|
||||
COVERAGE=$(grep total: {{.TMP_FILE}} \
|
||||
| awk '{print $3}' | sed 's/%//' | bc)
|
||||
echo ""
|
||||
echo "Coverage Threshold: {{.COVERAGE_THRESHOLD}}%"
|
||||
echo "Total Coverage: $COVERAGE%"
|
||||
|
||||
if (( $(echo "$COVERAGE < {{.COVERAGE_THRESHOLD}}" | bc -l) )); then
|
||||
echo "Total Coverage below Coverage Threshold"
|
||||
echo "❌ Error: Total Coverage below Coverage Threshold"
|
||||
FAIL=true
|
||||
fi
|
||||
|
||||
echo "Function Coverage Threshold: {{.FUNCTION_COVERAGE_THRESHOLD}}%"
|
||||
FAIL_FUNC=false
|
||||
grep -v total: {{.TMP_FILE}} | while read -r line; do
|
||||
FUNC_COV=$(echo "$line" | awk '{print $3}' | sed 's/%//' | bc)
|
||||
if (( $(echo "$FUNC_COV < \
|
||||
{{.FUNCTION_COVERAGE_THRESHOLD}}" | bc -l) )); then
|
||||
if [ "$FAIL_FUNC" = false ]; then
|
||||
echo "❌ Error: The following functions have coverage below "\
|
||||
"{{.FUNCTION_COVERAGE_THRESHOLD}}%:"
|
||||
FAIL_FUNC=true
|
||||
FAIL=true
|
||||
fi
|
||||
|
||||
echo "$line"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$FAIL" = true ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ All coverage checks passed!"
|
||||
silent: true
|
||||
endtoend:
|
||||
cmds:
|
||||
|
||||
Reference in New Issue
Block a user