check: improved reporting of differences in sizes and contents

fixes rclone check --download not showing differing files
This commit is contained in:
albertony
2025-11-01 20:23:01 +01:00
committed by GitHub
parent 1056ace80f
commit d240d044c3
4 changed files with 60 additions and 49 deletions

View File

@@ -218,21 +218,21 @@ func TestCheckEqualReaders(t *testing.T) {
b65b[len(b65b)-1] = 1
b66 := make([]byte, 66*1024)
differ, err := operations.CheckEqualReaders(bytes.NewBuffer(b65a), bytes.NewBuffer(b65a))
equal, err := operations.CheckEqualReaders(bytes.NewBuffer(b65a), bytes.NewBuffer(b65a))
assert.NoError(t, err)
assert.Equal(t, differ, false)
assert.Equal(t, equal, true)
differ, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), bytes.NewBuffer(b65b))
equal, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), bytes.NewBuffer(b65b))
assert.NoError(t, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), bytes.NewBuffer(b66))
equal, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), bytes.NewBuffer(b66))
assert.NoError(t, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(bytes.NewBuffer(b66), bytes.NewBuffer(b65a))
equal, err = operations.CheckEqualReaders(bytes.NewBuffer(b66), bytes.NewBuffer(b65a))
assert.NoError(t, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
myErr := errors.New("sentinel")
wrap := func(b []byte) io.Reader {
@@ -241,37 +241,37 @@ func TestCheckEqualReaders(t *testing.T) {
return io.MultiReader(r, e)
}
differ, err = operations.CheckEqualReaders(wrap(b65a), bytes.NewBuffer(b65a))
equal, err = operations.CheckEqualReaders(wrap(b65a), bytes.NewBuffer(b65a))
assert.Equal(t, myErr, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(wrap(b65a), bytes.NewBuffer(b65b))
equal, err = operations.CheckEqualReaders(wrap(b65a), bytes.NewBuffer(b65b))
assert.Equal(t, myErr, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(wrap(b65a), bytes.NewBuffer(b66))
equal, err = operations.CheckEqualReaders(wrap(b65a), bytes.NewBuffer(b66))
assert.Equal(t, myErr, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(wrap(b66), bytes.NewBuffer(b65a))
equal, err = operations.CheckEqualReaders(wrap(b66), bytes.NewBuffer(b65a))
assert.Equal(t, myErr, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), wrap(b65a))
equal, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), wrap(b65a))
assert.Equal(t, myErr, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), wrap(b65b))
equal, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), wrap(b65b))
assert.Equal(t, myErr, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), wrap(b66))
equal, err = operations.CheckEqualReaders(bytes.NewBuffer(b65a), wrap(b66))
assert.Equal(t, myErr, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
differ, err = operations.CheckEqualReaders(bytes.NewBuffer(b66), wrap(b65a))
equal, err = operations.CheckEqualReaders(bytes.NewBuffer(b66), wrap(b65a))
assert.Equal(t, myErr, err)
assert.Equal(t, differ, true)
assert.Equal(t, equal, false)
}
func TestParseSumFile(t *testing.T) {