ff8b229192
We should no longer be building anything into vendor/bin in the scripts, so adding it to the path can lead to all sorts of confusion if old binaries are there.
56 lines
2.1 KiB
Bash
Executable File
56 lines
2.1 KiB
Bash
Executable File
#! /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
|
|
|
|
# Tune the GC to use more memory to reduce the number of garbage collections
|
|
export GOGC=400
|
|
export DENDRITE_LINT_DISABLE_GC=1
|
|
|
|
export GOPATH="$(pwd):$(pwd)/vendor"
|
|
export PATH="$PATH:$(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
|
|
gb build github.com/matrix-org/dendrite/cmd/dendrite-sync-api-server
|
|
gb build github.com/matrix-org/dendrite/cmd/syncserver-integration-tests
|
|
gb build github.com/matrix-org/dendrite/cmd/create-account
|
|
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
|
|
|
|
# Create necessary certificates and keys to run dendrite
|
|
echo "Generating certs..."
|
|
time openssl req -x509 -newkey rsa:512 -keyout server.key -out server.crt -days 365 -nodes -subj /CN=localhost
|
|
echo "Installing kafka..."
|
|
time ./scripts/install-local-kafka.sh
|
|
|
|
# Run the integration tests
|
|
bin/roomserver-integration-tests
|
|
bin/syncserver-integration-tests
|
|
bin/mediaapi-integration-tests
|
|
fi
|