github.com/nikkelma/oras-project_oras-go@v1.1.1-0.20220201001104-a75f6a419090/scripts/test.sh (about)

     1  #!/bin/bash -ex
     2  
     3  # Copyright The ORAS Authors.
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #     http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
    18  cd $DIR/../
    19  
    20  rm -rf .cover/ .test/
    21  mkdir .cover/ .test/
    22  trap "rm -rf .test/" EXIT
    23  
    24  export CGO_ENABLED=0
    25  for pkg in `go list ./pkg/... | grep -v /vendor/`; do
    26      go test -v -covermode=atomic \
    27          -coverprofile=".cover/$(echo $pkg | sed 's/\//_/g').cover.out" $pkg
    28  done
    29  
    30  echo "mode: set" > .cover/cover.out && cat .cover/*.cover.out | grep -v mode: | sort -r | \
    31     awk '{if($1 != last) {print $0;last=$1}}' >> .cover/cover.out
    32  
    33  go tool cover -html=.cover/cover.out -o=.cover/coverage.html