12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/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"
- <!DOCTYPE html><head><meta charset="utf-8">
- <script type="text/javascript" src="//tablesorter.com/jquery-latest.js"></script>
- <script type="text/javascript" src="//tablesorter.com/__jquery.tablesorter.min.js"></script>
- <script type="text/javascript">$(document).ready(function() {
- $("table").tablesorter({ sortForce: [[1,0]] }); });</script>
- <style>table,th,td{border:1px solid black;}</style>
- <title>Docker Coverage Report</title>
- </head><body>
- <h1><strong>Docker Coverage Report</strong></h1>
- <table class="tablesorter">
- <thead><tr><th>package</th><th>pct</th></tr></thead><tbody>
- EOF
- for profile in *; do
- gocov convert $profile | gocov-html >$REPORTS/$profile.html
- echo "<tr><td><a href=\"${profile}.html\">$profile</a></td><td>" >> $INDEX
- go tool cover -func=$profile | sed -En '$ s/.+\t(.+)/\1/p' >> $INDEX
- echo "</td></tr>" >> $INDEX
- done
- echo "</tbody></table></body></html>" >> $INDEX
- fi
- # Signal test and coverage result, parsed by docker-ci
- set -x
- exit $exit_status
|