diff --git a/src/restic/backend/local/local_layout_test.go b/src/restic/backend/local/local_layout_test.go new file mode 100644 index 000000000..278eac4ba --- /dev/null +++ b/src/restic/backend/local/local_layout_test.go @@ -0,0 +1,43 @@ +package local + +import ( + "path/filepath" + . "restic/test" + "testing" +) + +func TestLocalLayout(t *testing.T) { + path, cleanup := TempDir(t) + defer cleanup() + + var tests = []struct { + filename string + layout string + failureExpected bool + }{ + {"repo-layout-local.tar.gz", "", false}, + {"repo-layout-cloud.tar.gz", "", false}, + {"repo-layout-s3-old.tar.gz", "", false}, + } + + for _, test := range tests { + t.Run(test.filename, func(t *testing.T) { + SetupTarTestFixture(t, path, filepath.Join("..", "testdata", test.filename)) + + repo := filepath.Join(path, "repo") + be, err := Open(Config{ + Path: repo, + Layout: test.layout, + }) + if err != nil { + t.Fatal(err) + } + + if be == nil { + t.Fatalf("Open() returned nil but no error") + } + + RemoveAll(t, filepath.Join(path, "repo")) + }) + } +}