vspd/run_tests.sh
Jamie Holdstock 136e389f95 Update to golangci-lint 1.40.1.
Linter `golint` has been deprecated and replaced with `revive`.
2021-05-23 11:37:54 +08:00

52 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
#
# Copyright (c) 2020 The Decred developers
# Use of this source code is governed by an ISC
# license that can be found in the LICENSE file.
#
# usage:
# ./run_tests.sh
set -ex
go version
# run `go mod download` and `go mod tidy` and fail if the git status of
# go.mod and/or go.sum changes
MOD_STATUS=$(git status --porcelain go.mod go.sum)
go mod download
go mod tidy
UPDATED_MOD_STATUS=$(git status --porcelain go.mod go.sum)
if [ "$UPDATED_MOD_STATUS" != "$MOD_STATUS" ]; then
echo "Running `go mod tidy` modified go.mod and/or go.sum"
exit 1
fi
# run tests
env GORACE="halt_on_error=1" go test -race ./...
# set output format for linter
if [[ -v CI ]]; then
OUT_FORMAT="github-actions"
else
OUT_FORMAT="colored-line-number"
fi
# run linter
golangci-lint run --disable-all --deadline=10m \
--out-format=$OUT_FORMAT \
--enable=gofmt \
--enable=revive \
--enable=govet \
--enable=gosimple \
--enable=unconvert \
--enable=ineffassign \
--enable=structcheck \
--enable=goimports \
--enable=misspell \
--enable=unparam \
--enable=deadcode \
--enable=unused \
--enable=errcheck \
--enable=asciicheck