restic/src/restic/backend/local/local_test.go

60 lines
1.0 KiB
Go
Raw Normal View History

2016-01-23 17:08:03 +01:00
package local_test
import (
"fmt"
"io/ioutil"
"os"
2016-08-31 22:51:35 +02:00
"restic"
2016-01-23 17:08:03 +01:00
"restic/backend/local"
"restic/backend/test"
2016-01-23 17:08:03 +01:00
)
var tempBackendDir string
//go:generate go run ../test/generate_backend_tests.go
2016-01-23 18:07:15 +01:00
func createTempdir() error {
if tempBackendDir != "" {
return nil
}
tempdir, err := ioutil.TempDir("", "restic-local-test-")
if err != nil {
return err
}
fmt.Printf("created new test backend at %v\n", tempdir)
tempBackendDir = tempdir
return nil
}
2016-01-23 17:08:03 +01:00
func init() {
2016-08-31 22:51:35 +02:00
test.CreateFn = func() (restic.Backend, error) {
2016-01-23 18:07:15 +01:00
err := createTempdir()
2016-01-23 17:08:03 +01:00
if err != nil {
return nil, err
}
2017-03-25 13:20:03 +01:00
return local.Create(local.Config{Path: tempBackendDir})
2016-01-23 17:08:03 +01:00
}
2016-08-31 22:51:35 +02:00
test.OpenFn = func() (restic.Backend, error) {
2016-01-23 18:07:15 +01:00
err := createTempdir()
if err != nil {
return nil, err
2016-01-23 17:08:03 +01:00
}
2017-03-25 13:20:03 +01:00
return local.Open(local.Config{Path: tempBackendDir})
2016-01-23 17:08:03 +01:00
}
test.CleanupFn = func() error {
if tempBackendDir == "" {
return nil
}
fmt.Printf("removing test backend at %v\n", tempBackendDir)
err := os.RemoveAll(tempBackendDir)
tempBackendDir = ""
return err
}
}