Merge pull request #767 from smarterclayton/parallelize_test_go

Run all go tests in parallel (6x speedup)
This commit is contained in:
brendandburns 2014-08-04 11:09:42 -07:00
commit 2284e5d5f5

View File

@ -21,30 +21,26 @@ source $(dirname $0)/config-go.sh
find_test_dirs() { find_test_dirs() {
( cd src/${KUBE_GO_PACKAGE}
cd src/${KUBE_GO_PACKAGE} find . -not \( \
find . -not \( \ \( \
\( \ -wholename './third_party' \
-wholename './third_party' \ -o -wholename './release' \
-o -wholename './release' \ -o -wholename './target' \
-o -wholename './target' \ -o -wholename '*/third_party/*' \
-o -wholename '*/third_party/*' \ -o -wholename '*/output/*' \
-o -wholename '*/output/*' \ \) -prune \
\) -prune \ \) -name '*_test.go' -print0 | xargs -0n1 dirname | sort -u | xargs -n1 printf "${KUBE_GO_PACKAGE}/%s\n"
\) -name '*_test.go' -print0 | xargs -0n1 dirname | sort -u
)
} }
# -covermode=atomic becomes default with -race in Go >=1.3 # -covermode=atomic becomes default with -race in Go >=1.3
KUBE_COVER="-cover -covermode=atomic -coverprofile=tmp.out" KUBE_COVER="-cover -covermode=atomic"
cd "${KUBE_TARGET}" cd "${KUBE_TARGET}"
if [ "$1" != "" ]; then if [ "$1" != "" ]; then
go test -race -timeout 30s $KUBE_COVER "$KUBE_GO_PACKAGE/$1" "${@:2}" go test -race -timeout 30s $KUBE_COVER -coverprofile=tmp.out "$KUBE_GO_PACKAGE/$1" "${@:2}"
exit 0 exit 0
fi fi
for package in $(find_test_dirs); do find_test_dirs | xargs go test -race -timeout 30s $KUBE_COVER "${@:2}"
go test -race -timeout 30s $KUBE_COVER "${KUBE_GO_PACKAGE}/${package}" "${@:2}"
done