Skip to content

Commit 8428ed2

Browse files
committed
Adjust unit tests to store.close()
1 parent 5220d83 commit 8428ed2

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

core/heartbeat_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ func newManager(t *testing.T, store store.Store) *ScheduleManager {
3232

3333
func TestHeartbeat(t *testing.T) {
3434
store := memory.New()
35+
defer func() {
36+
assert.Nil(t, store.Close())
37+
}()
3538
manager1 := newManager(t, store)
3639
manager2 := newManager(t, store)
3740

core/leader_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ func (demo *DemoWorker) Stop(strategyId, parameter string) error {
3939
func TestStopAllWorkers(t *testing.T) {
4040
// stop parellel
4141
store := memory.New()
42+
defer func() {
43+
assert.Nil(t, store.Close())
44+
}()
4245
manager := newManager(t, store)
4346
demo := &DemoWorker{}
4447
worker.RegisterInstName("demoStopWorker", demo)
@@ -68,6 +71,9 @@ func TestStopAllWorkers(t *testing.T) {
6871

6972
func TestLeader(t *testing.T) {
7073
store := memory.New()
74+
defer func() {
75+
assert.Nil(t, store.Close())
76+
}()
7177
manager1 := newManager(t, store)
7278
manager2 := newManager(t, store)
7379

@@ -98,6 +104,9 @@ func TestLeader(t *testing.T) {
98104

99105
func TestExpiredSchedulers(t *testing.T) {
100106
store := memory.New()
107+
defer func() {
108+
assert.Nil(t, store.Close())
109+
}()
101110
manager := newManager(t, store)
102111
managerExpired := newManager(t, store)
103112

@@ -136,6 +145,9 @@ func TestExpiredSchedulers(t *testing.T) {
136145

137146
func TestGenerateRuntimes(t *testing.T) {
138147
store := memory.New()
148+
defer func() {
149+
assert.Nil(t, store.Close())
150+
}()
139151
manager := newManager(t, store)
140152

141153
store.CreateStrategy(&definition.Strategy{
@@ -164,6 +176,9 @@ func TestGenerateRuntimes(t *testing.T) {
164176
func TestAssign(t *testing.T) {
165177
worker.RegisterName("demo", &DemoWorker{})
166178
store := memory.New()
179+
defer func() {
180+
assert.Nil(t, store.Close())
181+
}()
167182
manager1 := newManager(t, store)
168183
manager2 := newManager(t, store)
169184
manager3 := newManager(t, store)

store/memory/memory.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package memory
66

77
import (
88
"encoding/json"
9+
"errors"
910
"strconv"
1011
"strings"
1112
"sync"
@@ -20,6 +21,7 @@ import (
2021
type MemoryStore struct {
2122
sequence uint64
2223
mutex *sync.Mutex
24+
closed bool
2325
taskItemsConfig map[string]int64
2426
tasks map[string]*definition.Task
2527
strategies map[string]*definition.Strategy
@@ -77,6 +79,13 @@ func (s *MemoryStore) Time() int64 {
7779
}
7880

7981
func (s *MemoryStore) Close() error {
82+
s.mutex.Lock()
83+
defer s.mutex.Unlock()
84+
if s.closed {
85+
return errors.New("The store has been already closed")
86+
}
87+
88+
s.closed = true
8089
return nil
8190
}
8291

0 commit comments

Comments
 (0)