1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/bin/bash
- set -e
- workdir=.cover
- profile="$workdir/cover.out"
- mode=set
- end2endtest="google.golang.org/grpc/test"
- generate_cover_data() {
- rm -rf "$workdir"
- mkdir "$workdir"
- for pkg in "$@"; do
- if [ $pkg == "google.golang.org/grpc" -o $pkg == "google.golang.org/grpc/transport" -o $pkg == "google.golang.org/grpc/metadata" -o $pkg == "google.golang.org/grpc/credentials" ]
- then
- f="$workdir/$(echo $pkg | tr / -)"
- go test -covermode="$mode" -coverprofile="$f.cover" "$pkg"
- go test -covermode="$mode" -coverpkg "$pkg" -coverprofile="$f.e2e.cover" "$end2endtest"
- fi
- done
- echo "mode: $mode" >"$profile"
- grep -h -v "^mode:" "$workdir"/*.cover >>"$profile"
- }
- show_cover_report() {
- go tool cover -${1}="$profile"
- }
- push_to_coveralls() {
- goveralls -coverprofile="$profile"
- }
- generate_cover_data $(go list ./...)
- show_cover_report func
- case "$1" in
- "")
- ;;
- --html)
- show_cover_report html ;;
- --coveralls)
- push_to_coveralls ;;
- *)
- echo >&2 "error: invalid option: $1" ;;
- esac
- rm -rf "$workdir"
|