20 lines
594 B
Bash
Executable File
20 lines
594 B
Bash
Executable File
#!/bin/bash
|
|
set -e -o pipefail
|
|
|
|
# Run test coverage on each subdirectories and merge the coverage profile.
|
|
echo "mode: ${GOCOVMODE-atomic}" > coverage.txt
|
|
|
|
# Standard go tooling behavior is to ignore dirs with leading underscores
|
|
# skip generator for race detection and coverage
|
|
for dir in $(go list ./...)
|
|
do
|
|
pth="$GOPATH/src/$dir"
|
|
go test -race -timeout 20m -covermode=${GOCOVMODE-atomic} -coverprofile=${pth}/profile.out $dir
|
|
if [ -f $pth/profile.out ]
|
|
then
|
|
cat $pth/profile.out | tail -n +2 >> coverage.txt
|
|
rm $pth/profile.out
|
|
fi
|
|
done
|
|
|
|
go tool cover -func coverage.txt |