2
0
Fork 0
mirror of https://github.com/restic/restic.git synced 2024-09-05 16:41:06 +02:00

local: Convert to test suite

This commit is contained in:
Alexander Neumann 2017-05-01 22:46:51 +02:00
parent f10c24e404
commit 16276853a1
2 changed files with 36 additions and 127 deletions

View file

@ -1,87 +0,0 @@
// DO NOT EDIT, AUTOMATICALLY GENERATED
package local_test
import (
"testing"
"restic/backend/test"
)
var SkipMessage string
func TestLocalBackendCreate(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestCreate(t)
}
func TestLocalBackendOpen(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestOpen(t)
}
func TestLocalBackendCreateWithConfig(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestCreateWithConfig(t)
}
func TestLocalBackendLocation(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestLocation(t)
}
func TestLocalBackendConfig(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestConfig(t)
}
func TestLocalBackendLoad(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestLoad(t)
}
func TestLocalBackendSave(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestSave(t)
}
func TestLocalBackendSaveFilenames(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestSaveFilenames(t)
}
func TestLocalBackendBackend(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestBackend(t)
}
func TestLocalBackendDelete(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestDelete(t)
}
func TestLocalBackendCleanup(t *testing.T) {
if SkipMessage != "" {
t.Skip(SkipMessage)
}
test.TestCleanup(t)
}

View file

@ -1,59 +1,55 @@
package local_test package local_test
import ( import (
"fmt"
"io/ioutil" "io/ioutil"
"os"
"restic" "restic"
"testing"
"restic/backend/local" "restic/backend/local"
"restic/backend/test" "restic/backend/test"
. "restic/test"
) )
var tempBackendDir string func TestBackend(t *testing.T) {
suite := test.Suite{
// NewConfig returns a config for a new temporary backend that will be used in tests.
NewConfig: func() (interface{}, error) {
dir, err := ioutil.TempDir(TestTempDir, "restic-test-local-")
if err != nil {
t.Fatal(err)
}
//go:generate go run ../test/generate_backend_tests.go t.Logf("create new backend at %v", dir)
func createTempdir() error { cfg := local.Config{
if tempBackendDir != "" { Path: dir,
return nil }
} return cfg, nil
},
tempdir, err := ioutil.TempDir("", "restic-local-test-") // CreateFn is a function that creates a temporary repository for the tests.
if err != nil { Create: func(config interface{}) (restic.Backend, error) {
return err cfg := config.(local.Config)
} return local.Create(cfg)
},
fmt.Printf("created new test backend at %v\n", tempdir) // OpenFn is a function that opens a previously created temporary repository.
tempBackendDir = tempdir Open: func(config interface{}) (restic.Backend, error) {
return nil cfg := config.(local.Config)
} return local.Open(cfg)
},
func init() { // CleanupFn removes data created during the tests.
test.CreateFn = func() (restic.Backend, error) { Cleanup: func(config interface{}) error {
err := createTempdir() cfg := config.(local.Config)
if err != nil { if !TestCleanupTempDirs {
return nil, err t.Logf("leaving test backend dir at %v", cfg.Path)
} }
return local.Create(local.Config{Path: tempBackendDir})
}
test.OpenFn = func() (restic.Backend, error) { RemoveAll(t, cfg.Path)
err := createTempdir()
if err != nil {
return nil, err
}
return local.Open(local.Config{Path: tempBackendDir})
}
test.CleanupFn = func() error {
if tempBackendDir == "" {
return nil return nil
} },
fmt.Printf("removing test backend at %v\n", tempBackendDir)
err := os.RemoveAll(tempBackendDir)
tempBackendDir = ""
return err
} }
suite.RunTests(t)
} }