marigold-dev / marigold-dev/deku
Testing setup proposal:
- 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