forked from TrueCloudLab/restic
Test and document Restorer.VerifyFiles
This commit is contained in:
parent
ef5672a902
commit
973fa921cb
2 changed files with 12 additions and 1 deletions
|
@ -310,7 +310,10 @@ func (res *Restorer) Snapshot() *restic.Snapshot {
|
|||
return res.sn
|
||||
}
|
||||
|
||||
// VerifyFiles reads all snapshot files and verifies their contents
|
||||
// VerifyFiles checks whether all regular files in the snapshot res.sn
|
||||
// have been successfully written to dst. It stops when it encounters an
|
||||
// error. It returns that error and the number of files it has checked,
|
||||
// including the file(s) that caused errors.
|
||||
func (res *Restorer) VerifyFiles(ctx context.Context, dst string) (int, error) {
|
||||
// TODO multithreaded?
|
||||
|
||||
|
|
|
@ -367,6 +367,11 @@ func TestRestorer(t *testing.T) {
|
|||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if len(test.ErrorsMust)+len(test.ErrorsMay) == 0 {
|
||||
_, err = res.VerifyFiles(ctx, tempdir)
|
||||
rtest.OK(t, err)
|
||||
}
|
||||
|
||||
for location, expectedErrors := range test.ErrorsMust {
|
||||
actualErrors, ok := errors[location]
|
||||
if !ok {
|
||||
|
@ -465,6 +470,9 @@ func TestRestorerRelative(t *testing.T) {
|
|||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
nverified, err := res.VerifyFiles(ctx, "restore")
|
||||
rtest.OK(t, err)
|
||||
rtest.Equals(t, len(test.Files), nverified)
|
||||
|
||||
for filename, err := range errors {
|
||||
t.Errorf("unexpected error for %v found: %v", filename, err)
|
||||
|
|
Loading…
Reference in a new issue