#!/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"