ocaml-community / ocaml-mariadb

OCaml bindings to MariaDB, supporting the nonblocking API
55 stars 18 forks source link

Add testsuite #60

Closed paurkedal closed 1 week ago

paurkedal commented 1 month ago

This is my proposal for a proper test suite. It uses the "stress-tests" as a starting point, and which I have extended with tests for #58 and #59. The main problem with the current state is that examples and tests are mixed making it unclear for contributors where to add tests. (The excluded "examples" are not directly usable as tests, since they require the query to the passed via an environment variable, and the query takes a different number of parameter in different examples.)

I noticed that blocking tests are covered by non-blocking tests and that Mariadb.S is Mariadb.Nonblocking.S with type 'a future := 'a, so a subsequent commit unifies them. (We could utilize that to simplify the interfaces and extend documentation to the non-blocking interface, but not is this PR.)

I am open to other suggestions for changing the directory layout and names.