1
0
Fork 0
mirror of https://github.com/restic/restic.git synced 2024-12-23 00:07:25 +00:00

lock: add test to check that refreshing works

This commit is contained in:
Michael Eischer 2022-10-29 11:26:00 +02:00
parent f8910bc4ff
commit 24267e9a9d

View file

@ -128,3 +128,27 @@ func TestLockFailedRefresh(t *testing.T) {
// unlockRepo should not crash
unlockRepo(lock)
}
func TestLockSuccessfulRefresh(t *testing.T) {
repo, cleanup, _ := openTestRepo(t, nil)
defer cleanup()
// reduce locking intervals to be suitable for testing
ri, rt := refreshInterval, refreshabilityTimeout
refreshInterval = 20 * time.Millisecond
refreshabilityTimeout = 100 * time.Millisecond
defer func() {
refreshInterval, refreshabilityTimeout = ri, rt
}()
lock, wrappedCtx := checkedLockRepo(context.Background(), t, repo)
select {
case <-wrappedCtx.Done():
t.Fatal("lock refresh failed")
case <-time.After(2 * refreshabilityTimeout):
// expected lock refresh to work
}
// unlockRepo should not crash
unlockRepo(lock)
}