Account for every uncovered line in the implementation

Closes #23
This commit is contained in:
2024-04-18 12:43:48 -07:00
parent bf91bca16d
commit d2e1863593
2 changed files with 13 additions and 1 deletions
+5 -1
View File
@@ -2395,7 +2395,11 @@ Iterator firstGeq(Node *n, const std::span<const uint8_t> key) {
} else {
n = nextSibling(n);
if (n == nullptr) {
return {nullptr, 1};
// This line is genuinely unreachable from any entry point of the
// final library, since we can't remove a key without introducing a
// key after it, and the only production caller of firstGeq is for
// resuming the setOldestVersion scan.
return {nullptr, 1}; // GCOVR_EXCL_LINE
}
goto downLeftSpine;
}
+8
View File
@@ -92,6 +92,14 @@ def test_large():
)
def test_merge_child_node48():
with DebugConflictSet() as cs:
cs.addWrites(1, write(b"\x00" * 9))
for i in range(17):
cs.addWrites(1, write(b"\x00" * 10 + bytes([i])))
cs.addWrites(1, write(b"\x00" * 8, b"\x00" * 10))
if __name__ == "__main__":
# budget "pytest" for ctest integration without pulling in a dependency. You can of course still use pytest in local development.
import argparse