// CheckHashes checks all the hashes the object supports are correct func (i *Item) CheckHashes(t *testing.T, obj fs.Object) { require.NotNil(t, obj) types := obj.Fs().Hashes().Array() for _, hash := range types { // Check attributes sum, err := obj.Hash(hash) require.NoError(t, err) assert.True(t, fs.HashEquals(i.Hashes[hash], sum), fmt.Sprintf("%s/%s: %v hash incorrect - expecting %q got %q", obj.Fs().String(), obj.Remote(), hash, i.Hashes[hash], sum)) } }
// CheckHashes checks all the hashes the object supports are correct func (i *Item) CheckHashes(t *testing.T, obj fs.Object) { if obj == nil { t.Fatalf("Object is nil") } types := obj.Fs().Hashes().Array() for _, hash := range types { // Check attributes sum, err := obj.Hash(hash) if err != nil { t.Fatalf("%s: Failed to read hash %v for %q: %v", obj.Fs().String(), hash, obj.Remote(), err) } if !fs.HashEquals(i.Hashes[hash], sum) { t.Errorf("%s/%s: %v hash incorrect - expecting %q got %q", obj.Fs().String(), obj.Remote(), hash, i.Hashes[hash], sum) } } }
// Check checks all the attributes of the object are correct func (i *Item) Check(t *testing.T, obj fs.Object, precision time.Duration) { if obj == nil { t.Fatalf("Object is nil") } types := obj.Fs().Hashes().Array() for _, hash := range types { // Check attributes sum, err := obj.Hash(hash) if err != nil { t.Fatalf("%s: Failed to read hash %v for %q: %v", obj.Fs().String(), hash, obj.Remote(), err) } if hash == fs.HashMD5 { if !fs.HashEquals(i.Md5sum, sum) { t.Errorf("%s/%s: md5 hash incorrect - expecting %q got %q", obj.Fs().String(), obj.Remote(), i.Md5sum, sum) } } } if i.Size != obj.Size() { t.Errorf("%s/%s: Size incorrect - expecting %d got %d", obj.Fs().String(), obj.Remote(), i.Size, obj.Size()) } i.CheckModTime(t, obj, obj.ModTime(), precision) }