diff --git a/.travis.yml b/.travis.yml index 816a977..6c0e292 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,26 @@ language: go dist: trusty +env: + # COVERALLS_TOKEN + secure: "jXueELysh+Zq1YZAIlHdorCANZKQL/6hRTaSLDJGeLwKnZPwKvLsn7FucNsPZ7KAL1DM8Ij7YciQOirgrKng2+KMCTgoB05erFn/Fq/cYxtIkHHE1yy0m4Iqy6q2Ttq/Lhw16Hni03Om4whX0q3W5Yk+aZTeOjKWOMoSrGTrrw7y2tqLUwBLOpl54yYk5dSJ3apPdawLFhi+DfPK4ss6qbEzN4n+g9hJJYmKSXynpcHdVCKZkVJdgVz9mm6vPRlyDVoQNfzCm015eikRigQFagSN/tYs6NtOKIPeiM820GhGsda7TXYjuqYxB3XRZkfq+o0IexPbsaSnNPDjKyB9CUAOndhJtGotRu9BnXBxLXwn3/tUzCT98cB9Sv8S826askalGTXeKr5Wv+oRjkcMUJlrh4xoXJR9gFRcLA4vOnS0fbf5snFwFwskiKNh5grKJoG5QJATTfubMAZHHApNLFcK94Zt7n4TdsE+Ui6uKkrARjIHEonCu6h8xVJA2DUfOKKtayn12b6rn3AhDCiab5YnOh8EI87McAfqYIsFse6k+PvCHIqSj6N6am1AY+Sjs9K/SbXJcwE15MwRP/Q76dsnLCsUuSOVmjbPe+Uix1PBnwd1zXIFrMxxjpLBaf5YGVH1ZfBGR6TmNJZmeCryXdpLGxGij3h1ooHMYhtdtE8=" + go: - 1.7 - 1.8 - tip -script: go test -v -test.run='BCD|Parse' ./... - addons: apt: packages: libusb-1.0-0-dev + +install: + - go get golang.org/x/tools/cmd/cover + - go get github.com/mattn/goveralls + +script: + # a workaround for go test not supporting coverage for multiple packages in a single invocation + - |- + echo 'mode: count' > coverage.merged && go list ./... | xargs -n1 -I{} sh -c ': > coverage.tmp; go test -v -covermode=count -coverprofile=coverage.tmp {} && tail -n +2 coverage.tmp >> coverage.merged' && rm coverage.tmp + - $HOME/gopath/bin/goveralls -coverprofile=coverage.merged -service=travis-ci -repotoken $COVERALLS_TOKEN diff --git a/README.md b/README.md index fc65fa7..93ec816 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ Introduction [![Build Status][ciimg]][ci] [![GoDoc][docimg]][doc] +[![Coverage Status](https://coveralls.io/repos/github/kylelemons/gousb/badge.svg?branch=coverage)](https://coveralls.io/github/kylelemons/gousb?branch=coverage) The gousb package is an attempt at wrapping the libusb library into a Go-like binding. diff --git a/usb/device_test.go b/usb/device_test.go index 2fcd725..a8db5fc 100644 --- a/usb/device_test.go +++ b/usb/device_test.go @@ -16,12 +16,16 @@ package usb_test import ( + "os" "testing" . "github.com/kylelemons/gousb/usb" ) func TestGetStringDescriptorAscii(t *testing.T) { + if os.Getenv("TRAVIS") == "true" { + t.Skip("test known to fail on Travis") + } c := NewContext() defer c.Close() c.Debug(0) diff --git a/usb/usb_test.go b/usb/usb_test.go index 2e18019..262ae12 100644 --- a/usb/usb_test.go +++ b/usb/usb_test.go @@ -26,12 +26,18 @@ import ( ) func TestNoop(t *testing.T) { + if os.Getenv("TRAVIS") == "true" { + t.Skip("test known to fail on Travis") + } c := NewContext() defer c.Close() c.Debug(0) } func TestEnum(t *testing.T) { + if os.Getenv("TRAVIS") == "true" { + t.Skip("test known to fail on Travis") + } c := NewContext() defer c.Close() c.Debug(0) @@ -83,6 +89,9 @@ func TestEnum(t *testing.T) { } func TestOpenDeviceWithVidPid(t *testing.T) { + if os.Getenv("TRAVIS") == "true" { + t.Skip("test known to fail on Travis") + } c := NewContext() defer c.Close() c.Debug(0) @@ -123,6 +132,9 @@ func TestOpenDeviceWithVidPid(t *testing.T) { } func TestMultipleContexts(t *testing.T) { + if os.Getenv("TRAVIS") == "true" { + t.Skip("test known to fail on Travis") + } var buf bytes.Buffer log.SetOutput(&buf) for i := 0; i < 2; i++ {