IntersectMBO / IntersectMBO/ouroboros-consensus

Implement range reads tests

Open
#1,601 0 comments 0 reactions 0 assignees View on GitHub
UTxO-HD
Dominant language
Haskell
Stars
67
Forks
43
Avg merge
5d 13h
Merged PRs (30d)
43

Description

I think we may want to have our own tests for this backend. Even though `lsm-tree` has a comprehensive test suite, I feel like the code in this file is involved enough to at least have some lightweight testing.

For example, the range read seems not to be covered by the `LedgerDB`-level test suite. I ran the tests with coverage as follows:

```
cabal test storage-test --enable-coverage --test-options "-p LSM"
...
Test suite storage-test: RUNNING...
ouroboros-storage
Storage
LedgerDB
StateMachine
LSM: OK (7.35s)
+++ OK, passed 1000 tests.
...
```

And the coverage report (see attached, specifically the `Ouroboros.Consensus.Storage.LedgerDB.V2.LSM` module) seems to indicate that the range read was never executed (`hpc` highlights such code in yellow):
lsm-coverage

that agrees with the LedgerDB-level model actions.

[hpc_index.html.txt](https://github.com/user-attachments/files/21349573/hpc_index.html.txt)

_Originally posted by @geo2a in https://github.com/IntersectMBO/ouroboros-consensus/pull/1572#discussion_r2219435268_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.