31 lines
626 B
Plaintext
31 lines
626 B
Plaintext
|
#!/bin/bash -e
|
||
|
#
|
||
|
# Generate coverage HTML for a package
|
||
|
# e.g. PKG=./unit ./cover
|
||
|
#
|
||
|
|
||
|
if [ -z "$PKG" ]; then
|
||
|
echo "cover only works with a single package, sorry"
|
||
|
exit 255
|
||
|
fi
|
||
|
|
||
|
COVEROUT="coverage"
|
||
|
|
||
|
if ! [ -d "$COVEROUT" ]; then
|
||
|
mkdir "$COVEROUT"
|
||
|
fi
|
||
|
|
||
|
# strip leading dot/slash and trailing slash and sanitize other slashes
|
||
|
# e.g. ./etcdserver/etcdhttp/ ==> etcdserver_etcdhttp
|
||
|
COVERPKG=${PKG/#./}
|
||
|
COVERPKG=${COVERPKG/#\//}
|
||
|
COVERPKG=${COVERPKG/%\//}
|
||
|
COVERPKG=${COVERPKG//\//_}
|
||
|
|
||
|
# generate arg for "go test"
|
||
|
export COVER="-coverprofile ${COVEROUT}/${COVERPKG}.out"
|
||
|
|
||
|
source ./test
|
||
|
|
||
|
go tool cover -html=${COVEROUT}/${COVERPKG}.out
|