github.com/pdfcpu/pdfcpu@v0.11.1/offline_coverage.sh (about)

     1  #!/bin/sh
     2  
     3  # Copyright 2018 The pdfcpu 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  rm c.out
    18  
    19  set -e
    20  
    21  echo mode: set > c.out
    22  
    23  function internalDeps {
    24  
    25      for p in $(go list -f '{{.Deps}}' $1)
    26      do
    27          if [[ $p == github.com/pdfcpu/pdfcpu* ]]; then
    28              idep=$idep,$p 
    29          fi
    30      done
    31  }
    32  
    33  echo collecting coverage ...
    34  
    35  for q in $(go list ./...)
    36  do
    37      #echo collecting coverage for $q
    38      idep=$q
    39      internalDeps $idep
    40      if [[ $q == */test ]]; then
    41          idep=${idep%/test}
    42      fi
    43      GITHUB_ACTIONS="true" go test -coverprofile=c1.out -coverpkg=$idep $q && tail -n +2 c1.out  >> c.out
    44  done
    45  
    46  rm c1.out
    47  
    48  go tool cover -html=c.out