github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/test/run_tests.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  cd "$(dirname "$BASH_SOURCE")/.."
     4  
     5  set -f -u -e
     6  
     7  options=$(getopt c $*)
     8  if [ $? -ne 0 ]; then
     9      echo "Incorrect options provided"
    10      exit 1
    11  fi
    12  
    13  for i
    14  do
    15      case "$1" in
    16      -c)
    17          FLAGS=-c
    18          ;;
    19      esac
    20      shift
    21  done
    22  
    23  (cd citogo && go install)
    24  
    25  # Log the Go version.
    26  echo "Running tests on commit $(git rev-parse --short HEAD) with $(go version)."
    27  
    28  DIRS=$(go list ./... | sed -e 's/^github.com\/keybase\/client\/go\///')
    29  
    30  export KEYBASE_LOG_SETUPTEST_FUNCS=1
    31  
    32  # Add libraries used in testing
    33  go get "github.com/stretchr/testify/require"
    34  go get "github.com/stretchr/testify/assert"
    35  
    36  failures=()
    37  
    38  branch=$(git rev-parse --abbrev-ref HEAD)
    39  build_id=$(perl -e '{ print time }')
    40  
    41  for i in $DIRS; do
    42    echo -n "$i......."
    43    if ! (cd $i && citogo --flakes 4 --fails 5 --branch $branch --build-id $build_id --prefix $i --timeout 150s) ; then
    44      failures+=("$i")
    45    fi
    46  done
    47  
    48  echo
    49  if [ "${#failures[@]}" -ne 0 ] ; then
    50    echo FAILURES:
    51    for failure in "${failures[@]}" ; do
    52      echo "  $failure"
    53    done
    54    exit 1
    55  else
    56    echo SUCCESS
    57    exit 0
    58  fi