Files
query-orchestration/scripts/tests.yml
T
Michael McGuinness 372edce065 movetests
2025-01-07 16:30:45 +00:00

52 lines
1.3 KiB
YAML

# https://taskfile.dev
version: '3'
includes:
docker:
taskfile: docker.yml
internal: true
vars:
COVERAGE_FILE: "{{.CONTEXT}}/{{.OUT_DIR}}/coverage.out"
tasks:
unit:
vars:
INTERNAL: "{{.CONTEXT}}/internal/..."
API: "{{.CONTEXT}}/api/..."
CMD: "{{.CONTEXT}}/cmd/..."
cmds:
- mkdir -p {{.CONTEXT}}/{{.OUT_DIR}}
- go test {{.INTERNAL}} {{.API}} {{.CMD}} -coverpkg={{.INTERNAL}},{{.API}},{{.CMD}} -coverprofile={{.COVERAGE_FILE}}
unit:coverage:
deps:
- unit
vars:
TMP_FILE: "{{.CONTEXT}}/{{.OUT_DIR}}/coverage.tmp"
cmds:
- go tool cover -func={{.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"
exit 1
fi
silent: true
integration:
deps:
- docker:build
cmds:
- task test:integration:nobuild
integration:nocache:
deps:
- docker:build
cmds:
- go test -count=1 -v {{.CONTEXT}}/test/...
integration:nobuild:
cmds:
- go test -v {{.CONTEXT}}/test/...