055a3c339a
This validator is still experimental and is going to need new rules in the future. This lays out the general framework.
66 lines
1.2 KiB
Bash
Executable File
66 lines
1.2 KiB
Bash
Executable File
#!/bin/bash -e
|
|
#
|
|
# Run all coreos-cloudinit tests
|
|
# ./test
|
|
# ./test -v
|
|
#
|
|
# Run tests for one package
|
|
# PKG=initialize ./test
|
|
#
|
|
|
|
# Invoke ./cover for HTML output
|
|
COVER=${COVER:-"-cover"}
|
|
|
|
source ./build
|
|
|
|
declare -a TESTPKGS=(
|
|
config
|
|
config/validate
|
|
datasource
|
|
datasource/configdrive
|
|
datasource/file
|
|
datasource/metadata
|
|
datasource/metadata/cloudsigma
|
|
datasource/metadata/digitalocean
|
|
datasource/metadata/ec2
|
|
datasource/proc_cmdline
|
|
datasource/url
|
|
datasource/waagent
|
|
initialize
|
|
network
|
|
pkg
|
|
system
|
|
)
|
|
|
|
if [ -z "$PKG" ]; then
|
|
GOFMTPATH="${TESTPKGS[*]} coreos-cloudinit.go"
|
|
# prepend repo path to each package
|
|
TESTPKGS="${TESTPKGS[*]/#/${REPO_PATH}/} ./"
|
|
else
|
|
GOFMTPATH="$TESTPKGS"
|
|
# strip out slashes and dots from PKG=./foo/
|
|
TESTPKGS=${PKG//\//}
|
|
TESTPKGS=${TESTPKGS//./}
|
|
TESTPKGS=${TESTPKGS/#/${REPO_PATH}/}
|
|
fi
|
|
|
|
echo "Running tests..."
|
|
go test -i ${TESTPKGS}
|
|
go test ${COVER} $@ ${TESTPKGS}
|
|
|
|
echo "Checking gofmt..."
|
|
fmtRes=$(gofmt -l $GOFMTPATH)
|
|
if [ -n "$fmtRes" ]; then
|
|
echo "$fmtRes"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Checking govet..."
|
|
vetRes=$(go vet $TESTPKGS)
|
|
if [ -n "${vetRes}" ]; then
|
|
echo -e "govet checking failed:\n${vetRes}"
|
|
exit 255
|
|
fi
|
|
|
|
echo "Success"
|