Skip to content

Commit 9deb102

Browse files
committed
fix tests
1 parent 6ec4bfb commit 9deb102

8 files changed

Lines changed: 101 additions & 53 deletions

File tree

tm2/pkg/db/backend_test.go

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,34 @@ func testBackendGetSetDelete(t *testing.T, backend db.BackendType) {
1919
db, err := db.NewDB("testdb", backend, t.TempDir())
2020
require.NoError(t, err)
2121

22+
must := func(bz []byte, err error) []byte {
23+
require.NoError(t, err)
24+
return bz
25+
}
26+
2227
// A nonexistent key should return nil, even if the key is empty
23-
require.Nil(t, db.Get([]byte("")))
28+
require.Nil(t, must(db.Get([]byte(""))))
2429

2530
// A nonexistent key should return nil, even if the key is nil
26-
require.Nil(t, db.Get(nil))
31+
require.Nil(t, must(db.Get(nil)))
2732

2833
// A nonexistent key should return nil.
2934
key := []byte("abc")
30-
require.Nil(t, db.Get(key))
35+
require.Nil(t, must(db.Get(key)))
3136

3237
// Set empty value.
3338
db.SetSync(key, []byte(""))
34-
require.NotNil(t, db.Get(key))
35-
require.Empty(t, db.Get(key))
39+
require.NotNil(t, must(db.Get(key)))
40+
require.Empty(t, must(db.Get(key)))
3641

3742
// Set nil value.
3843
db.SetSync(key, nil)
39-
require.NotNil(t, db.Get(key))
40-
require.Empty(t, db.Get(key))
44+
require.NotNil(t, must(db.Get(key)))
45+
require.Empty(t, must(db.Get(key)))
4146

4247
// Delete.
4348
db.DeleteSync(key)
44-
require.Nil(t, db.Get(key))
49+
require.Nil(t, must(db.Get(key)))
4550
}
4651

