mirror of https://github.com/poanetwork/quorum.git
ignore swarm package when running tests for PR
This commit is contained in:
parent
89f811a6a6
commit
c8d9ed1741
30
.travis.yml
30
.travis.yml
|
@ -74,20 +74,30 @@ matrix:
|
|||
os: linux
|
||||
dist: xenial
|
||||
script:
|
||||
- sudo modprobe fuse
|
||||
- sudo chmod 666 /dev/fuse
|
||||
- sudo chown root:$USER /etc/fuse.conf
|
||||
- go run build/ci.go install
|
||||
- go run build/ci.go test -coverage $TEST_PACKAGES
|
||||
- |
|
||||
sudo modprobe fuse
|
||||
sudo chmod 666 /dev/fuse
|
||||
sudo chown root:$USER /etc/fuse.conf
|
||||
go run build/ci.go install
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
QUORUM_IGNORE_TEST_PACKAGES=github.com/ethereum/go-ethereum/swarm go run build/ci.go test -coverage $TEST_PACKAGES
|
||||
else
|
||||
go run build/ci.go test -coverage $TEST_PACKAGES
|
||||
fi
|
||||
- if: tag IS blank
|
||||
os: osx
|
||||
osx_image: xcode9.2 # so we don't have to deal with Kernel Extension Consent UI which is never possible in CI
|
||||
script:
|
||||
- brew update
|
||||
- brew install caskroom/cask/brew-cask
|
||||
- brew cask install osxfuse
|
||||
- go run build/ci.go install
|
||||
- go run build/ci.go test -coverage $TEST_PACKAGES
|
||||
- |
|
||||
brew update
|
||||
brew install caskroom/cask/brew-cask
|
||||
brew cask install osxfuse
|
||||
go run build/ci.go install
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
QUORUM_IGNORE_TEST_PACKAGES=github.com/ethereum/go-ethereum/swarm go run build/ci.go test -coverage $TEST_PACKAGES
|
||||
else
|
||||
go run build/ci.go test -coverage $TEST_PACKAGES
|
||||
fi
|
||||
|
||||
- if: tag IS present
|
||||
os: linux
|
||||
|
|
|
@ -329,6 +329,7 @@ func doTest(cmdline []string) {
|
|||
packages = flag.CommandLine.Args()
|
||||
}
|
||||
packages = build.ExpandPackagesNoVendor(packages)
|
||||
packages = build.IgnorePackages(packages)
|
||||
|
||||
// Run the actual tests.
|
||||
// Test a single package at a time. CI builders are slow
|
||||
|
|
|
@ -177,3 +177,27 @@ func ExpandPackagesNoVendor(patterns []string) []string {
|
|||
}
|
||||
return patterns
|
||||
}
|
||||
|
||||
// Read QUORUM_IGNORE_TEST_PACKAGES env and remove from packages
|
||||
func IgnorePackages(packages []string) []string {
|
||||
ignore := os.Getenv("QUORUM_IGNORE_TEST_PACKAGES")
|
||||
if ignore == "" {
|
||||
return packages
|
||||
}
|
||||
ret := make([]string, 0, len(packages))
|
||||
ignorePackages := strings.Split(ignore, ",")
|
||||
|
||||
for _, p := range packages {
|
||||
mustInclude := true
|
||||
for _, ig := range ignorePackages {
|
||||
if strings.Index(p, strings.TrimSpace(ig)) == 0 {
|
||||
mustInclude = false
|
||||
break
|
||||
}
|
||||
}
|
||||
if mustInclude {
|
||||
ret = append(ret, p)
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package build
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
testifyassert "github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestIgnorePackages_whenTypical(t *testing.T) {
|
||||
assert := testifyassert.New(t)
|
||||
|
||||
arbitraryPackages := []string{"abc", "xyz/abc"}
|
||||
|
||||
actual := IgnorePackages(arbitraryPackages)
|
||||
|
||||
assert.Equal(arbitraryPackages, actual)
|
||||
}
|
||||
|
||||
func TestIgnorePackages_whenIgnoreOnePackage(t *testing.T) {
|
||||
assert := testifyassert.New(t)
|
||||
|
||||
arbitraryPackages := []string{"abc", "xyz/abc"}
|
||||
assert.NoError(os.Setenv("QUORUM_IGNORE_TEST_PACKAGES", "abc"))
|
||||
|
||||
actual := IgnorePackages(arbitraryPackages)
|
||||
|
||||
assert.Equal([]string{arbitraryPackages[1]}, actual)
|
||||
}
|
||||
|
||||
func TestIgnorePackages_whenIgnorePackages(t *testing.T) {
|
||||
assert := testifyassert.New(t)
|
||||
|
||||
arbitraryPackages := []string{"abc", "xyz/abc/opq"}
|
||||
assert.NoError(os.Setenv("QUORUM_IGNORE_TEST_PACKAGES", "abc, xyz/abc"))
|
||||
|
||||
actual := IgnorePackages(arbitraryPackages)
|
||||
|
||||
assert.Len(actual, 0)
|
||||
}
|
Loading…
Reference in New Issue