forked from quic-go/quic-go
48 lines
1.8 KiB
Bash
Executable File
48 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -ex
|
|
|
|
if [ "${TESTMODE}" == "lint" ]; then
|
|
.travis/no_ginkgo.sh
|
|
./bin/golangci-lint run ./...
|
|
fi
|
|
|
|
if [ "${TESTMODE}" == "gogenerate" ]; then
|
|
find . -type f -name "*.go" -exec shasum {} \; > checksums_before.txt
|
|
# delete all go-generated files generated (that adhere to the comment convention)
|
|
grep --include \*.go --exclude-dir quictrace/ -lrIZ "^// Code generated .* DO NOT EDIT\.$" . | xargs --null rm
|
|
# delete all files generated by Genny
|
|
grep --include \*.go -lrIZ "This file was automatically generated by genny." . | xargs --null rm
|
|
# first generate Genny files to make the code compile
|
|
grep --include \*.go -lrI "//go:generate genny" | xargs -L 1 go generate
|
|
# now generate everything
|
|
go generate ./...
|
|
find . -type f -name "*.go" -exec shasum {} \; > checksums_after.txt
|
|
DIFF=$(diff checksums_before.txt checksums_after.txt)
|
|
echo "$DIFF"
|
|
if [ -n "$DIFF" ]; then
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ "${TESTMODE}" == "unit" ]; then
|
|
ginkgo -r -v -cover -randomizeAllSpecs -randomizeSuites -trace -skipPackage integrationtests,benchmark
|
|
# run unit tests with the Go race detector
|
|
# The Go race detector only works on amd64.
|
|
if [ "${TRAVIS_GOARCH}" == 'amd64' ]; then
|
|
ginkgo -race -r -v -randomizeAllSpecs -randomizeSuites -trace -skipPackage integrationtests,benchmark
|
|
fi
|
|
fi
|
|
|
|
if [ "${TESTMODE}" == "integration" ]; then
|
|
# run benchmark tests
|
|
ginkgo -randomizeAllSpecs -randomizeSuites -trace benchmark -- -size=10
|
|
# run benchmark tests with the Go race detector
|
|
# The Go race detector only works on amd64.
|
|
if [ "${TRAVIS_GOARCH}" == 'amd64' ]; then
|
|
ginkgo -race -randomizeAllSpecs -randomizeSuites -trace benchmark -- -size=5
|
|
fi
|
|
# run integration tests
|
|
ginkgo -r -v -randomizeAllSpecs -randomizeSuites -trace integrationtests
|
|
fi
|