12345678910111213141516171819202122232425262728293031 |
- #!/usr/bin/env bash
- #
- # Generate coverage HTML for a package
- # e.g. PKG=./unit ./cover
- #
- set -e
- 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
|