forked from mirror/go-ethereum
parent
c6b983e449
commit
aa03e53ca8
@ -0,0 +1,26 @@ |
||||
#!/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/} |
||||
|
||||
if [[ $dir != "tests/vm" ]]; then |
||||
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 |
@ -1,31 +0,0 @@ |
||||
#!/bin/bash |
||||
|
||||
set -e |
||||
|
||||
# Add godep workspace to GOPATH. We do it manually instead of using |
||||
# 'godep go test' or 'godep restore' so godep doesn't need to be installed. |
||||
GOPATH="$PWD/Godeps/_workspace:$GOPATH" |
||||
|
||||
# Install packages before testing. Not doing this would cause |
||||
# 'go test' to recompile all package dependencies before testing each package. |
||||
go install ./... |
||||
|
||||
# Run test coverage on each subdirectories and merge the coverage profile. |
||||
echo "mode: count" > profile.cov |
||||
|
||||
# Standard go tooling behavior is to ignore dirs with leading underscors |
||||
for dir in $(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); |
||||
do |
||||
if ls $dir/*.go &> /dev/null; then |
||||
# echo $dir |
||||
if [[ $dir != "./tests/vm" && $dir != "." ]] |
||||
then |
||||
go test -covermode=count -coverprofile=$dir/profile.tmp $dir |
||||
fi |
||||
if [ -f $dir/profile.tmp ] |
||||
then |
||||
cat $dir/profile.tmp | tail -n +2 >> profile.cov |
||||
rm $dir/profile.tmp |
||||
fi |
||||
fi |
||||
done |
Loading…
Reference in new issue