Skip to content

Commit 1f5061a

Browse files
committed
test: restore mvcc test
1 parent d8e0ef0 commit 1f5061a

File tree

1 file changed

+58
-76
lines changed

1 file changed

+58
-76
lines changed

tests/tree_mvcc_simple.rs

Lines changed: 58 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -26,42 +26,33 @@ fn tree_read_mvcc() -> lsm_tree::Result<()> {
2626
assert_eq!(&*tree.get("b", SeqNo::MAX)?.unwrap(), b"b3");
2727
assert_eq!(&*tree.get("c", SeqNo::MAX)?.unwrap(), b"c4");
2828

29-
// TODO: test snapshot reads
30-
31-
// let snapshot = tree.snapshot(1);
32-
// assert_eq!(&*snapshot.get("a")?.unwrap(), b"a0");
33-
// assert_eq!(&*snapshot.get("b")?.unwrap(), b"b0");
34-
// assert!(snapshot.get("c")?.is_none());
35-
36-
// let snapshot = tree.snapshot(2);
37-
// assert_eq!(&*snapshot.get("a")?.unwrap(), b"a1");
38-
// assert_eq!(&*snapshot.get("b")?.unwrap(), b"b1");
39-
// assert!(snapshot.get("c")?.is_none());
40-
41-
// let snapshot = tree.snapshot(3);
42-
// assert_eq!(&*snapshot.get("a")?.unwrap(), b"a1");
43-
// assert_eq!(&*snapshot.get("b")?.unwrap(), b"b2");
44-
// assert!(snapshot.get("c")?.is_none());
45-
46-
// let snapshot = tree.snapshot(4);
47-
// assert_eq!(&*snapshot.get("a")?.unwrap(), b"a1");
48-
// assert_eq!(&*snapshot.get("b")?.unwrap(), b"b3");
49-
// assert!(snapshot.get("c")?.is_none());
50-
51-
// let snapshot = tree.snapshot(5);
52-
// assert_eq!(&*snapshot.get("a")?.unwrap(), b"a1");
53-
// assert_eq!(&*snapshot.get("b")?.unwrap(), b"b3");
54-
// assert_eq!(&*snapshot.get("c")?.unwrap(), b"c4");
55-
56-
// let snapshot = tree.snapshot(6);
57-
// assert_eq!(&*snapshot.get("a")?.unwrap(), b"a5");
58-
// assert_eq!(&*snapshot.get("b")?.unwrap(), b"b3");
59-
// assert_eq!(&*snapshot.get("c")?.unwrap(), b"c4");
60-
61-
// let snapshot = tree.snapshot(100);
62-
// assert_eq!(&*snapshot.get("a")?.unwrap(), b"a5");
63-
// assert_eq!(&*snapshot.get("b")?.unwrap(), b"b3");
64-
// assert_eq!(&*snapshot.get("c")?.unwrap(), b"c4");
29+
assert_eq!(&*tree.get("a", 1)?.unwrap(), b"a0");
30+
assert_eq!(&*tree.get("b", 1)?.unwrap(), b"b0");
31+
assert!(tree.get("c", 1)?.is_none());
32+
33+
assert_eq!(&*tree.get("a", 2)?.unwrap(), b"a1");
34+
assert_eq!(&*tree.get("b", 2)?.unwrap(), b"b1");
35+
assert!(tree.get("c", 2)?.is_none());
36+
37+
assert_eq!(&*tree.get("a", 3)?.unwrap(), b"a1");
38+
assert_eq!(&*tree.get("b", 3)?.unwrap(), b"b2");
39+
assert!(tree.get("c", 3)?.is_none());
40+
41+
assert_eq!(&*tree.get("a", 4)?.unwrap(), b"a1");
42+
assert_eq!(&*tree.get("b", 4)?.unwrap(), b"b3");
43+
assert!(tree.get("c", 4)?.is_none());
44+
45+
assert_eq!(&*tree.get("a", 5)?.unwrap(), b"a1");
46+
assert_eq!(&*tree.get("b", 5)?.unwrap(), b"b3");
47+
assert_eq!(&*tree.get("c", 5)?.unwrap(), b"c4");
48+
49+
assert_eq!(&*tree.get("a", 6)?.unwrap(), b"a5");
50+
assert_eq!(&*tree.get("b", 6)?.unwrap(), b"b3");
51+
assert_eq!(&*tree.get("c", 6)?.unwrap(), b"c4");
52+
53+
assert_eq!(&*tree.get("a", 100)?.unwrap(), b"a5");
54+
assert_eq!(&*tree.get("b", 100)?.unwrap(), b"b3");
55+
assert_eq!(&*tree.get("c", 100)?.unwrap(), b"c4");
6556

6657
let mut iter = tree.iter(SeqNo::MAX, None);
6758

@@ -70,59 +61,50 @@ fn tree_read_mvcc() -> lsm_tree::Result<()> {
7061
assert_eq!(&*iter.next().unwrap().value()?, b"c4");
7162
assert!(iter.next().is_none());
7263

73-
// TODO: test snapshot reads
64+
let mut iter = tree.iter(1, None);
7465

75-
// let snapshot = tree.snapshot(1);
76-
// let mut iter = snapshot.iter();
77-
78-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"a0");
79-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"b0");
80-
// assert!(iter.next().is_none());
66+
assert_eq!(&*iter.next().unwrap().value()?, b"a0");
67+
assert_eq!(&*iter.next().unwrap().value()?, b"b0");
68+
assert!(iter.next().is_none());
8169

