semgrep / testo

Test framework for OCaml
ISC License
16 stars 1 forks source link

New strategy to share implementation between sync and Lwt #60

Closed mjambon closed 4 months ago

mjambon commented 4 months ago

Most modules are now shared via symlinks except for the Monad module. This makes the source code straightforward and still avoids the complexity of multifile functors. As a side effect, the testo and testo-lwt libraries are now independent of one another.

This is a preliminary to #57 which would otherwise require code duplication.

I need to check that this works in semgrep. I removed Testo.update_func in the process, which was a function needed to convert Lwt tests to synchronous tests. I'm not sure if it's really needed or what to do about it. Update: the solution I found is to not use Testo.update_func: https://github.com/semgrep/semgrep/pull/10147

PR checklist:

Check out CONTRIBUTING.md for more details.

mjambon commented 4 months ago

@amchiclet

I don't have much clarity about how the symlinks are set up

I'll add some kind of readme alongside the symlinks since this is an unusual setup.