| 123456789101112131415161718192021222324252627282930313233343536 | package task_testimport (	"testing"	"time"	. "v2ray.com/core/common/task"	. "v2ray.com/ext/assert"	"v2ray.com/core/common")func TestPeriodicTaskStop(t *testing.T) {	assert := With(t)	value := 0	task := &Periodic{		Interval: time.Second * 2,		Execute: func() error {			value++			return nil		},	}	common.Must(task.Start())	time.Sleep(time.Second * 5)	common.Must(task.Close())	assert(value, Equals, 3)	time.Sleep(time.Second * 4)	assert(value, Equals, 3)	common.Must(task.Start())	time.Sleep(time.Second * 3)	if value != 5 {		t.Fatal("Expected 5, but ", value)	}	common.Must(task.Close())}
 |