Initial commit
This commit is contained in:
25
script/coverage
Executable file
25
script/coverage
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
||||
GO_PACKAGE_DIRS=$(find . -not -path './vendor/*' -name '*.go' -printf '%h\n' | uniq)
|
||||
COVERAGE_DIR="$DIR/../coverage"
|
||||
|
||||
rm -rf "$COVERAGE_DIR"
|
||||
mkdir -p "$COVERAGE_DIR"
|
||||
|
||||
for dir in $GO_PACKAGE_DIRS; do
|
||||
pushd $dir > /dev/null
|
||||
go test -coverprofile="$DIR/../coverage/${dir//\//_}.out" > /dev/null
|
||||
popd > /dev/null
|
||||
done
|
||||
|
||||
OUTPUT_FILES=$(find "$COVERAGE_DIR" -name '*.out')
|
||||
for out in $OUTPUT_FILES; do
|
||||
package=$(realpath --relative-to="$DIR/../coverage" "${out}" | sed -e 's/\.out$//' -e 's/^\._//')
|
||||
echo "-- Package '${package//_/\/}' --"
|
||||
echo
|
||||
go tool cover -func="$out"
|
||||
echo
|
||||
done
|
Reference in New Issue
Block a user