github.com/blixtra/rkt@v0.8.1-0.20160204105720-ab0d1add1a43/Godeps/_workspace/src/google.golang.org/grpc/coverage.sh (about)

     1  #!/bin/bash
     2  
     3  set -e
     4  
     5  workdir=.cover
     6  profile="$workdir/cover.out"
     7  mode=set
     8  end2endtest="google.golang.org/grpc/test"
     9  
    10  generate_cover_data() {
    11      rm -rf "$workdir"
    12      mkdir "$workdir"
    13  
    14      for pkg in "$@"; do
    15          if [ $pkg == "google.golang.org/grpc" -o $pkg == "google.golang.org/grpc/transport" -o $pkg == "google.golang.org/grpc/metadata" -o $pkg == "google.golang.org/grpc/credentials" ]
    16              then
    17                  f="$workdir/$(echo $pkg | tr / -)"
    18                  go test -covermode="$mode" -coverprofile="$f.cover" "$pkg"
    19                  go test -covermode="$mode" -coverpkg "$pkg" -coverprofile="$f.e2e.cover" "$end2endtest"
    20          fi
    21      done
    22  
    23      echo "mode: $mode" >"$profile"
    24      grep -h -v "^mode:" "$workdir"/*.cover >>"$profile"
    25  }
    26  
    27  show_cover_report() {
    28      go tool cover -${1}="$profile"
    29  }
    30  
    31  push_to_coveralls() {
    32      goveralls -coverprofile="$profile"
    33  }
    34  
    35  generate_cover_data $(go list ./...)
    36  show_cover_report func
    37  case "$1" in
    38  "")
    39      ;;
    40  --html)
    41      show_cover_report html ;;
    42  --coveralls)
    43      push_to_coveralls ;;
    44  *)
    45      echo >&2 "error: invalid option: $1" ;;
    46  esac
    47  rm -rf "$workdir"