...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package betesting
16
17 import (
18 "io/ioutil"
19 "path/filepath"
20 "testing"
21 "time"
22
23 "github.com/stretchr/testify/assert"
24 "go.etcd.io/etcd/server/v3/mvcc/backend"
25 "go.uber.org/zap/zaptest"
26 )
27
28 func NewTmpBackendFromCfg(t testing.TB, bcfg backend.BackendConfig) (backend.Backend, string) {
29 dir, err := ioutil.TempDir(t.TempDir(), "etcd_backend_test")
30 if err != nil {
31 panic(err)
32 }
33 tmpPath := filepath.Join(dir, "database")
34 bcfg.Path = tmpPath
35 bcfg.Logger = zaptest.NewLogger(t)
36 return backend.New(bcfg), tmpPath
37 }
38
39
40 func NewTmpBackend(t testing.TB, batchInterval time.Duration, batchLimit int) (backend.Backend, string) {
41 bcfg := backend.DefaultBackendConfig()
42 bcfg.BatchInterval, bcfg.BatchLimit = batchInterval, batchLimit
43 return NewTmpBackendFromCfg(t, bcfg)
44 }
45
46 func NewDefaultTmpBackend(t testing.TB) (backend.Backend, string) {
47 return NewTmpBackendFromCfg(t, backend.DefaultBackendConfig())
48 }
49
50 func Close(t testing.TB, b backend.Backend) {
51 assert.NoError(t, b.Close())
52 }
53
View as plain text