balancer.Register(&anotherRR{Builder: balancer.Get(roundrobin.Name)})
}
+func overrideInitTimeout(t *testing.T, val time.Duration) {
+ orig := DefaultPriorityInitTimeout
+ DefaultPriorityInitTimeout = val
+ t.Cleanup(func() { DefaultPriorityInitTimeout = orig })
+}
+
// When a high priority is ready, adding/removing lower locality doesn't cause
// changes.
//
defer cancel()
const testPriorityInitTimeout = 200 * time.Millisecond
- defer func() func() {
- old := DefaultPriorityInitTimeout
- DefaultPriorityInitTimeout = testPriorityInitTimeout
- return func() {
- DefaultPriorityInitTimeout = old
- }
- }()()
+ overrideInitTimeout(t, testPriorityInitTimeout)
cc := testutils.NewBalancerClientConn(t)
bb := balancer.Get(Name)
defer cancel()
const testPriorityInitTimeout = 200 * time.Millisecond
- defer func() func() {
- old := DefaultPriorityInitTimeout
- DefaultPriorityInitTimeout = testPriorityInitTimeout
- return func() {
- DefaultPriorityInitTimeout = old
- }
- }()()
+ overrideInitTimeout(t, testPriorityInitTimeout)
cc := testutils.NewBalancerClientConn(t)
bb := balancer.Get(Name)
// Test the case where the first and only priority is removed.
func (s) TestPriority_FirstPriorityUnavailable(t *testing.T) {
const testPriorityInitTimeout = 200 * time.Millisecond
- defer func(t time.Duration) {
- DefaultPriorityInitTimeout = t
- }(DefaultPriorityInitTimeout)
- DefaultPriorityInitTimeout = testPriorityInitTimeout
+ overrideInitTimeout(t, testPriorityInitTimeout)
cc := testutils.NewBalancerClientConn(t)
bb := balancer.Get(Name)