-
Notifications
You must be signed in to change notification settings - Fork 131
Expand file tree
/
Copy pathcoverage.sh
More file actions
executable file
·40 lines (28 loc) · 923 Bytes
/
coverage.sh
File metadata and controls
executable file
·40 lines (28 loc) · 923 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# SPDX-License-Identifier: AGPL-3.0
## First install the following tools:
# go install github.com/jandelgado/gcov2lcov@latest
# brew install lcov
# if any command fails then immediately exit
set -o errexit
# 1) test
go test ./... -coverprofile=coverage.out
# 2) convert result to lcov
gcov2lcov -infile=coverage.out -outfile=coverage_raw.lcov
exclude_patterns=(
'*.pb.go'
'*.pb.gw.go'
'*.pulsar.go'
)
# 3) Exclude files from coverage results
lcov --remove coverage_raw.lcov "${exclude_patterns[@]}" -o coverage.lcov
# lcov --remove coverage_raw.lcov 'x/emissions/types/*.pb.go' -o coverage.lcov
rm coverage_raw.lcov
# 4) Clean coverage directory
rm -rf coverage
mkdir -p coverage
# 5) create html viewable coverage report
genhtml coverage.lcov --dark-mode -o coverage
# 6) cleanup
rm -f coverage/coverage.lcov
mv coverage.lcov coverage
echo 'Success! Coverage data viewable in coverage/index.html'