forked from TrueCloudLab/restic
ff7ef5007e
The ioutil functions are deprecated since Go 1.17 and only wrap another library function. Thus directly call the underlying function. This commit only mechanically replaces the function calls.
61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"github.com/restic/restic/internal/test"
|
|
rtest "github.com/restic/restic/internal/test"
|
|
)
|
|
|
|
func Test_PrintFunctionsRespectsGlobalStdout(t *testing.T) {
|
|
gopts := globalOptions
|
|
defer func() {
|
|
globalOptions = gopts
|
|
}()
|
|
|
|
buf := bytes.NewBuffer(nil)
|
|
globalOptions.stdout = buf
|
|
|
|
for _, p := range []func(){
|
|
func() { Println("message") },
|
|
func() { Print("message\n") },
|
|
func() { Printf("mes%s\n", "sage") },
|
|
} {
|
|
p()
|
|
rtest.Equals(t, "message\n", buf.String())
|
|
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 = os.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"
|
|
_, err = ReadRepo(opts3)
|
|
if err == nil {
|
|
t.Fatal("must not read repository path from invalid file path")
|
|
}
|
|
}
|