integration: Fix 'go test --tags cluster_proxy --timeout=30m -v ./integration/...'

grpc proxy opens additional 2 watching channels. The metric is shared
between etcd-server & grpc_proxy, so all assertions on number of open
watch channels need to take in consideration the additional "2"
channels.
release-3.5
Piotr Tabor 2020-09-07 20:08:29 +02:00
parent 32bad8e9a8
commit 2d43a3157e
3 changed files with 24 additions and 4 deletions

View File

@ -23,6 +23,8 @@ import (
pb "go.etcd.io/etcd/v3/etcdserver/etcdserverpb"
)
const throughProxy = false
func toGRPC(c *clientv3.Client) grpcAPI {
return grpcAPI{
pb.NewClusterClient(c.ActiveConnection()),

View File

@ -27,6 +27,8 @@ import (
"go.uber.org/zap"
)
const throughProxy = true
var (
pmu sync.Mutex
proxies map[*clientv3.Client]grpcClientProxy = make(map[*clientv3.Client]grpcClientProxy)

View File

@ -1241,8 +1241,16 @@ func TestV3WatchCancellation(t *testing.T) {
t.Fatal(err)
}
if minWatches != "1" {
t.Fatalf("expected one watch, got %s", minWatches)
var expected string
if throughProxy {
// grpc proxy has additional 2 watches open
expected = "3"
} else {
expected = "1"
}
if minWatches != expected {
t.Fatalf("expected %s watch, got %s", expected, minWatches)
}
}
@ -1270,7 +1278,15 @@ func TestV3WatchCloseCancelRace(t *testing.T) {
t.Fatal(err)
}
if minWatches != "0" {
t.Fatalf("expected zero watches, got %s", minWatches)
var expected string
if throughProxy {
// grpc proxy has additional 2 watches open
expected = "2"
} else {
expected = "0"
}
if minWatches != expected {
t.Fatalf("expected %s watch, got %s", expected, minWatches)
}
}