#!/usr/bin/env bash
set -o errexit

export PKGS='./pkg/... ./cmd/...'
export PKGS_COMMA='./pkg/...,./cmd/...'

go test -count=1 -i ${PKGS}
go list -f '{{if gt (len .TestGoFiles) 0}}"go test -count=1 -covermode count -coverprofile {{.Name}}.coverprofile -coverpkg $PKGS_COMMA {{.ImportPath}}"{{end}}' $PKGS | xargs -P100 -I {} bash -c {} 2>&1 | grep -v '^warning: no packages being tested depend on '
gocovmerge $(ls *.coverprofile) > coverage.cov
go tool cover -func=coverage.cov
rm *.coverprofile

exit 0
