mirror of https://github.com/restic/restic.git
Test and document Restorer.VerifyFiles
This commit is contained in:
parent
ef5672a902
commit
973fa921cb
|
@ -310,7 +310,10 @@ func (res *Restorer) Snapshot() *restic.Snapshot {
|
||||||
return res.sn
|
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) {
|
func (res *Restorer) VerifyFiles(ctx context.Context, dst string) (int, error) {
|
||||||
// TODO multithreaded?
|
// TODO multithreaded?
|
||||||
|
|
||||||
|
|
|
@ -367,6 +367,11 @@ func TestRestorer(t *testing.T) {
|
||||||
t.Fatal(err)
|
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 {
|
for location, expectedErrors := range test.ErrorsMust {
|
||||||
actualErrors, ok := errors[location]
|
actualErrors, ok := errors[location]
|
||||||
if !ok {
|
if !ok {
|
||||||
|
@ -465,6 +470,9 @@ func TestRestorerRelative(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
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 {
|
for filename, err := range errors {
|
||||||
t.Errorf("unexpected error for %v found: %v", filename, err)
|
t.Errorf("unexpected error for %v found: %v", filename, err)
|
||||||
|
|
Loading…
Reference in New Issue