From ee520cd3f5aa3f7401e4d57763a86eedb6e6b2ed Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Wed, 8 Nov 2017 10:29:49 +0000 Subject: [PATCH] Move TEST_SUITE to only be in travis-test.sh --- scripts/build-test-lint.sh | 28 +++++++++++----------------- scripts/travis-test.sh | 31 ++++++++++++++++++++++++------- 2 files changed, 35 insertions(+), 24 deletions(-) diff --git a/scripts/build-test-lint.sh b/scripts/build-test-lint.sh index 1f70ae852..16078173d 100755 --- a/scripts/build-test-lint.sh +++ b/scripts/build-test-lint.sh @@ -7,23 +7,17 @@ set -eu export GOPATH="$(pwd):$(pwd)/vendor" export PATH="$PATH:$(pwd)/vendor/bin:$(pwd)/bin" -if [ "${TEST_SUITE-}" != "lint" ]; then - echo "Checking that it builds" - gb build +echo "Checking that it builds" +gb build - # Check that all the packages can build. - # When `go build` is given multiple packages it won't output anything, and just - # checks that everything builds. This seems to do a better job of handling - # missing imports than `gb build` does. - echo "Double checking it builds..." - go build github.com/matrix-org/dendrite/cmd/... -fi +# Check that all the packages can build. +# When `go build` is given multiple packages it won't output anything, and just +# checks that everything builds. This seems to do a better job of handling +# missing imports than `gb build` does. +echo "Double checking it builds..." +go build github.com/matrix-org/dendrite/cmd/... -if [ "${TEST_SUITE-lint}" == "lint" ]; then - ./scripts/find-lint.sh -fi +./scripts/find-lint.sh -if [ "${TEST_SUITE-unit-test}" == "unit-test" ]; then - echo "Testing..." - gb test -fi +echo "Testing..." +gb test diff --git a/scripts/travis-test.sh b/scripts/travis-test.sh index 154cf18cc..922ac7836 100755 --- a/scripts/travis-test.sh +++ b/scripts/travis-test.sh @@ -1,6 +1,10 @@ #! /bin/bash # The entry point for travis tests +# +# TEST_SUITE env var can be set to "lint", "unit-test" or "integ-test", in +# which case only the linting, unit tests or integration tests will be run +# respectively. If not specified or null all tests are run. set -eu @@ -8,8 +12,26 @@ set -eu export GOGC=400 export DENDRITE_LINT_DISABLE_GC=1 -# We don't bother to build if we're only checking the linting -if [ "${TEST_SUITE-}" != "lint" ]; then +export GOPATH="$(pwd):$(pwd)/vendor" +export PATH="$PATH:$(pwd)/vendor/bin:$(pwd)/bin" + +if [ "${TEST_SUITE:-lint}" == "lint" ]; then + ./scripts/find-lint.sh +fi + +if [ "${TEST_SUITE:-unit-test}" == "unit-test" ]; then + gb test +fi + +if [ "${TEST_SUITE:-integ-test}" == "integ-test" ]; then + gb build + + # Check that all the packages can build. + # When `go build` is given multiple packages it won't output anything, and just + # checks that everything builds. This seems to do a better job of handling + # missing imports than `gb build` does. + go build github.com/matrix-org/dendrite/cmd/... + # Check that the servers build (this is done explicitly because `gb build` can silently fail (exit 0) and then we'd test a stale binary) gb build github.com/matrix-org/dendrite/cmd/dendrite-room-server gb build github.com/matrix-org/dendrite/cmd/roomserver-integration-tests @@ -19,12 +41,7 @@ if [ "${TEST_SUITE-}" != "lint" ]; then gb build github.com/matrix-org/dendrite/cmd/dendrite-media-api-server gb build github.com/matrix-org/dendrite/cmd/mediaapi-integration-tests gb build github.com/matrix-org/dendrite/cmd/client-api-proxy -fi -# Run unit tests and linters -./scripts/build-test-lint.sh - -if [ "${TEST_SUITE-integ-test}" == "integ-test" ]; then # Run the integration tests bin/roomserver-integration-tests bin/syncserver-integration-tests