forked from TrueCloudLab/rclone
vfs: disable cache cleaner if --vfs-cache-poll-interval=0
And use this to disable the cleaner in the cache tests to make them more reliable
This commit is contained in:
parent
70b4842823
commit
442334ba61
2 changed files with 9 additions and 2 deletions
|
@ -387,6 +387,10 @@ func (c *cache) clean() {
|
||||||
//
|
//
|
||||||
// doesn't return until context is cancelled
|
// doesn't return until context is cancelled
|
||||||
func (c *cache) cleaner(ctx context.Context) {
|
func (c *cache) cleaner(ctx context.Context) {
|
||||||
|
if c.opt.CachePollInterval <= 0 {
|
||||||
|
fs.Debugf(nil, "Cache cleaning thread disabled because poll interval <= 0")
|
||||||
|
return
|
||||||
|
}
|
||||||
// Start cleaning the cache immediately
|
// Start cleaning the cache immediately
|
||||||
c.clean()
|
c.clean()
|
||||||
// Then every interval specified
|
// Then every interval specified
|
||||||
|
|
|
@ -63,9 +63,12 @@ func TestCacheNew(t *testing.T) {
|
||||||
defer r.Finalise()
|
defer r.Finalise()
|
||||||
|
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
c, err := newCache(ctx, r.Fremote, &DefaultOpt)
|
// Disable the cache cleaner as it interferes with these tests
|
||||||
cancel() // kill the background cache cleaning as it interferes with the tests
|
opt := DefaultOpt
|
||||||
|
opt.CachePollInterval = 0
|
||||||
|
c, err := newCache(ctx, r.Fremote, &opt)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Contains(t, c.root, "vfs")
|
assert.Contains(t, c.root, "vfs")
|
||||||
|
|
Loading…
Add table
Reference in a new issue