mirror of https://github.com/v2ray/v2ray-core
test case for 0 timeout
parent
6dbe2644a9
commit
d6513ee4ec
|
@ -42,6 +42,7 @@ func (t *ActivityTimer) finish() {
|
||||||
|
|
||||||
if t.onTimeout != nil {
|
if t.onTimeout != nil {
|
||||||
t.onTimeout()
|
t.onTimeout()
|
||||||
|
t.onTimeout = nil
|
||||||
}
|
}
|
||||||
if t.checkTask != nil {
|
if t.checkTask != nil {
|
||||||
t.checkTask.Close() // nolint: errcheck
|
t.checkTask.Close() // nolint: errcheck
|
||||||
|
|
|
@ -44,3 +44,12 @@ func TestActivityTimerNonBlocking(t *testing.T) {
|
||||||
timer.SetTimeout(1)
|
timer.SetTimeout(1)
|
||||||
timer.SetTimeout(2)
|
timer.SetTimeout(2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestActivityTimerZeroTimeout(t *testing.T) {
|
||||||
|
assert := With(t)
|
||||||
|
|
||||||
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
timer := CancelAfterInactivity(ctx, cancel, 0)
|
||||||
|
assert(ctx, HasDone)
|
||||||
|
runtime.KeepAlive(timer)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue