#!/usr/bin/env bash set -e set -x MODE=atomic echo "mode: $MODE" > coverage.txt # All packages. PKG=$(go list ./...) staticcheck $PKG unused $PKG # Packages that have any tests. PKG=$(go list -f '{{if .TestGoFiles}} {{.ImportPath}} {{end}}' ./...) go test -v $PKG for d in $PKG; do go test -race -coverprofile=profile.out -covermode=$MODE $d if [ -f profile.out ]; then cat profile.out | grep -v "^mode: " >> coverage.txt rm profile.out fi done