27 lines
655 B
Bash
Executable File
27 lines
655 B
Bash
Executable File
#!/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
|