ocaml-git
ocaml-git copied to clipboard
Some packages have test-dependencies and a test phase in opam files, but no tests
Some sub packages indicate that they have tests and even a test phase, but don't have any tests if dune runtest -p PACKAGENAME is executed:
- git-cohttp
- git-cohttp-mirage
- git-cohttp-unix
- carton-git
Yes, the problem came from the release of 3.0.0 to avoid a cyclic dependency between packages and dune's artifacts. For instance, git-nss was removed because tests need git but, for the point-of-view of OPAM packages (which is not the dune point-of-view), git depended on git-nss.
For the development purpose on the current dev repository, a simple dune runtest or dune build executes/compiles all tests and the OCaml-CI (but it's not the case for Travis and AppVeyor which rely on the OPAM view). In other words, in our development process, we don't miss any tests :+1:.
But more specially about this package, of course, the dune runtest -p name given by the OPAM file is useless for some of these packages. For my point of view, I prefer an homogeneous pattern for all of my OPAM files even if such line become useless. Is it a problem for you?
I've been working on updating git in nixpkgs and found it a bit confusing because from the opam files I got the impression that those packages have individual tests and was confused when the log showed non being run, but it's not really a problem, just possibly confusing.
Reducing the number of packages having tests is actually better for nixpkgs because we have had to disable a few tests from the extended mirage universe already, since tests and packages are coupled together, so stuff like irmin's tests depending on ppx_irmin and vice versa means we have to disable them both.
I see, so I will let this issue open until we remove dune runtest from these packages if it's urgent.
Not urgent at all, but this issue may also clarify things for anyone else wondering :)