Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
kardolus
GitHub Repository: kardolus/chatgpt-cli
Path: blob/main/scripts/coverage.sh
2649 views
1
#!/usr/bin/env bash
2
set -euo pipefail
3
4
cd "$( dirname "${BASH_SOURCE[0]}" )/.."
5
6
# Clean up any previous coverage data
7
rm -f coverage.out coverage_unit.out coverage_integration.out coverage_contract.out
8
9
# Run Unit Tests with coverage
10
echo "Run Unit Tests with Coverage"
11
CONFIG_PATH="file://$PWD" TESTING=true go test -mod=vendor ./... -v -cover -coverpkg=./... -coverprofile=coverage_unit.out -run Unit
12
13
# Run Integration Tests with coverage
14
echo "Run Integration Tests with Coverage"
15
CONFIG_PATH="file://$PWD" TESTING=true go test -mod=vendor ./test/... -v -cover -coverpkg=./... -coverprofile=coverage_integration.out -run Integration
16
17
# Run Contract Tests with coverage
18
echo "Run Contract Tests with Coverage"
19
CONFIG_PATH="file://$PWD" TESTING=true go test -mod=vendor ./test/... -v -cover -coverpkg=./... -coverprofile=coverage_contract.out -run Contract
20
21
# Merge the coverage profiles
22
echo "Merging Coverage Profiles"
23
echo "mode: set" > coverage.out
24
tail -q -n +2 coverage_unit.out coverage_integration.out coverage_contract.out >> coverage.out || true
25
26
# Generate an HTML report
27
echo "Generating HTML Coverage Report"
28
go tool cover -html=coverage.out -o test/coverage.html
29
30
echo -e "\n\033[0;32m** Coverage Report Generated: test/coverage.html **\033[0m"
31
32
rm -f coverage.out coverage_unit.out coverage_integration.out coverage_contract.out
33
34