#!/bin/bash -ex ext=".coverprofile" # Clean existing coverage files. find . -name '*'${ext} | xargs rm -f # Unit test coverage. go test -covermode=count -coverprofile=unittests${ext} ./... # Integration test coverage. coverprofiles=() for main in $(find . -name 'asm.go'); do dir=$(dirname ${main}) name=$(basename ${dir}) coverprofile="${dir}/${name}${ext}" ./script/covermain ${main} ${coverprofile} > /dev/null coverprofiles+=(${coverprofile}) done covertool merge --output integration${ext} ${coverprofiles[@]} # Merge. covertool merge --output all${ext} unittests${ext} integration${ext}