27 lines
564 B
Bash
27 lines
564 B
Bash
#/bin/sh
|
|
|
|
# see http://www.songmu.jp/riji/entry/2015-01-15-goveralls-multi-package.html
|
|
|
|
set -e
|
|
# cleanup
|
|
cleanup() {
|
|
if [ $tmpprof != "" ] && [ -f $tmpprof ]; then
|
|
rm -f $tmpprof
|
|
fi
|
|
exit
|
|
}
|
|
trap cleanup INT QUIT TERM EXIT
|
|
|
|
# メインの処理
|
|
prof=${1:-".profile.cov"}
|
|
echo "mode: count" > $prof
|
|
gopath1=$(echo $GOPATH | cut -d: -f1)
|
|
for pkg in $(go list ./...); do
|
|
tmpprof=$gopath1/src/$pkg/profile.tmp
|
|
go test -covermode=count -coverprofile=$tmpprof $pkg
|
|
if [ -f $tmpprof ]; then
|
|
cat $tmpprof | tail -n +2 >> $prof
|
|
rm $tmpprof
|
|
fi
|
|
done
|