diff --git a/kvdb/etcd/db_test.go b/kvdb/etcd/db_test.go index 35a769745..2bbd7df5c 100644 --- a/kvdb/etcd/db_test.go +++ b/kvdb/etcd/db_test.go @@ -18,7 +18,6 @@ func TestDump(t *testing.T) { t.Parallel() f := NewEtcdTestFixture(t) - defer f.Cleanup() db, err := newEtcdBackend(context.TODO(), f.BackendConfig()) require.NoError(t, err) @@ -53,7 +52,6 @@ func TestAbortContext(t *testing.T) { t.Parallel() f := NewEtcdTestFixture(t) - defer f.Cleanup() ctx, cancel := context.WithCancel(context.Background()) diff --git a/kvdb/etcd/fixture.go b/kvdb/etcd/fixture.go index 5467f1be3..d1ef6cd7b 100644 --- a/kvdb/etcd/fixture.go +++ b/kvdb/etcd/fixture.go @@ -21,10 +21,9 @@ const ( // EtcdTestFixture holds internal state of the etcd test fixture. type EtcdTestFixture struct { - t *testing.T - cli *clientv3.Client - config *Config - cleanup func() + t *testing.T + cli *clientv3.Client + config *Config } // NewTestEtcdInstance creates an embedded etcd instance for testing, listening @@ -47,6 +46,7 @@ func NewEtcdTestFixture(t *testing.T) *EtcdTestFixture { tmpDir := t.TempDir() config, etcdCleanup := NewTestEtcdInstance(t, tmpDir) + t.Cleanup(etcdCleanup) cli, err := clientv3.New(clientv3.Config{ Endpoints: []string{config.Host}, @@ -63,10 +63,9 @@ func NewEtcdTestFixture(t *testing.T) *EtcdTestFixture { cli.Lease = namespace.NewLease(cli.Lease, defaultNamespace) return &EtcdTestFixture{ - t: t, - cli: cli, - config: config, - cleanup: etcdCleanup, + t: t, + cli: cli, + config: config, } } @@ -133,9 +132,3 @@ func (f *EtcdTestFixture) Dump() map[string]string { func (f *EtcdTestFixture) BackendConfig() Config { return *f.config } - -// Cleanup should be called at test fixture teardown to stop the embedded -// etcd instance and remove all temp db files form the filesystem. -func (f *EtcdTestFixture) Cleanup() { - f.cleanup() -} diff --git a/kvdb/etcd/readwrite_tx_test.go b/kvdb/etcd/readwrite_tx_test.go index 41f916697..b5758f7a3 100644 --- a/kvdb/etcd/readwrite_tx_test.go +++ b/kvdb/etcd/readwrite_tx_test.go @@ -15,7 +15,6 @@ func TestChangeDuringManualTx(t *testing.T) { t.Parallel() f := NewEtcdTestFixture(t) - defer f.Cleanup() db, err := newEtcdBackend(context.TODO(), f.BackendConfig()) require.NoError(t, err) @@ -44,7 +43,6 @@ func TestChangeDuringUpdate(t *testing.T) { t.Parallel() f := NewEtcdTestFixture(t) - defer f.Cleanup() db, err := newEtcdBackend(context.TODO(), f.BackendConfig()) require.NoError(t, err) diff --git a/kvdb/etcd/stm_test.go b/kvdb/etcd/stm_test.go index ee556335c..614019a17 100644 --- a/kvdb/etcd/stm_test.go +++ b/kvdb/etcd/stm_test.go @@ -26,11 +26,10 @@ func TestPutToEmpty(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) txQueue := NewCommitQueue(ctx) - defer func() { + t.Cleanup(func() { cancel() - f.Cleanup() txQueue.Stop() - }() + }) db, err := newEtcdBackend(ctx, f.BackendConfig()) require.NoError(t, err) @@ -54,11 +53,10 @@ func TestGetPutDel(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) txQueue := NewCommitQueue(ctx) - defer func() { + t.Cleanup(func() { cancel() - f.Cleanup() txQueue.Stop() - }() + }) testKeyValues := []KV{ {"a", "1"}, @@ -156,11 +154,10 @@ func testFirstLastNextPrev(t *testing.T, prefetchKeys []string, ctx, cancel := context.WithCancel(context.Background()) txQueue := NewCommitQueue(ctx) - defer func() { + t.Cleanup(func() { cancel() - f.Cleanup() txQueue.Stop() - }() + }) testKeyValues := []KV{ {"kb", "1"}, @@ -331,11 +328,10 @@ func TestCommitError(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) txQueue := NewCommitQueue(ctx) - defer func() { + t.Cleanup(func() { cancel() - f.Cleanup() txQueue.Stop() - }() + }) db, err := newEtcdBackend(ctx, f.BackendConfig()) require.NoError(t, err) @@ -381,11 +377,10 @@ func TestManualTxError(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) txQueue := NewCommitQueue(ctx) - defer func() { + t.Cleanup(func() { cancel() - f.Cleanup() txQueue.Stop() - }() + }) db, err := newEtcdBackend(ctx, f.BackendConfig()) require.NoError(t, err) diff --git a/kvdb/etcd/walletdb_interface_test.go b/kvdb/etcd/walletdb_interface_test.go index c37a137fe..13c57e337 100644 --- a/kvdb/etcd/walletdb_interface_test.go +++ b/kvdb/etcd/walletdb_interface_test.go @@ -14,7 +14,6 @@ import ( // etcd database driver. func TestWalletDBInterface(t *testing.T) { f := NewEtcdTestFixture(t) - defer f.Cleanup() cfg := f.BackendConfig() walletdbtest.TestInterface(t, dbType, context.TODO(), &cfg) }