@@ -32,32 +32,32 @@ func TestDatabaseSuite(t *testing.T, New func() ethdb.KeyValueStore) {
32
32
tests := []struct {
33
33
content map [string ]string
34
34
prefix string
35
- start string
35
+ start string
36
36
order []string
37
37
}{
38
38
// Empty databases should be iterable
39
- {map [string ]string {}, "" ,"" , nil },
40
- {map [string ]string {}, "non-existent-prefix" ,"" , nil },
39
+ {map [string ]string {}, "" , "" , nil },
40
+ {map [string ]string {}, "non-existent-prefix" , "" , nil },
41
41
42
42
// Single-item databases should be iterable
43
- {map [string ]string {"key" : "val" }, "" ,"" , []string {"key" }},
44
- {map [string ]string {"key" : "val" }, "k" ,"" , []string {"key" }},
45
- {map [string ]string {"key" : "val" }, "l" ,"" , nil },
43
+ {map [string ]string {"key" : "val" }, "" , "" , []string {"key" }},
44
+ {map [string ]string {"key" : "val" }, "k" , "" , []string {"key" }},
45
+ {map [string ]string {"key" : "val" }, "l" , "" , nil },
46
46
47
47
// Multi-item databases should be fully iterable
48
48
{
49
49
map [string ]string {"k1" : "v1" , "k5" : "v5" , "k2" : "v2" , "k4" : "v4" , "k3" : "v3" },
50
- "" ,"" ,
50
+ "" , "" ,
51
51
[]string {"k1" , "k2" , "k3" , "k4" , "k5" },
52
52
},
53
53
{
54
54
map [string ]string {"k1" : "v1" , "k5" : "v5" , "k2" : "v2" , "k4" : "v4" , "k3" : "v3" },
55
- "k" ,"" ,
55
+ "k" , "" ,
56
56
[]string {"k1" , "k2" , "k3" , "k4" , "k5" },
57
57
},
58
58
{
59
59
map [string ]string {"k1" : "v1" , "k5" : "v5" , "k2" : "v2" , "k4" : "v4" , "k3" : "v3" },
60
- "l" ,"" ,
60
+ "l" , "" ,
61
61
nil ,
62
62
},
63
63
// Multi-item databases should be prefix-iterable
@@ -66,15 +66,15 @@ func TestDatabaseSuite(t *testing.T, New func() ethdb.KeyValueStore) {
66
66
"ka1" : "va1" , "ka5" : "va5" , "ka2" : "va2" , "ka4" : "va4" , "ka3" : "va3" ,
67
67
"kb1" : "vb1" , "kb5" : "vb5" , "kb2" : "vb2" , "kb4" : "vb4" , "kb3" : "vb3" ,
68
68
},
69
- "ka" ,"" ,
69
+ "ka" , "" ,
70
70
[]string {"ka1" , "ka2" , "ka3" , "ka4" , "ka5" },
71
71
},
72
72
{
73
73
map [string ]string {
74
74
"ka1" : "va1" , "ka5" : "va5" , "ka2" : "va2" , "ka4" : "va4" , "ka3" : "va3" ,
75
75
"kb1" : "vb1" , "kb5" : "vb5" , "kb2" : "vb2" , "kb4" : "vb4" , "kb3" : "vb3" ,
76
76
},
77
- "kc" ,"" ,
77
+ "kc" , "" ,
78
78
nil ,
79
79
},
80
80
// Multi-item databases should be prefix-iterable with start position
@@ -83,15 +83,15 @@ func TestDatabaseSuite(t *testing.T, New func() ethdb.KeyValueStore) {
83
83
"ka1" : "va1" , "ka5" : "va5" , "ka2" : "va2" , "ka4" : "va4" , "ka3" : "va3" ,
84
84
"kb1" : "vb1" , "kb5" : "vb5" , "kb2" : "vb2" , "kb4" : "vb4" , "kb3" : "vb3" ,
85
85
},
86
- "ka" ,"3" ,
86
+ "ka" , "3" ,
87
87
[]string {"ka3" , "ka4" , "ka5" },
88
88
},
89
89
{
90
90
map [string ]string {
91
91
"ka1" : "va1" , "ka5" : "va5" , "ka2" : "va2" , "ka4" : "va4" , "ka3" : "va3" ,
92
92
"kb1" : "vb1" , "kb5" : "vb5" , "kb2" : "vb2" , "kb4" : "vb4" , "kb3" : "vb3" ,
93
93
},
94
- "ka" ,"8" ,
94
+ "ka" , "8" ,
95
95
nil ,
96
96
},
97
97
}
@@ -147,57 +147,52 @@ func TestDatabaseSuite(t *testing.T, New func() ethdb.KeyValueStore) {
147
147
if err := it .Error (); err != nil {
148
148
t .Fatal (err )
149
149
}
150
- it .Release ()
151
150
if ! reflect .DeepEqual (got , want ) {
152
151
t .Errorf ("Iterator: got: %s; want: %s" , got , want )
153
152
}
154
153
}
155
154
156
155
{
157
- it := db .NewIteratorWithPrefix ([]byte ("1" ))
156
+ it := db .NewIteratorWith ([]byte ("1" ), nil )
158
157
got , want := iterateKeys (it ), []string {"1" , "10" , "11" , "12" }
159
158
if err := it .Error (); err != nil {
160
159
t .Fatal (err )
161
160
}
162
- it .Release ()
163
161
if ! reflect .DeepEqual (got , want ) {
164
- t .Errorf ("IteratorWithPrefix(1 ): got: %s; want: %s" , got , want )
162
+ t .Errorf ("IteratorWith(1,nil ): got: %s; want: %s" , got , want )
165
163
}
166
164
}
167
165
168
166
{
169
- it := db .NewIteratorWithPrefix ([]byte ("5" ))
167
+ it := db .NewIteratorWith ([]byte ("5" ), nil )
170
168
got , want := iterateKeys (it ), []string {}
171
169
if err := it .Error (); err != nil {
172
170
t .Fatal (err )
173
171
}
174
- it .Release ()
175
172
if ! reflect .DeepEqual (got , want ) {
176
- t .Errorf ("IteratorWithPrefix(1 ): got: %s; want: %s" , got , want )
173
+ t .Errorf ("IteratorWith(5,nil ): got: %s; want: %s" , got , want )
177
174
}
178
175
}
179
176
180
177
{
181
- it := db .NewIteratorWithStart ( []byte ("2" ))
178
+ it := db .NewIteratorWith ( nil , []byte ("2" ))
182
179
got , want := iterateKeys (it ), []string {"2" , "20" , "21" , "22" , "3" , "4" , "6" }
183
180
if err := it .Error (); err != nil {
184
181
t .Fatal (err )
185
182
}
186
- it .Release ()
187
183
if ! reflect .DeepEqual (got , want ) {
188
- t .Errorf ("IteratorWithStart( 2): got: %s; want: %s" , got , want )
184
+ t .Errorf ("IteratorWith(nil, 2): got: %s; want: %s" , got , want )
189
185
}
190
186
}
191
187
192
188
{
193
- it := db .NewIteratorWithStart ( []byte ("5" ))
189
+ it := db .NewIteratorWith ( nil , []byte ("5" ))
194
190
got , want := iterateKeys (it ), []string {"6" }
195
191
if err := it .Error (); err != nil {
196
192
t .Fatal (err )
197
193
}
198
- it .Release ()
199
194
if ! reflect .DeepEqual (got , want ) {
200
- t .Errorf ("IteratorWithStart(2 ): got: %s; want: %s" , got , want )
195
+ t .Errorf ("IteratorWith(nil,5 ): got: %s; want: %s" , got , want )
201
196
}
202
197
}
203
198
})
@@ -268,7 +263,6 @@ func TestDatabaseSuite(t *testing.T, New func() ethdb.KeyValueStore) {
268
263
if got , want := iterateKeys (it ), []string {"1" , "2" , "3" , "4" }; ! reflect .DeepEqual (got , want ) {
269
264
t .Errorf ("got: %s; want: %s" , got , want )
270
265
}
271
- it .Release ()
272
266
}
273
267
274
268
b .Reset ()
@@ -289,7 +283,6 @@ func TestDatabaseSuite(t *testing.T, New func() ethdb.KeyValueStore) {
289
283
if got , want := iterateKeys (it ), []string {"2" , "3" , "4" , "5" , "6" }; ! reflect .DeepEqual (got , want ) {
290
284
t .Errorf ("got: %s; want: %s" , got , want )
291
285
}
292
- it .Release ()
293
286
}
294
287
})
295
288
@@ -318,7 +311,6 @@ func TestDatabaseSuite(t *testing.T, New func() ethdb.KeyValueStore) {
318
311
if got := iterateKeys (it ); ! reflect .DeepEqual (got , want ) {
319
312
t .Errorf ("got: %s; want: %s" , got , want )
320
313
}
321
- it .Release ()
322
314
})
323
315
324
316
}
@@ -329,5 +321,6 @@ func iterateKeys(it ethdb.Iterator) []string {
329
321
keys = append (keys , string (it .Key ()))
330
322
}
331
323
sort .Strings (keys )
324
+ it .Release ()
332
325
return keys
333
326
}
0 commit comments