From f8505dac3fe485f6c208c8a7012228b953bea74a Mon Sep 17 00:00:00 2001 From: Joe Tsai Date: Thu, 6 Sep 2018 12:37:19 -0700 Subject: [PATCH] test.bash: use repo-local cache Use a local ".cache" directory in the repository root for the cache instead of a directory in /tmp. On many operating systems, files are arbitrarily purged as part of the OS' cleanup procedures, leading to obscure failures. Since the build cache is in the repo root, we adjust the invocation of gofmt to only act upon the set of Go files tracked by git. Change-Id: I10cd0ea0de3370ea25fcd3870451fb41c4204a4b Reviewed-on: https://go-review.googlesource.com/133875 Reviewed-by: Damien Neil --- .gitignore | 1 + .travis.yml | 2 +- test.bash | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 20e54cfa..5c986d1c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +.cache vendor cmd/protoc-gen-go/protoc-gen-go diff --git a/.travis.yml b/.travis.yml index bfff2426..0aec6a31 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,4 +2,4 @@ script: - ./test.bash cache: directories: - - /tmp/golang-protobuf-test + - .cache diff --git a/test.bash b/test.bash index a7559761..d6b8440f 100755 --- a/test.bash +++ b/test.bash @@ -10,7 +10,7 @@ function print() { echo -e "\x1b[1m> $@\x1b[0m"; } # The test directory contains the Go and protobuf toolchains used for testing. # The bin directory contains symlinks to each tool by version. # It is safe to delete this directory and run the test script from scratch. -TEST_DIR=/tmp/golang-protobuf-test +TEST_DIR=$REPO_ROOT/.cache mkdir -p $TEST_DIR/bin function register_binary() { rm -f $TEST_DIR/bin/$1 # best-effort delete @@ -110,7 +110,7 @@ function check() { # Check for stale or unformatted source files. check go run ./internal/cmd/generate-types -check gofmt -d . +check gofmt -d $(cd $REPO_ROOT && git ls-files '*.go') # Check for changed or untracked files. check git diff --no-prefix HEAD