Merge pull request #8012 from heyitsanthony/cov-corruption

test: incrementally merge coverage files
release-3.3
Anthony Romano 2017-06-01 11:51:49 -07:00 committed by GitHub
commit f80be42a55
1 changed files with 10 additions and 1 deletions

11
test
View File

@ -129,7 +129,16 @@ function cov_pass {
# on leadership transfer timeout during gracefully shutdown
go test -tags cov -timeout 30m -v ${REPO_PATH}"/e2e" || failed="$failed e2e"
gocovmerge "$COVERDIR"/*.coverprofile >"$COVERDIR"/cover.out
# incrementally merge to get coverage data even if some coverage files are corrupted
# optimistically assume etcdserver package's coverage file is OK since gocovmerge
# expects to start with a non-empty file
cp "$COVERDIR"/etcdserver.coverprofile "$COVERDIR"/cover.out
for f in "$COVERDIR"/*.coverprofile; do
gocovmerge $f "$COVERDIR"/cover.out >"$COVERDIR"/cover.tmp || failed="$failed $f"
if [ -s "$COVERDIR"/cover.tmp ]; then
mv "$COVERDIR"/cover.tmp "$COVERDIR"/cover.out
fi
done
# strip out generated files (using GNU-style sed)
sed --in-place '/generated.go/d' "$COVERDIR"/cover.out || true