Revision 1db176151b79ff72072668c0d4a041be222996a6 authored by Yicheng Qin on 14 July 2015, 23:19:11 UTC, committed by Yicheng Qin on 14 July 2015, 23:33:28 UTC
The discovery service doesn't return HTTP header early when watch
starts. This may trigger ResponseHeaderTimeout and cause the watch
request failed.

The fix on discovery service may take some time. Remove the
ResponseHeaderTimeout first so it behaves as before.
1 parent 953a59d
Raw File
test
#!/bin/bash -e
#
# Run all etcd tests
# ./test
# ./test -v
#
# Run tests for one package
#
# PKG=./wal ./test
# PKG=snap ./test

# Invoke ./cover for HTML output
COVER=${COVER:-"-cover"}

source ./build

# Hack: gofmt ./ will recursively check the .git directory. So use *.go for gofmt.
TESTABLE_AND_FORMATTABLE="client discovery error etcdctl/command etcdmain etcdserver etcdserver/auth etcdserver/etcdhttp etcdserver/etcdhttp/httptypes migrate pkg/fileutil pkg/flags pkg/idutil pkg/ioutil pkg/netutil pkg/osutil pkg/pbutil pkg/types pkg/transport pkg/wait proxy raft snap store version wal"
# TODO: add it to race testing when the issue is resolved
# https://github.com/golang/go/issues/9946
NO_RACE_TESTABLE="rafthttp"
FORMATTABLE="$TESTABLE_AND_FORMATTABLE $NO_RACE_TESTABLE *.go etcdctl/ integration"

# user has not provided PKG override
if [ -z "$PKG" ]; then
	TEST=$TESTABLE_AND_FORMATTABLE
	NO_RACE_TEST=$NO_RACE_TESTABLE
	FMT=$FORMATTABLE

# user has provided PKG override
else
	# strip out leading dotslashes and trailing slashes from PKG=./foo/
	TEST=${PKG/#./}
	TEST=${TEST/#\//}
	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}/}
split=(${NO_RACE_TEST// / })
NO_RACE_TEST=${split[@]/#/${REPO_PATH}/}

echo "Running tests..."
go test -timeout 3m ${COVER} $@ ${TEST} --race -cpu 1,2,4
go test -timeout 3m ${COVER} $@ ${NO_RACE_TEST} -cpu 1,2,4

if [ -n "$INTEGRATION" ]; then
	echo "Running integration tests..."
	go test -timeout 10m $@ ${REPO_PATH}/integration -v -cpu 1,2,4
fi

echo "Checking gofmt..."
fmtRes=$(gofmt -l $FMT)
if [ -n "${fmtRes}" ]; then
	echo -e "gofmt checking failed:\n${fmtRes}"
	exit 255
fi

echo "Checking govet..."
vetRes=$(go vet $TEST)
if [ -n "${vetRes}" ]; then
	echo -e "govet checking failed:\n${vetRes}"
	exit 255
fi

if command -v go-nyet >/dev/null 2>&1; then
  echo "Checking go-nyet..."
  nyetRes=$(go-nyet -exitWith 0 $FMT)
  if [ -n "${nyetRes}" ]; then
          echo -e "go-nyet checking failed:\n${nyetRes}"
          exit 255
  fi
fi

echo "Success"
back to top