Skip to content

Commit

Permalink
Add verify-gofmt as a Bazel test.
Browse files Browse the repository at this point in the history
Also, moved --flaky_test_attempts=3 out of .bazelrc since it was annoying.
  • Loading branch information
spxtr committed Feb 11, 2017
1 parent a6952bc commit 27cc32b
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 11 deletions.
3 changes: 0 additions & 3 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,5 @@
build --verbose_failures
test --test_output=errors

# Retry tests up to 3 times if they fail.
test --flaky_test_attempts=3

# Include git version info
build --workspace_status_command hack/print-workspace-status.sh
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ endef
@echo "$$BAZEL_TEST_HELP_INFO"
else
bazel-test:
bazel test //cmd/... //pkg/... //federation/... //plugin/... //third_party/... //hack/... //hack:verify-all
bazel test --flaky_test_attempts=3 //cmd/... //pkg/... //federation/... //plugin/... //third_party/... //hack/... //hack:verify-all
endif

ifeq ($(PRINT_HELP),y)
Expand Down
11 changes: 11 additions & 0 deletions hack/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,21 @@ sh_test(
tags = ["manual"],
)

sh_test(
name = "verify-gofmt",
srcs = ["verify-gofmt.sh"],
data = [
"//:all-srcs",
"@io_bazel_rules_go_toolchain//:toolchain",
],
tags = ["manual"],
)

test_suite(
name = "verify-all",
tags = ["manual"],
tests = [
"verify-boilerplate",
"verify-gofmt",
],
)
18 changes: 11 additions & 7 deletions hack/verify-gofmt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,15 @@ set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source "${KUBE_ROOT}/hack/lib/init.sh"

kube::golang::verify_go_version

cd "${KUBE_ROOT}"

# Prefer bazel's gofmt.
gofmt="external/io_bazel_rules_go_toolchain/bin/gofmt"
if [[ ! -x "${gofmt}" ]]; then
gofmt=$(which gofmt)
kube::golang::verify_go_version
fi

find_files() {
find . -not \( \
\( \
Expand All @@ -38,14 +43,13 @@ find_files() {
-o -wholename '*/third_party/*' \
-o -wholename '*/vendor/*' \
-o -wholename './staging' \
-o -wholename '*/bindata.go' \
\) -prune \
\) -name '*.go'
}

GOFMT="gofmt -s -w"
bad_files=$(find_files | xargs $GOFMT -l)
if [[ -n "${bad_files}" ]]; then
echo "!!! '$GOFMT' needs to be run on the following files: "
echo "${bad_files}"
diff=$(find_files | xargs ${gofmt} -d -s 2>&1)
if [[ -n "${diff}" ]]; then
echo "${diff}"
exit 1
fi

0 comments on commit 27cc32b

Please sign in to comment.