marigold-dev / marigold-dev/deku

Testing setup proposal:

Open
#214 2 comments 0 reactions 0 assignees View on GitHub
backlog
Dominant language
OCaml
Stars
82
Forks
17
PR merge metrics
No merged PRs in 30d

Description

## Current state of things:

We have a ```/tests``` folder with simple unit tests using rely. We should probably be also using property and fuzzing based tests in the future.

## Proposal
```/tests``` folder with the next subfolders:
- ```expect``` for tests when capturing and updating the right behavior might be boilerplatey/cumbersome/error-prone using ```ppx_expect``` and lwt runtime module (might be also used for integration tests?)
- ```unit``` for simple unit tests using ```ppx_inline_test/alcotest```
- ```fuzz``` for fuzzing using ```afl-fuzz``` and ```parafuzz```?
- ```property``` for property based testing using ```qcheck``` or simillar libraries

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing /tests folder and its simple unit tests using rely. The proposal discusses expect, unit, fuzz, and property subfolders with ppx_expect, ppx_inline_test, alcotest, afl-fuzz, parafuzz, and qcheck; first determine which testing structure and tools the project wants. Done would require an agreed, implemented testing setup rather than only the proposed layout.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.