Files
kopia/internal/clock/sleep_test.go
2022-01-27 18:27:40 -08:00

38 lines
829 B
Go

package clock_test
import (
"context"
"testing"
"time"
"github.com/stretchr/testify/require"
"github.com/kopia/kopia/internal/clock"
"github.com/kopia/kopia/internal/timetrack"
)
func TestSleepInterruptibly_ContextCanceled(t *testing.T) {
t0 := timetrack.StartTimer()
ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond)
defer cancel()
require.False(t, clock.SleepInterruptibly(ctx, 3*time.Second))
dt := t0.Elapsed()
require.Greater(t, dt, 90*time.Millisecond)
require.Less(t, dt, time.Second)
}
func TestSleepInterruptibly_ContextNotCanceled(t *testing.T) {
t0 := timetrack.StartTimer()
require.True(t, clock.SleepInterruptibly(context.Background(), 100*time.Millisecond))
dt := t0.Elapsed()
require.Greater(t, dt, 90*time.Millisecond)
require.Less(t, dt, time.Second)
}