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.
This commit is contained in:
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" pb "go.etcd.io/etcd/v3/etcdserver/etcdserverpb"
) )
const throughProxy = false
func toGRPC(c *clientv3.Client) grpcAPI { func toGRPC(c *clientv3.Client) grpcAPI {
return grpcAPI{ return grpcAPI{
pb.NewClusterClient(c.ActiveConnection()), pb.NewClusterClient(c.ActiveConnection()),

View File

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

View File

@ -1241,8 +1241,16 @@ func TestV3WatchCancellation(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
if minWatches != "1" { var expected string
t.Fatalf("expected one watch, got %s", minWatches) 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) t.Fatal(err)
} }
if minWatches != "0" { var expected string
t.Fatalf("expected zero watches, got %s", minWatches) 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)
} }
} }