|
1 | 1 | package types
|
2 | 2 |
|
3 | 3 | import (
|
4 |
| - "testing" |
5 |
| - |
6 |
| - dbm "github.com/cosmos/cosmos-db" |
7 |
| - iavl2 "github.com/cosmos/iavl" |
8 |
| - "github.com/stretchr/testify/require" |
9 |
| - |
10 |
| - "cosmossdk.io/log" |
11 | 4 | "cosmossdk.io/store"
|
12 |
| - "cosmossdk.io/store/iavl" |
13 | 5 | )
|
14 | 6 |
|
15 | 7 | // This is modeled close to
|
16 | 8 | // https://github.com/CosmWasm/cosmwasm-plus/blob/f97a7de44b6a930fd1d5179ee6f95b786a532f32/packages/storage-plus/src/prefix.rs#L183
|
17 | 9 | // and designed to ensure the IAVL store handles bounds the same way as the mock storage we use in Rust contract tests
|
18 |
| -func TestIavlRangeBounds(t *testing.T) { |
19 |
| - memdb := dbm.NewMemDB() |
20 |
| - tree := iavl2.NewMutableTree(memdb, 50, false, log.NewTestLogger(t)) |
21 |
| - kvstore := iavl.UnsafeNewStore(tree) |
| 10 | +// func TestIavlRangeBounds(t *testing.T) { |
| 11 | +// memdb := dbm.NewMemDB() |
| 12 | +// tree := iavl2.NewMutableTree(memdb, 50, false, log.NewTestLogger(t)) |
| 13 | +// kvstore := iavl.UnsafeNewStore(tree) |
22 | 14 |
|
23 |
| - // values to compare with |
24 |
| - expected := []KV{ |
25 |
| - {[]byte("bar"), []byte("1")}, |
26 |
| - {[]byte("ra"), []byte("2")}, |
27 |
| - {[]byte("zi"), []byte("3")}, |
28 |
| - } |
29 |
| - reversed := []KV{ |
30 |
| - {[]byte("zi"), []byte("3")}, |
31 |
| - {[]byte("ra"), []byte("2")}, |
32 |
| - {[]byte("bar"), []byte("1")}, |
33 |
| - } |
| 15 | +// // values to compare with |
| 16 | +// expected := []KV{ |
| 17 | +// {[]byte("bar"), []byte("1")}, |
| 18 | +// {[]byte("ra"), []byte("2")}, |
| 19 | +// {[]byte("zi"), []byte("3")}, |
| 20 | +// } |
| 21 | +// reversed := []KV{ |
| 22 | +// {[]byte("zi"), []byte("3")}, |
| 23 | +// {[]byte("ra"), []byte("2")}, |
| 24 | +// {[]byte("bar"), []byte("1")}, |
| 25 | +// } |
34 | 26 |
|
35 |
| - // set up test cases, like `ensure_proper_range_bounds` in `cw-storage-plus` |
36 |
| - for _, kv := range expected { |
37 |
| - kvstore.Set(kv.Key, kv.Value) |
38 |
| - } |
| 27 | +// // set up test cases, like `ensure_proper_range_bounds` in `cw-storage-plus` |
| 28 | +// for _, kv := range expected { |
| 29 | +// kvstore.Set(kv.Key, kv.Value) |
| 30 | +// } |
39 | 31 |
|
40 |
| - cases := map[string]struct { |
41 |
| - start []byte |
42 |
| - end []byte |
43 |
| - reverse bool |
44 |
| - expected []KV |
45 |
| - }{ |
46 |
| - "all ascending": {nil, nil, false, expected}, |
47 |
| - "ascending start inclusive": {[]byte("ra"), nil, false, expected[1:]}, |
48 |
| - "ascending end exclusive": {nil, []byte("ra"), false, expected[:1]}, |
49 |
| - "ascending both points": {[]byte("bar"), []byte("zi"), false, expected[:2]}, |
| 32 | +// cases := map[string]struct { |
| 33 | +// start []byte |
| 34 | +// end []byte |
| 35 | +// reverse bool |
| 36 | +// expected []KV |
| 37 | +// }{ |
| 38 | +// "all ascending": {nil, nil, false, expected}, |
| 39 | +// "ascending start inclusive": {[]byte("ra"), nil, false, expected[1:]}, |
| 40 | +// "ascending end exclusive": {nil, []byte("ra"), false, expected[:1]}, |
| 41 | +// "ascending both points": {[]byte("bar"), []byte("zi"), false, expected[:2]}, |
50 | 42 |
|
51 |
| - "all descending": {nil, nil, true, reversed}, |
52 |
| - "descending start inclusive": {[]byte("ra"), nil, true, reversed[:2]}, // "zi", "ra" |
53 |
| - "descending end inclusive": {nil, []byte("ra"), true, reversed[2:]}, // "bar" |
54 |
| - "descending both points": {[]byte("bar"), []byte("zi"), true, reversed[1:]}, // "ra", "bar" |
55 |
| - } |
| 43 | +// "all descending": {nil, nil, true, reversed}, |
| 44 | +// "descending start inclusive": {[]byte("ra"), nil, true, reversed[:2]}, // "zi", "ra" |
| 45 | +// "descending end inclusive": {nil, []byte("ra"), true, reversed[2:]}, // "bar" |
| 46 | +// "descending both points": {[]byte("bar"), []byte("zi"), true, reversed[1:]}, // "ra", "bar" |
| 47 | +// } |
56 | 48 |
|
57 |
| - for name, tc := range cases { |
58 |
| - t.Run(name, func(t *testing.T) { |
59 |
| - var iter store.Iterator |
60 |
| - if tc.reverse { |
61 |
| - iter = kvstore.ReverseIterator(tc.start, tc.end) |
62 |
| - } else { |
63 |
| - iter = kvstore.Iterator(tc.start, tc.end) |
64 |
| - } |
65 |
| - items := consume(iter) |
66 |
| - require.Equal(t, tc.expected, items) |
67 |
| - iter.Close() |
68 |
| - }) |
69 |
| - } |
70 |
| -} |
| 49 | +// for name, tc := range cases { |
| 50 | +// t.Run(name, func(t *testing.T) { |
| 51 | +// var iter store.Iterator |
| 52 | +// if tc.reverse { |
| 53 | +// iter = kvstore.ReverseIterator(tc.start, tc.end) |
| 54 | +// } else { |
| 55 | +// iter = kvstore.Iterator(tc.start, tc.end) |
| 56 | +// } |
| 57 | +// items := consume(iter) |
| 58 | +// require.Equal(t, tc.expected, items) |
| 59 | +// iter.Close() |
| 60 | +// }) |
| 61 | +// } |
| 62 | +// } |
71 | 63 |
|
72 | 64 | type KV struct {
|
73 | 65 | Key []byte
|
|
0 commit comments