idle: speed up test by 5x even while running 2x more iterations (#6555)

This commit is contained in:
Doug Fawley 2023-08-15 16:04:16 -07:00 committed by GitHub
parent 7d3996fd85
commit ebf0b4e367
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 3 deletions

View File

@ -322,7 +322,7 @@ func (ri *racyIdlenessEnforcer) enterIdleMode() error {
// mode. // mode.
func (s) TestIdlenessManager_IdleTimeoutRacesWithOnCallBegin(t *testing.T) { func (s) TestIdlenessManager_IdleTimeoutRacesWithOnCallBegin(t *testing.T) {
// Run multiple iterations to simulate different possibilities. // Run multiple iterations to simulate different possibilities.
for i := 0; i < 10; i++ { for i := 0; i < 20; i++ {
t.Run(fmt.Sprintf("iteration=%d", i), func(t *testing.T) { t.Run(fmt.Sprintf("iteration=%d", i), func(t *testing.T) {
var idlenessState racyIdlenessState var idlenessState racyIdlenessState
enforcer := &racyIdlenessEnforcer{state: &idlenessState} enforcer := &racyIdlenessEnforcer{state: &idlenessState}
@ -337,7 +337,7 @@ func (s) TestIdlenessManager_IdleTimeoutRacesWithOnCallBegin(t *testing.T) {
go func() { go func() {
defer wg.Done() defer wg.Done()
m := mgr.(interface{ handleIdleTimeout() }) m := mgr.(interface{ handleIdleTimeout() })
<-time.After(defaultTestIdleTimeout) <-time.After(defaultTestIdleTimeout / 10)
m.handleIdleTimeout() m.handleIdleTimeout()
}() }()
for j := 0; j < 100; j++ { for j := 0; j < 100; j++ {
@ -346,7 +346,7 @@ func (s) TestIdlenessManager_IdleTimeoutRacesWithOnCallBegin(t *testing.T) {
defer wg.Done() defer wg.Done()
// Wait for the configured idle timeout and simulate an RPC to // Wait for the configured idle timeout and simulate an RPC to
// race with the idle timeout timer callback. // race with the idle timeout timer callback.
<-time.After(defaultTestIdleTimeout) <-time.After(defaultTestIdleTimeout / 10)
if err := mgr.onCallBegin(); err != nil { if err := mgr.onCallBegin(); err != nil {
t.Errorf("onCallBegin() failed: %v", err) t.Errorf("onCallBegin() failed: %v", err)
} }