mirror of
https://github.com/rclone/rclone.git
synced 2025-06-25 02:41:25 +08:00
filter: Fix incorrect filtering with UseFilter context flag and wrapping backends
In this commit 8d1fff9a8237c64f local: obey file filters in listing to fix errors on excluded files We started using filters in the local backend so the user could short circuit troublesome files/directories at a low level. However this caused a number of integration tests to fail. This turned out to be in backends wrapping the local backend. For example the combine backend test failed because it changes the paths passed to the local backend so they no longer match the paths in the current filter. To fix this, a new feature flag `FilterAware` was added and the UseFilter context flag is only passed to backends which support it. As the wrapping backends don't support the flag, this fixes the problems in the integration tests. In future the wrapping backends could modify the active filters to match the path modifications and then they could set the FilterAware flag. See #6376
This commit is contained in:
@ -378,6 +378,9 @@ func TestFilter(t *testing.T) {
|
||||
r.WriteFile("excluded", "excluded file", when)
|
||||
f := r.Flocal.(*Fs)
|
||||
|
||||
// Check set up for filtering
|
||||
assert.True(t, f.Features().FilterAware)
|
||||
|
||||
// Add a filter
|
||||
ctx, fi := filter.AddConfig(ctx)
|
||||
require.NoError(t, fi.AddRule("+ included"))
|
||||
|
Reference in New Issue
Block a user