1
0
Fork 0
forward/vendor/github.com/judwhite/go-svc/svc/test.sh

149 lines
3.0 KiB
Bash

#!/bin/bash
# go get -u github.com/kisielk/errcheck
# go get -u github.com/golang/lint/golint
# go get -u honnef.co/go/simple/cmd/gosimple
# go get -u honnef.co/go/unused/cmd/unused
# go get -u github.com/mdempsky/unconvert
# go get -u github.com/client9/misspell/cmd/misspell
# go get -u github.com/gordonklaus/ineffassign
# go get -u github.com/fzipp/gocyclo
FILES=$(ls *.go)
echo "Checking gofmt..."
fmtRes=$(gofmt -l -s -d $FILES)
if [ -n "${fmtRes}" ]; then
echo "gofmt checking failed: ${fmtRes}"
exit 255
fi
echo "Checking errcheck..."
# buffer.WriteString always returns nil error; panics if buffer too large
errRes=$(errcheck -blank -ignore 'Write[String|Rune|Byte],os:Close')
# TODO: add -asserts flag (maybe)
if [ $? -ne 0 ]; then
echo "errcheck checking failed: ${errRes}!"
exit 255
fi
if [ -n "${errRes}" ]; then
echo "errcheck checking failed: ${errRes}"
exit 255
fi
echo "Checking govet..."
go vet $FILES
if [ $? -ne 0 ]; then
exit 255
fi
echo "Checking govet -shadow..."
for path in $FILES; do
go tool vet -shadow ${path}
if [ $? -ne 0 ]; then
exit 255
fi
done
echo "Checking golint..."
lintError=0
for path in $FILES; do
lintRes=$(golint ${path})
if [ -n "${lintRes}" ]; then
echo "golint checking ${path} failed: ${lintRes}"
lintError=1
fi
done
if [ ${lintError} -ne 0 ]; then
exit 255
fi
echo "Checking gosimple..."
gosimpleRes=$(gosimple .)
if [ $? -ne 0 ]; then
echo "gosimple checking failed: ${gosimpleRes}!"
exit 255
fi
if [ -n "${gosimpleRes}" ]; then
echo "gosimple checking failed: ${gosimpleRes}"
exit 255
fi
echo "Checking unused..."
unusedRes=$(unused .)
if [ $? -ne 0 ]; then
echo "unused checking failed: ${unusedRes}!"
exit 255
fi
if [ -n "${unusedRes}" ]; then
echo "unused checking failed: ${unusedRes}"
exit 255
fi
echo "Checking unconvert..."
unconvertRes=$(unconvert .)
if [ $? -ne 0 ]; then
echo "unconvert checking failed: ${unconvertRes}!"
exit 255
fi
if [ -n "${unconvertRes}" ]; then
echo "unconvert checking failed: ${unconvertRes}"
exit 255
fi
echo "Checking misspell..."
misspellRes=$(misspell $FILES)
if [ $? -ne 0 ]; then
echo "misspell checking failed: ${misspellRes}!"
exit 255
fi
if [ -n "${misspellRes}" ]; then
echo "misspell checking failed: ${misspellRes}"
exit 255
fi
echo "Checking ineffassign..."
ineffassignRes=$(ineffassign -n .)
if [ $? -ne 0 ]; then
echo "ineffassign checking failed: ${ineffassignRes}!"
exit 255
fi
if [ -n "${ineffassignRes}" ]; then
echo "ineffassign checking failed: ${ineffassignRes}"
exit 255
fi
echo "Checking gocyclo..."
gocycloRes=$(gocyclo -over 20 $FILES)
if [ -n "${gocycloRes}" ]; then
echo "gocyclo warning: ${gocycloRes}"
fi
echo "Running tests..."
if [ -f cover.out ]; then
rm cover.out
fi
go test -timeout 3m --race -cpu 1
if [ $? -ne 0 ]; then
exit 255
fi
go test -timeout 3m --race -cpu 2
if [ $? -ne 0 ]; then
exit 255
fi
go test -timeout 3m --race -cpu 4
if [ $? -ne 0 ]; then
exit 255
fi
go test -timeout 3m -coverprofile cover.out
if [ $? -ne 0 ]; then
exit 255
fi
echo "Success"