From 25d87553f678e247b3036db7804599624191dfd1 Mon Sep 17 00:00:00 2001 From: Daniel Mizyrycki Date: Mon, 3 Feb 2014 18:44:28 -0800 Subject: [PATCH] docker-ci: Add new docker coverage report Docker-DCO-1.1-Signed-off-by: Daniel Mizyrycki (github: mzdaniel) --- .../docker-ci/docker-coverage/gocoverage.sh | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 hack/infrastructure/docker-ci/docker-coverage/gocoverage.sh diff --git a/hack/infrastructure/docker-ci/docker-coverage/gocoverage.sh b/hack/infrastructure/docker-ci/docker-coverage/gocoverage.sh new file mode 100755 index 0000000000..fdacc290b4 --- /dev/null +++ b/hack/infrastructure/docker-ci/docker-coverage/gocoverage.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +export PATH='/go/bin':$PATH +export DOCKER_PATH='/go/src/github.com/dotcloud/docker' + +# Signal coverage report name, parsed by docker-ci +set -x +COVERAGE_PATH=$(date +"docker-%Y%m%d%H%M%S") +set +x + +REPORTS="/data/$COVERAGE_PATH" +INDEX="$REPORTS/index.html" + +# Test docker +cd $DOCKER_PATH +./hack/make.sh test; exit_status=$? +PROFILE_PATH="$(ls -d $DOCKER_PATH/bundles/* | sed -n '$ p')/test/coverprofiles" + +if [ "$exit_status" -eq "0" ]; then + # Download coverage dependencies + go get github.com/axw/gocov/gocov + go get -u github.com/matm/gocov-html + + # Create coverage report + mkdir -p $REPORTS + cd $PROFILE_PATH + cat > $INDEX << "EOF" + + + + + +Docker Coverage Report + +

Docker Coverage Report

+ + +EOF + for profile in *; do + gocov convert $profile | gocov-html >$REPORTS/$profile.html + echo "" >> $INDEX + done + echo "
packagepct
$profile" >> $INDEX + go tool cover -func=$profile | sed -En '$ s/.+\t(.+)/\1/p' >> $INDEX + echo "
" >> $INDEX +fi + +# Signal test and coverage result, parsed by docker-ci +set -x +exit $exit_status +