In the writing and running tests section of the dune docs. For ppx_inline_test the following stanza is suggested.
(library
(name foo)
(preprocess (pps ppx_inline_test)))
However, I’ve also encountered the following example in the stanza reference section of the docs
(tests
(names mytest expect_test)
<optional fields>)
I’m curious what the difference is? How would I know when to use libraries or tests?
Welcome !
One of them declares a library, and activate a test ppx in that library.
That ppx is a syntax extension that allows you to declare inline tests. It is documented here : GitHub - janestreet/ppx_inline_test: Syntax extension for writing in-line tests in ocaml code.
The other is more flexible and does not assume you use a particular syntax extension to declare your tests. I do not know how to use it, but it is documented.
1 Like