github.com/vpayno/adventofcode-2022-golang-workspace@v0.0.0-20230605190011-dbafed5593de/scripts/go-test-with-coverage-annotate (about) 1 #!/bin/bash 2 3 main() { 4 go generate ./... 5 6 echo gotest -v -covermode=count -coverprofile=./reports/.coverage.out -cover ./... 7 time gotest -v -covermode=count -coverprofile=./reports/.coverage.out -cover ./... 8 printf "\n" 9 10 # go install github.com/axw/gocov/gocov@latest 11 12 echo gocov convert ./reports/.coverage.out '|' jq --sort-keys . '>' .coverage.json 13 time gocov convert ./reports/.coverage.out | jq --sort-keys . >.coverage.json 14 printf "\n" 15 16 echo jq . .coverage.json '|' gocov annotate -ceiling 100 - '|' tee reports/coverage-annotations.txt 17 time jq . .coverage.json | gocov annotate -ceiling 100 - | tee reports/coverage-annotations.txt 18 printf "\n" | tee -a reports/coverage-annotations.txt 19 20 echo jq . .coverage.json '|' gocov report '|' tee reports/coverage-summary.txt 21 time jq . .coverage.json | gocov report | tee reports/coverage-summary.txt 22 printf "\n" 23 } 24 25 time main 26 27 # echo git restore ./cmd/*/.version.txt 28 # time git restore ./cmd/*/.version.txt 29 # printf "\n"