|
@@ -0,0 +1,50 @@
|
|
|
|
+#!/bin/bash -e
|
|
|
|
+#
|
|
|
|
+# Run all go-iptables tests
|
|
|
|
+# ./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="iptables"
|
|
|
|
+FORMATTABLE="$TESTABLE"
|
|
|
|
+
|
|
|
|
+# 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[@]/#/${REPO_PATH}/}
|
|
|
|
+
|
|
|
|
+echo "Running tests..."
|
|
|
|
+go test -i ${TEST}
|
|
|
|
+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 "Success"
|