github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/hack/test-go.sh (about) 1 #!/usr/bin/env bash 2 3 set -o errexit 4 set -o nounset 5 set -o pipefail 6 7 REPO_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P) 8 9 # Default timeout is 1800s 10 TEST_TIMEOUT=${TIMEOUT:-1800} 11 12 # Write go test artifacts here 13 ARTIFACTS=${ARTIFACTS:-"${REPO_ROOT}/tmp"} 14 pkg=github.com/NpoolPlatform/go-service-framework/pkg/version 15 16 for arg in "$@" 17 do 18 case $arg in 19 -t=*|--timeout=*) 20 TEST_TIMEOUT="${arg#*=}" 21 shift 22 ;; 23 -t|--timeout) 24 TEST_TIMEOUT="$2" 25 shift 26 shift 27 esac 28 done 29 30 cd "${REPO_ROOT}" 31 32 mkdir -p "${ARTIFACTS}" 33 34 go_test_flags=( 35 -v 36 -count=1 37 -timeout="${TEST_TIMEOUT}s" 38 -cover -coverprofile "${ARTIFACTS}/coverage.out" 39 ) 40 41 if git_status=$(git status --porcelain --untracked=no 2>/dev/null) && [[ -z "${git_status}" ]]; then 42 git_tree_state=clean 43 fi 44 45 git_branch=`git rev-parse --abbrev-ref HEAD` 46 set +e 47 version=`git describe --tags --abbrev=0` 48 if [ ! $? -eq 0 ]; then 49 version=$git_branch 50 fi 51 set -e 52 53 compile_date=`date -u +'%Y-%m-%dT%H:%M:%SZ'` 54 git_revision=`git rev-parse HEAD 2>/dev/null || echo unknow` 55 56 go test -ldflags "-s -w -X $pkg.buildDate=${compile_date} \ 57 -X $pkg.gitCommit=${git_revision} \ 58 -X $pkg.gitVersion=${version} \ 59 -X $pkg.gitBranch=${git_branch}" \ 60 -p 1 \ 61 ./... -coverprofile ${ARTIFACTS}/coverage.out 62 63 go tool cover -html "${ARTIFACTS}/coverage.out" -o "${ARTIFACTS}/coverage.html"