packageclockimport("context""errors""testing""time""github.com/stretchr/testify/require")funcTestLoopFn(t*testing.T){cl:=NewDeterministicClock(time.Now())calls:=make(chanstruct{},10)testErr:=errors.New("test close error")loopFn:=NewLoopFn(cl,func(ctxcontext.Context){calls<-struct{}{}},func()error{close(calls)returntestErr},time.Second*10)cl.AdvanceTime(time.Second*15)<-callscl.AdvanceTime(time.Second*10)<-calls