.travis.yml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. language: go
  2. sudo: required
  3. go:
  4. - 1.9
  5. addons:
  6. apt_packages:
  7. - libx11-dev
  8. - libgles2-mesa-dev
  9. install:
  10. - go get -t -d -v ./...
  11. script:
  12. - cd psiphon
  13. - go test -race -v ./common
  14. - go test -race -v ./common/osl
  15. - go test -race -v ./common/protocol
  16. - go test -race -v -run TestObfuscatedSessionTicket ./common/tls
  17. # TODO: enable once known race condition is addressed
  18. # also, see comment below
  19. #- sudo -E env "PATH=$PATH" go test -race -v ./common/tun
  20. - go test -race -v ./transferstats
  21. - go test -race -v ./server
  22. - go test -race -v ./server/psinet
  23. - go test -race -v
  24. - go test -v -covermode=count -coverprofile=common.coverprofile ./common
  25. - go test -v -covermode=count -coverprofile=osl.coverprofile ./common/osl
  26. - go test -v -covermode=count -coverprofile=protocol.coverprofile ./common/protocol
  27. # TODO: fix and reenable test, which is failing in TravisCI environment:
  28. # --- FAIL: TestTunneledTCPIPv4
  29. # tun_test.go:226: startTestTCPClient failed: syscall.Connect failed: connection timed out
  30. #
  31. #- sudo -E env "PATH=$PATH" go test -v -covermode=count -coverprofile=tun.coverprofile ./common/tun
  32. - go test -v -covermode=count -coverprofile=transferstats.coverprofile ./transferstats
  33. - go test -v -covermode=count -coverprofile=server.coverprofile ./server
  34. - go test -v -covermode=count -coverprofile=psinet.coverprofile ./server/psinet
  35. - go test -v -covermode=count -coverprofile=psiphon.coverprofile
  36. - go test -v ./memory_test -run TestReconnectTunnels
  37. - go test -v ./memory_test -run TestRestartController
  38. - $HOME/gopath/bin/gover
  39. - $HOME/gopath/bin/goveralls -coverprofile=gover.coverprofile -service=travis-ci -repotoken $COVERALLS_TOKEN
  40. before_install:
  41. - go get github.com/axw/gocov/gocov
  42. - go get github.com/modocache/gover
  43. - go get github.com/mattn/goveralls
  44. - if ! go get github.com/golang/tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
  45. - git rev-parse --short HEAD > psiphon/git_rev
  46. - openssl aes-256-cbc -K $encrypted_bf83b4ab4874_key -iv $encrypted_bf83b4ab4874_iv
  47. -in psiphon/controller_test.config.enc -out psiphon/controller_test.config -d
  48. - openssl aes-256-cbc -K $encrypted_sq6sgjwvsppj_key -iv $encrypted_sq6sgjwvsppj_iv
  49. -in psiphon/feedback_test.config.enc -out psiphon/feedback_test.config -d
  50. notifications:
  51. slack:
  52. rooms:
  53. secure: jVo/BZ1iFtg4g5V+eNxETwXPnbhwVwGzN1vkHJnCLAhV/md3/uHGsZQIMfitqgrX/T+9JBVRbRezjBwfJHYLs40IJTCWt167Lz8R1NlazLyEpcGcdesG05cTl9oEcBb7X52kZt7r8ZIBwdB7W6U/E0/i41qKamiEJqISMsdOoFA=
  54. on_success: always
  55. on_failure: always