coverage-docker.sh 888 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. set -x
  3. # Generate a random string of $1 characters
  4. function random {
  5. cat /dev/urandom | tr -cd 'a-f0-9' | head -c $1
  6. }
  7. # Compute test paths
  8. BASE_PATH=`pwd`/test_docker_$(random 12)
  9. DOCKER_PATH=$BASE_PATH/go/src/github.com/dotcloud/docker
  10. export GOPATH=$BASE_PATH/go:$DOCKER_PATH/vendor
  11. # Fetch latest master
  12. mkdir -p $DOCKER_PATH
  13. cd $DOCKER_PATH
  14. git init .
  15. git fetch -q http://github.com/dotcloud/docker master
  16. git reset --hard FETCH_HEAD
  17. # Fetch go coverage
  18. cd $BASE_PATH/go
  19. GOPATH=$BASE_PATH/go go get github.com/axw/gocov/gocov
  20. sudo -E GOPATH=$GOPATH ./bin/gocov test -deps -exclude-goroot -v\
  21. -exclude github.com/gorilla/context,github.com/gorilla/mux,github.com/kr/pty,\
  22. code.google.com/p/go.net/websocket,github.com/dotcloud/tar\
  23. github.com/dotcloud/docker | ./bin/gocov report; exit_status=$?
  24. # Cleanup testing directory
  25. rm -rf $BASE_PATH
  26. exit $exit_status