|
@@ -1,4 +1,4 @@
|
|
|
-#!/bin/bash -e
|
|
|
+#!/usr/bin/env bash
|
|
|
#
|
|
|
# Run all go-iptables tests
|
|
|
# ./test
|
|
@@ -8,6 +8,7 @@
|
|
|
# PKG=./unit ./test
|
|
|
# PKG=ssh ./test
|
|
|
#
|
|
|
+set -e
|
|
|
|
|
|
# Invoke ./cover for HTML output
|
|
|
COVER=${COVER:-"-cover"}
|
|
@@ -32,19 +33,23 @@ else
|
|
|
FMT="$TEST"
|
|
|
fi
|
|
|
|
|
|
+echo "Checking gofmt..."
|
|
|
+fmtRes=$(gofmt -l $FMT)
|
|
|
+if [ -n "${fmtRes}" ]; then
|
|
|
+ echo -e "gofmt checking failed:\n${fmtRes}"
|
|
|
+ exit 255
|
|
|
+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
|
|
|
+if [[ -z "$SUDO_PERMITTED" ]]; then
|
|
|
+ echo "Test aborted for safety reasons. Please set the SUDO_PERMITTED variable."
|
|
|
+ exit 1
|
|
|
fi
|
|
|
|
|
|
+sudo -E bash -c "PATH=\$GOROOT/bin:\$PATH go test ${COVER} $@ ${TEST}"
|
|
|
echo "Success"
|