More elaborate tests for snapshot import and snapshot export

Open
#898 0 comments 0 reactions 1 assignee View on GitHub

@mwihoti is already working on this.

Since Nov 10, 2026.

Assessment

This issue has not been assessed yet.

Description

lsm-tree priority: medium

These tests should target the public API. We could, in order of complexity, ...

  1. write tests that only target the real implementation.

  2. write tests that target the real implementation and the reference implementation (see Database.LSMTree.Class). This would require updating the model to handle snapshot imports and exports.

  3. add actions to the lockstep state machine tests that perform snapshot exports and imports. This requires updating the state machine infra, but also the model.

(1) and (2) are particularly useful for testing "bad code paths". For example, important a snapshot with a name that already exists.

(3) is useful for testing interleaving of snapshot imports/exports with other operations. To prevent cluttering the state machine tests with "bad code paths" cases, we should also implement (1)/(2) if we implement (3).

Dominant language
Haskell
Stars
54
Forks
17
Avg merge
8d 22h
Merged PRs (30d)
3

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from IntersectMBO/lsm-tree

All issues in IntersectMBO/lsm-tree

Similar issues

More Haskell issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.