ocaml-gospel / ortac

Runtime assertion checking based on Gospel specifications
https://ocaml-gospel.github.io/ortac/
MIT License
37 stars 10 forks source link

add missing dependencies for tests #187

Closed edwintorok closed 9 months ago

edwintorok commented 9 months ago

Editing the *_sig.ml files didn't cause the test to be rebuilt, unless a dune clean && dune runtest --cache=disabled was used.

ortac depends on the mli files (which are created by another rule from the _sig.ml files), this dependency can be turned into a hard failure by enabling sandboxing:

$ dune runtest --sandbox=hardlink --force
Entering directory '/var/home/edwin/git/ortac-qcheck-stm'
File "examples/dune", line 70, characters 0-368:
70 | (rule
71 |  (mode promote)
72 |  (alias runtest)
....
89 |      "char t"
90 |      --include=varray_incl
91 |      --quiet)))))
ortac: FILE argument: Error: `varray_spec.mli' not found
Usage: ortac qcheck-stm [OPTION]… FILE INIT SUT
Try 'ortac qcheck-stm --help' or 'ortac --help' for more information.

Add the missing dependencies and now the tests are properly rebuilt whenever the *_sig.ml files are changed, and there are no more failures with sandboxing on.

edwintorok commented 9 months ago

The opam-dune-lint failure in the CI is due to https://github.com/ocurrent/opam-dune-lint/issues/59#issuecomment-1843844484

edwintorok commented 9 months ago

The lint-fmt failure should be fixed by this in ocaml-ci: https://github.com/ocurrent/ocaml-ci/pull/909