mirror of
https://github.com/octoleo/restic.git
synced 2024-12-23 11:28:54 +00:00
lock: add test to check that refreshing works
This commit is contained in:
parent
f8910bc4ff
commit
24267e9a9d
@ -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)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user