(t *testing.T)
| 354 | } |
| 355 | |
| 356 | func TestCallMaxConnectionsRecursiveDeadlock(t *testing.T) { |
| 357 | p := New(CalculatorOption(NewDefault(MinSleep(1*time.Millisecond), MaxSleep(2*time.Millisecond)))) |
| 358 | p.SetMaxConnections(1) |
| 359 | dp := &dummyPaced{retry: false} |
| 360 | err := p.Call(func() (bool, error) { |
| 361 | // check we have taken the connection token |
| 362 | // no tokens left means deadlock on the recursive call |
| 363 | assert.Equal(t, 0, len(p.connTokens)) |
| 364 | return false, p.Call(dp.fn) |
| 365 | }) |
| 366 | assert.Equal(t, 1, dp.called) |
| 367 | assert.Equal(t, errFoo, err) |
| 368 | } |
| 369 | |
| 370 | func TestCallMaxConnectionsRecursiveDeadlock2(t *testing.T) { |
| 371 | p := New(CalculatorOption(NewDefault(MinSleep(1*time.Millisecond), MaxSleep(2*time.Millisecond)))) |
nothing calls this directly
no test coverage detected
searching dependent graphs…