go-pulse/build/test-global-coverage.sh

27 lines
652 B
Bash
Raw Normal View History

2015-04-28 23:27:47 +00:00
#!/bin/bash
# This script runs all package tests and merges the resulting coverage
# profiles. Coverage is accounted per package under test.
set -e
if [ ! -f "build/env.sh" ]; then
echo "$0 must be run from the root of the repository."
exit 2
fi
echo "mode: count" > profile.cov
for pkg in $(go list ./...); do
# drop the namespace prefix.
dir=${pkg##github.com/ethereum/go-ethereum/}
2015-06-18 20:38:17 +00:00
if [[ $dir != "tests" ]]; then
2015-04-28 23:27:47 +00:00
go test -covermode=count -coverprofile=$dir/profile.tmp $pkg
fi
if [[ -f $dir/profile.tmp ]]; then
tail -n +2 $dir/profile.tmp >> profile.cov
rm $dir/profile.tmp
fi
done