github.com/mckael/restic@v0.8.3/cmd/restic/local_layout_test.go (about) 1 package main 2 3 import ( 4 "path/filepath" 5 "testing" 6 7 rtest "github.com/restic/restic/internal/test" 8 ) 9 10 func TestRestoreLocalLayout(t *testing.T) { 11 env, cleanup := withTestEnvironment(t) 12 defer cleanup() 13 14 var tests = []struct { 15 filename string 16 layout string 17 }{ 18 {"repo-layout-default.tar.gz", ""}, 19 {"repo-layout-s3legacy.tar.gz", ""}, 20 {"repo-layout-default.tar.gz", "default"}, 21 {"repo-layout-s3legacy.tar.gz", "s3legacy"}, 22 } 23 24 for _, test := range tests { 25 datafile := filepath.Join("..", "..", "internal", "backend", "testdata", test.filename) 26 27 rtest.SetupTarTestFixture(t, env.base, datafile) 28 29 env.gopts.extended["local.layout"] = test.layout 30 31 // check the repo 32 testRunCheck(t, env.gopts) 33 34 // restore latest snapshot 35 target := filepath.Join(env.base, "restore") 36 testRunRestoreLatest(t, env.gopts, target, nil, "") 37 38 rtest.RemoveAll(t, filepath.Join(env.base, "repo")) 39 rtest.RemoveAll(t, target) 40 } 41 }