82-
// let snapshot = tree.snapshot(2);
83-
// let mut iter = snapshot.iter();
70+
let mut iter = tree.iter(2, None);
8471

85-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"a1");
86-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"b1");
87-
// assert!(iter.next().is_none());
72+
assert_eq!(&*iter.next().unwrap().value()?, b"a1");
73+
assert_eq!(&*iter.next().unwrap().value()?, b"b1");
74+
assert!(iter.next().is_none());
8875

89-
// let snapshot = tree.snapshot(3);
90-
// let mut iter = snapshot.iter();
76+
let mut iter = tree.iter(3, None);
9177

92-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"a1");
93-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"b2");
94-
// assert!(iter.next().is_none());
78+
assert_eq!(&*iter.next().unwrap().value()?, b"a1");
79+
assert_eq!(&*iter.next().unwrap().value()?, b"b2");
80+
assert!(iter.next().is_none());
9581

96-
// let snapshot = tree.snapshot(4);
97-
// let mut iter = snapshot.iter();
82+
let mut iter = tree.iter(4, None);
9883

99-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"a1");
100-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"b3");
101-
// assert!(iter.next().is_none());
84+
assert_eq!(&*iter.next().unwrap().value()?, b"a1");
85+
assert_eq!(&*iter.next().unwrap().value()?, b"b3");
86+
assert!(iter.next().is_none());
10287

103-
// let snapshot = tree.snapshot(5);
104-
// let mut iter = snapshot.iter();
88+
let mut iter = tree.iter(5, None);
10589

106-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"a1");
107-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"b3");
108-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"c4");
109-
// assert!(iter.next().is_none());
90+
assert_eq!(&*iter.next().unwrap().value()?, b"a1");
91+
assert_eq!(&*iter.next().unwrap().value()?, b"b3");
92+
assert_eq!(&*iter.next().unwrap().value()?, b"c4");
93+
assert!(iter.next().is_none());
11094

111-
// let snapshot = tree.snapshot(6);
112-
// let mut iter = snapshot.iter();
95+
let mut iter = tree.iter(6, None);
11396

114-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"a5");
115-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"b3");
116-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"c4");
117-
// assert!(iter.next().is_none());
97+
assert_eq!(&*iter.next().unwrap().value()?, b"a5");
98+
assert_eq!(&*iter.next().unwrap().value()?, b"b3");
99+
assert_eq!(&*iter.next().unwrap().value()?, b"c4");
100+
assert!(iter.next().is_none());
118101

119-
// let snapshot = tree.snapshot(100);
120-
// let mut iter = snapshot.iter();
102+
let mut iter = tree.iter(100, None);
121103

122-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"a5");
123-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"b3");
124-
// assert_eq!(&*iter.next().unwrap().unwrap().1, b"c4");
125-
// assert!(iter.next().is_none());
104+
assert_eq!(&*iter.next().unwrap().value()?, b"a5");
105+
assert_eq!(&*iter.next().unwrap().value()?, b"b3");
106+
assert_eq!(&*iter.next().unwrap().value()?, b"c4");
107+
assert!(iter.next().is_none());
126108

127109
Ok(())
128110
}

0 commit comments

Comments
 (0)