github.com/lovung/GoCleanArchitecture@v0.0.0-20210302152432-50d91fd29f9f/scripts/test.sh (about)

     1  #!/bin/bash
     2  
     3  RED=`tput setaf 1`
     4  GRN=`tput setaf 2`
     5  PUR=`tput setaf 13`
     6  RESET=`tput sgr0`
     7  TEST_RESULT_DIR="${TEST_RESULTS:-./tests/results}"
     8  mkdir -p ${TEST_RESULT_DIR}
     9  echo "${GRN}Listing all packages${RESET}"
    10  PKG_LIST+="$(go list ./... | grep -v /vendor/ | grep -v migrations ) "
    11  echo "----------------"
    12  echo "${GRN}Test:${RESET}"
    13  
    14  go test -v -coverpkg=./... -covermode=count ${PKG_LIST} -coverprofile ${TEST_RESULT_DIR}/.testCoverage.txt | tee ${TEST_RESULT_DIR}/test.log; echo ${PIPESTATUS[0]} > ${TEST_RESULT_DIR}/test.out
    15  cat ${TEST_RESULT_DIR}/test.log | go-junit-report > ${TEST_RESULT_DIR}/report.xml
    16  
    17  echo "----------------"
    18  echo "${GRN}Result:${RESET}"
    19  go tool cover -func ${TEST_RESULT_DIR}/.testCoverage.txt
    20  exit $(cat ${TEST_RESULT_DIR}/test.out)
    21