shirou_gopsutil/coverall.sh

27 lines
583 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
tail -n +2 "$tmpprof" >> "$prof"
rm "$tmpprof"
fi
done