Skip to content

Commit cd04cf4

Browse files
anrsanrs
anrs
authored andcommitted
fix: missing wal while make
1 parent da065cf commit cd04cf4

File tree

3 files changed

+57
-9
lines changed

3 files changed

+57
-9
lines changed

Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ unit-test:
5454
./resources/types/. \
5555
./resources/storage/... \
5656
./resources/volume/... \
57-
./resources/cpumem/...
57+
./resources/cpumem/... \
58+
./wal/...
5859

5960
lint:
6061
golangci-lint run

wal/kv/mocked.go

+6-8
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,14 @@ func (m *MockedKV) Scan(ctx context.Context, prefix []byte) (<-chan ScanEntry, f
9292
defer close(ch)
9393

9494
m.pool.Range(func(rkey, rvalue interface{}) (next bool) {
95-
select {
96-
case <-exit:
97-
next = false
98-
default:
99-
next = true
100-
}
101-
10295
var entry MockedScanEntry
10396
defer func() {
104-
ch <- entry
97+
select {
98+
case <-exit:
99+
next = false
100+
case ch <- entry:
101+
next = true
102+
}
105103
}()
106104

107105
var ok bool

wal/kv/mocked_test.go

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package kv
2+
3+
import (
4+
"context"
5+
"testing"
6+
"time"
7+
8+
"github.com/stretchr/testify/require"
9+
)
10+
11+
func TestMockedKV(t *testing.T) {
12+
m := &MockedKV{}
13+
require.NoError(t, m.Open(context.Background(), "/tmp/wal", 0777, time.Second))
14+
15+
a := []byte("/a")
16+
b := []byte("/b")
17+
expValue := []byte("v")
18+
ctx := context.Background()
19+
require.NoError(t, m.Put(ctx, a, expValue))
20+
require.NoError(t, m.Put(ctx, b, expValue))
21+
require.NoError(t, m.Put(ctx, []byte("out-of-scan"), expValue))
22+
23+
ch, abort := m.Scan(ctx, []byte("/"))
24+
elem := <-ch
25+
ent, ok := elem.(MockedScanEntry)
26+
require.True(t, ok)
27+
require.NoError(t, ent.Err)
28+
abort()
29+
30+
_, abort = m.Scan(ctx, []byte("/"))
31+
abort()
32+
33+
realValue, err := m.Get(ctx, a)
34+
require.NoError(t, err)
35+
require.Equal(t, expValue, realValue)
36+
37+
realValue, err = m.Get(ctx, b)
38+
require.NoError(t, err)
39+
require.Equal(t, expValue, realValue)
40+
41+
require.NoError(t, m.Delete(ctx, b))
42+
realValue, err = m.Get(ctx, b)
43+
require.Error(t, err)
44+
45+
require.NoError(t, m.Close(ctx))
46+
47+
realValue, err = m.Get(ctx, a)
48+
require.Error(t, err)
49+
}

0 commit comments

Comments
 (0)