From 61035d68bc03c4db3b28526605d7faff2e2b6c3e Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Wed, 30 Sep 2020 22:32:14 +0200 Subject: [PATCH] Add test for --repository-file --- cmd/restic/global_test.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/cmd/restic/global_test.go b/cmd/restic/global_test.go index 7d0477be6..2a0b05ceb 100644 --- a/cmd/restic/global_test.go +++ b/cmd/restic/global_test.go @@ -2,8 +2,11 @@ package main import ( "bytes" + "io/ioutil" + "path/filepath" "testing" + "github.com/restic/restic/internal/test" rtest "github.com/restic/restic/internal/test" ) @@ -26,3 +29,33 @@ func Test_PrintFunctionsRespectsGlobalStdout(t *testing.T) { buf.Reset() } } + +func TestReadRepo(t *testing.T) { + tempDir, cleanup := test.TempDir(t) + defer cleanup() + + // test --repo option + var opts GlobalOptions + opts.Repo = tempDir + repo, err := ReadRepo(opts) + rtest.OK(t, err) + rtest.Equals(t, tempDir, repo) + + // test --repository-file option + foo := filepath.Join(tempDir, "foo") + err = ioutil.WriteFile(foo, []byte(tempDir+"\n"), 0666) + rtest.OK(t, err) + + var opts2 GlobalOptions + opts2.RepositoryFile = foo + repo, err = ReadRepo(opts2) + rtest.OK(t, err) + rtest.Equals(t, tempDir, repo) + + var opts3 GlobalOptions + opts3.RepositoryFile = foo + "-invalid" + repo, err = ReadRepo(opts3) + if err == nil { + t.Fatal("must not read repository path from invalid file path") + } +}