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" +
+ + + + +package | pct |
---|---|
$profile | " >> $INDEX + go tool cover -func=$profile | sed -En '$ s/.+\t(.+)/\1/p' >> $INDEX + echo " |