4752
func TestBackendsGetSetDelete(t *testing.T) {
@@ -77,11 +82,23 @@ func TestBackendsNilKeys(t *testing.T) {
7782
// Nil keys are treated as the empty key for most operations.
7883
expect := func(key, value []byte) {
7984
if len(key) == 0 { // nil or empty
80-
assert.Equal(t, db.Get(nil), db.Get([]byte("")))
81-
assert.Equal(t, db.Has(nil), db.Has([]byte("")))
85+
exp, err := db.Get(nil)
86+
require.NoError(t, err)
87+
got, err := db.Get([]byte(""))
88+
require.NoError(t, err)
89+
assert.Equal(t, exp, got)
90+
exp2, err := db.Has(nil)
91+
require.NoError(t, err)
92+
got2, err := db.Has([]byte(""))
93+
require.NoError(t, err)
94+
assert.Equal(t, exp2, got2)
8295
}
83-
assert.Equal(t, db.Get(key), value)
84-
assert.Equal(t, db.Has(key), value != nil)
96+
v, err := db.Get(key)
97+
require.NoError(t, err)
98+
assert.Equal(t, v, value)
99+
h, err := db.Has(key)
100+
require.NoError(t, err)
101+
assert.Equal(t, h, value != nil)
85102
}
86103

87104
// Not set
@@ -241,7 +258,8 @@ func TestDBIteratorSingleKey(t *testing.T) {
241258
db := newTempDB(t, backend)
242259

243260
db.SetSync(bz("1"), bz("value_1"))
244-
itr := db.Iterator(nil, nil)
261+
itr, err := db.Iterator(nil, nil)
262+
require.NoError(t, err)
245263

246264
checkValid(t, itr, true)
247265
checkNext(t, itr, false)
@@ -267,7 +285,8 @@ func TestDBIteratorTwoKeys(t *testing.T) {
267285
db.SetSync(bz("2"), bz("value_1"))
268286

269287
{ // Fail by calling Next too much
270-
itr := db.Iterator(nil, nil)
288+
itr, err := db.Iterator(nil, nil)
289+
require.NoError(t, err)
271290
checkValid(t, itr, true)
272291

273292
checkNext(t, itr, true)

tm2/pkg/db/common_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ import (
66
"sync"
77
"testing"
88

9-
"github.com/gnolang/gno/tm2/pkg/db"
10-
"github.com/gnolang/gno/tm2/pkg/db/internal"
119
"github.com/stretchr/testify/assert"
1210
"github.com/stretchr/testify/require"
11+
12+
"github.com/gnolang/gno/tm2/pkg/db"
13+
"github.com/gnolang/gno/tm2/pkg/db/internal"
1314
)
1415

1516
// ----------------------------------------
@@ -18,7 +19,8 @@ import (
1819
func checkValue(t *testing.T, db db.DB, key []byte, valueWanted []byte) {
1920
t.Helper()
2021

21-
valueGot := db.Get(key)
22+
valueGot, err := db.Get(key)
23+
require.NoError(t, err)
2224
assert.Equal(t, valueWanted, valueGot)
2325
}
2426

tm2/pkg/db/internal/test_common.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,12 @@ func (MockIterator) Value() []byte {
6262
return nil
6363
}
6464

65-
func (MockIterator) Close() {
65+
func (MockIterator) Close() error {
66+
return nil
67+
}
68+
69+
func (MockIterator) Error() error {
70+
return nil
6671
}
6772

6873
func BenchmarkRandomReadsWrites(b *testing.B, db db.DB) {

tm2/pkg/db/prefix_db_test.go

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package db_test
33
import (
44
"testing"
55

6+
"github.com/stretchr/testify/require"
7+
68
dbm "github.com/gnolang/gno/tm2/pkg/db"
79
"github.com/gnolang/gno/tm2/pkg/db/memdb"
810
)
@@ -48,7 +50,8 @@ func TestPrefixDBIterator1(t *testing.T) {
4850
db := mockDBWithStuff()
4951
pdb := dbm.NewPrefixDB(db, bz("key"))
5052

51-
itr := pdb.Iterator(nil, nil)
53+
itr, err := pdb.Iterator(nil, nil)
54+
require.NoError(t, err)
5255
checkDomain(t, itr, nil, nil)
5356
checkItem(t, itr, bz(""), bz("value"))
5457
checkNext(t, itr, true)
@@ -68,7 +71,8 @@ func TestPrefixDBIterator2(t *testing.T) {
6871
db := mockDBWithStuff()
6972
pdb := dbm.NewPrefixDB(db, bz("key"))
7073

71-
itr := pdb.Iterator(nil, bz(""))
74+
itr, err := pdb.Iterator(nil, bz(""))
75+
require.NoError(t, err)
7276
checkDomain(t, itr, nil, bz(""))
7377
checkInvalid(t, itr)
7478
itr.Close()
@@ -80,7 +84,8 @@ func TestPrefixDBIterator3(t *testing.T) {
8084
db := mockDBWithStuff()
8185
pdb := dbm.NewPrefixDB(db, bz("key"))
8286

83-
itr := pdb.Iterator(bz(""), nil)
87+
itr, err := pdb.Iterator(bz(""), nil)
88+
require.NoError(t, err)
8489
checkDomain(t, itr, bz(""), nil)
8590
checkItem(t, itr, bz(""), bz("value"))
8691
checkNext(t, itr, true)
@@ -100,7 +105,8 @@ func TestPrefixDBIterator4(t *testing.T) {
100105
db := mockDBWithStuff()
101106
pdb := dbm.NewPrefixDB(db, bz("key"))
102107

103-
itr := pdb.Iterator(bz(""), bz(""))
108+
itr, err := pdb.Iterator(bz(""), bz(""))
109+
require.NoError(t, err)
104110
checkDomain(t, itr, bz(""), bz(""))
105111
checkInvalid(t, itr)
106112
itr.Close()
@@ -112,7 +118,8 @@ func TestPrefixDBReverseIterator1(t *testing.T) {
112118
db := mockDBWithStuff()
113119
pdb := dbm.NewPrefixDB(db, bz("key"))
114120

115-
itr := pdb.ReverseIterator(nil, nil)
121+
itr, err := pdb.ReverseIterator(nil, nil)
122+
require.NoError(t, err)
116123
checkDomain(t, itr, nil, nil)
117124
checkItem(t, itr, bz("3"), bz("value3"))
118125
checkNext(t, itr, true)
@@ -132,7 +139,8 @@ func TestPrefixDBReverseIterator2(t *testing.T) {
132139
db := mockDBWithStuff()
133140
pdb := dbm.NewPrefixDB(db, bz("key"))
134141

135-
itr := pdb.ReverseIterator(bz(""), nil)
142+
itr, err := pdb.ReverseIterator(bz(""), nil)
143+
require.NoError(t, err)
136144
checkDomain(t, itr, bz(""), nil)
137145
checkItem(t, itr, bz("3"), bz("value3"))
138146
checkNext(t, itr, true)
@@ -152,7 +160,8 @@ func TestPrefixDBReverseIterator3(t *testing.T) {
152160
db := mockDBWithStuff()
153161
pdb := dbm.NewPrefixDB(db, bz("key"))
154162

155-
itr := pdb.ReverseIterator(nil, bz(""))
163+
itr, err := pdb.ReverseIterator(nil, bz(""))
164+
require.NoError(t, err)
156165
checkDomain(t, itr, nil, bz(""))
157166
checkInvalid(t, itr)
158167
itr.Close()
@@ -164,7 +173,8 @@ func TestPrefixDBReverseIterator4(t *testing.T) {
164173
db := mockDBWithStuff()
165174
pdb := dbm.NewPrefixDB(db, bz("key"))
166175

167-
itr := pdb.ReverseIterator(bz(""), bz(""))
176+
itr, err := pdb.ReverseIterator(bz(""), bz(""))
177+
require.NoError(t, err)
168178
checkDomain(t, itr, bz(""), bz(""))
169179
checkInvalid(t, itr)
170180
itr.Close()
@@ -176,7 +186,8 @@ func TestPrefixDBReverseIterator5(t *testing.T) {
176186
db := mockDBWithStuff()
177187
pdb := dbm.NewPrefixDB(db, bz("key"))
178188

179-
itr := pdb.ReverseIterator(bz("1"), nil)
189+
itr, err := pdb.ReverseIterator(bz("1"), nil)
190+
require.NoError(t, err)
180191
checkDomain(t, itr, bz("1"), nil)
181192
checkItem(t, itr, bz("3"), bz("value3"))
182193
checkNext(t, itr, true)
@@ -194,7 +205,8 @@ func TestPrefixDBReverseIterator6(t *testing.T) {
194205
db := mockDBWithStuff()
195206
pdb := dbm.NewPrefixDB(db, bz("key"))
196207

197-
itr := pdb.ReverseIterator(bz("2"), nil)
208+
itr, err := pdb.ReverseIterator(bz("2"), nil)
209+
require.NoError(t, err)
198210
checkDomain(t, itr, bz("2"), nil)
199211
checkItem(t, itr, bz("3"), bz("value3"))
200212
checkNext(t, itr, true)
@@ -210,7 +222,8 @@ func TestPrefixDBReverseIterator7(t *testing.T) {
210222
db := mockDBWithStuff()
211223
pdb := dbm.NewPrefixDB(db, bz("key"))
212224

213-
itr := pdb.ReverseIterator(nil, bz("2"))
225+
itr, err := pdb.ReverseIterator(nil, bz("2"))
226+
require.NoError(t, err)
214227
checkDomain(t, itr, nil, bz("2"))
215228
checkItem(t, itr, bz("1"), bz("value1"))
216229
checkNext(t, itr, true)

tm2/pkg/store/cache/store_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,8 @@ func assertIterateDomainCheck(t *testing.T, st types.Store, mem dbm.DB, r []keyR
456456

457457
// iterate over each and check they match the other
458458
itr := st.Iterator(nil, nil)
459-
itr2 := mem.Iterator(nil, nil) // ground truth
459+
itr2, err := mem.Iterator(nil, nil) // ground truth
460+
require.NoError(t, err)
460461

461462
krc := newKeyRangeCounter(r)
462463
i := 0
@@ -488,7 +489,8 @@ func assertIterateDomainCompare(t *testing.T, st types.Store, mem dbm.DB) {
488489

489490
// iterate over each and check they match the other
490491
itr := st.Iterator(nil, nil)
491-
itr2 := mem.Iterator(nil, nil) // ground truth
492+
itr2, err := mem.Iterator(nil, nil) // ground truth
493+
require.NoError(t, err)
492494
checkIterators(t, itr, itr2)
493495
checkIterators(t, itr2, itr)
494496
}

tm2/pkg/store/dbadapter/store.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ import (
1010
// Implements CommitStoreConstructor.
1111
func StoreConstructor(db dbm.DB, opts types.StoreOptions) types.CommitStore {
1212
return Store{
13-
db: db,
13+
DB: db,
1414
}
1515
}
1616

1717
// Wrapper type for dbm.Db with implementation of Store
1818
type Store struct {
19-
db dbm.DB
19+
DB dbm.DB
2020
}
2121

2222
// Get returns nil iff key doesn't exist. Panics on nil key.
2323
func (dsa Store) Get(key []byte) []byte {
24-
v, err := dsa.db.Get(key)
24+
v, err := dsa.DB.Get(key)
2525
if err != nil {
2626
panic(err)
2727
}
@@ -30,7 +30,7 @@ func (dsa Store) Get(key []byte) []byte {
3030

3131
// Has checks if a key exists. Panics on nil key.
3232
func (dsa Store) Has(key []byte) bool {
33-
v, err := dsa.db.Has(key)
33+
v, err := dsa.DB.Has(key)
3434
if err != nil {
3535
panic(err)
3636
}
@@ -39,15 +39,15 @@ func (dsa Store) Has(key []byte) bool {
3939

4040
// Set sets the key. Panics on nil key or value.
4141
func (dsa Store) Set(key, value []byte) {
42-
err := dsa.db.Set(key, value)
42+
err := dsa.DB.Set(key, value)
4343
if err != nil {
4444
panic(err)
4545
}
4646
}
4747

4848
// Delete deletes the key. Panics on nil key.
4949
func (dsa Store) Delete(key []byte) {
50-
err := dsa.db.Delete(key)
50+
err := dsa.DB.Delete(key)
5151
if err != nil {
5252
panic(err)
5353
}
@@ -60,7 +60,7 @@ func (dsa Store) Delete(key []byte) {
6060
// CONTRACT: No writes may happen within a domain while an iterator exists over it.
6161
// Exceptionally allowed for cachekv.Store, safe to write in the modules.
6262
func (dsa Store) Iterator(start, end []byte) types.Iterator {
63-
it, err := dsa.db.Iterator(start, end)
63+
it, err := dsa.DB.Iterator(start, end)
6464
if err != nil {
6565
panic(err)
6666
}
@@ -73,7 +73,7 @@ func (dsa Store) Iterator(start, end []byte) types.Iterator {
7373
// CONTRACT: No writes may happen within a domain while an iterator exists over it.
7474
// Exceptionally allowed for cachekv.Store, safe to write in the modules.
7575
func (dsa Store) ReverseIterator(start, end []byte) types.Iterator {
76-
it, err := dsa.db.ReverseIterator(start, end)
76+
it, err := dsa.DB.ReverseIterator(start, end)
7777
if err != nil {
7878
panic(err)
7979
}

0 commit comments

Comments
 (0)