|
@@ -41,6 +41,7 @@ type ctlCtx struct {
|
|
|
t *testing.T
|
|
t *testing.T
|
|
|
cfg etcdProcessClusterConfig
|
|
cfg etcdProcessClusterConfig
|
|
|
quotaBackendBytes int64
|
|
quotaBackendBytes int64
|
|
|
|
|
+ noStrictReconfig bool
|
|
|
|
|
|
|
|
epc *etcdProcessCluster
|
|
epc *etcdProcessCluster
|
|
|
|
|
|
|
@@ -88,6 +89,10 @@ func withCompactPhysical() ctlOption {
|
|
|
return func(cx *ctlCtx) { cx.compactPhysical = true }
|
|
return func(cx *ctlCtx) { cx.compactPhysical = true }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func withNoStrictReconfig() ctlOption {
|
|
|
|
|
+ return func(cx *ctlCtx) { cx.noStrictReconfig = true }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func testCtl(t *testing.T, testFunc func(ctlCtx), opts ...ctlOption) {
|
|
func testCtl(t *testing.T, testFunc func(ctlCtx), opts ...ctlOption) {
|
|
|
defer testutil.AfterTest(t)
|
|
defer testutil.AfterTest(t)
|
|
|
|
|
|
|
@@ -106,6 +111,7 @@ func testCtl(t *testing.T, testFunc func(ctlCtx), opts ...ctlOption) {
|
|
|
if ret.quotaBackendBytes > 0 {
|
|
if ret.quotaBackendBytes > 0 {
|
|
|
ret.cfg.quotaBackendBytes = ret.quotaBackendBytes
|
|
ret.cfg.quotaBackendBytes = ret.quotaBackendBytes
|
|
|
}
|
|
}
|
|
|
|
|
+ ret.cfg.noStrictReconfig = ret.noStrictReconfig
|
|
|
|
|
|
|
|
epc, err := newEtcdProcessCluster(&ret.cfg)
|
|
epc, err := newEtcdProcessCluster(&ret.cfg)
|
|
|
if err != nil {
|
|
if err != nil {
|