mirror of https://github.com/dexidp/dex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.2 KiB
56 lines
1.2 KiB
#!/bin/bash -e |
|
# |
|
# Run all tests (not including functional) |
|
# ./test |
|
# ./test -v |
|
# |
|
# Run tests for one package |
|
# PKG=./unit ./test |
|
# PKG=ssh ./test |
|
# |
|
|
|
# Invoke ./cover for HTML output |
|
COVER=${COVER:-"-cover"} |
|
|
|
source ./build |
|
|
|
TESTABLE="connector db integration pkg/crypto pkg/flag pkg/http pkg/net pkg/time pkg/html functional/repo server session user/api" |
|
FORMATTABLE="$TESTABLE cmd/dexctl cmd/dex-worker cmd/dex-overlord examples/app functional pkg/log" |
|
|
|
# user has not provided PKG override |
|
if [ -z "$PKG" ]; then |
|
TEST=$TESTABLE |
|
FMT=$FORMATTABLE |
|
|
|
# user has provided PKG override |
|
else |
|
# strip out slashes and dots from PKG=./foo/ |
|
TEST=${PKG//\//} |
|
TEST=${TEST//./} |
|
|
|
# only run gofmt on packages provided by user |
|
FMT="$TEST" |
|
fi |
|
|
|
# split TEST into an array and prepend repo path to each local package |
|
split=(${TEST// / }) |
|
TEST=${split[@]/#/github.com/coreos/dex/} |
|
|
|
echo "Running tests..." |
|
go test ${COVER} $@ ${TEST} |
|
|
|
echo "Checking gofmt..." |
|
fmtRes=$(gofmt -l $FMT) |
|
if [ -n "${fmtRes}" ]; then |
|
echo -e "gofmt checking failed:\n${fmtRes}" |
|
exit 255 |
|
fi |
|
|
|
echo "Checking govet..." |
|
vetRes=$(go vet $TEST) |
|
if [ -n "${vetRes}" ]; then |
|
echo -e "govet checking failed:\n${vetRes}" |
|
exit 255 |
|
fi |
|
|
|
echo "Success"
|
|
|