github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/swarmkit/manager/dispatcher/period_test.go (about)

     1  package dispatcher
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  )
     7  
     8  func TestPeriodChooser(t *testing.T) {
     9  	period := 100 * time.Millisecond
    10  	epsilon := 50 * time.Millisecond
    11  	pc := newPeriodChooser(period, epsilon)
    12  	for i := 0; i < 1024; i++ {
    13  		ttl := pc.Choose()
    14  		if ttl < period-epsilon {
    15  			t.Fatalf("ttl elected below epsilon range: %v", ttl)
    16  		} else if ttl > period+epsilon {
    17  			t.Fatalf("ttl elected above epsilon range: %v", ttl)
    18  		}
    19  	}
    20  }