Repository navigation
Conversation
The default alias builds every test in src/neg_tests. The CI jobs that build the compiler from source do not install Eio, so they failed with 'Library "eio_main" not found'. Using build_if keeps Eio out of the dependency cone of the main test suite.
The Eio neg_tests belong to qcheck-stm-eio and qcheck-lin-eio, but they use stm_tests_ref_spec, CList, lin_tests_common and lin_internal_tests_common. These were attached to multicoretests, so 'dune build -p qcheck-stm-eio @runtest' (as run by opam --with-test) could not find them. Private libraries without a package are available to the tests of every package.
The Eio neg_tests link with eio_main, so 'opam install --with-test' failed without it.
Eio itself requires OCaml 5.1, so the 4.12 lower bound was misleading.
Author
Julow
approved these changes
Oct 9, 2026
Julow
left a comment
There was a problem hiding this comment.
Thanks! Can you try removing the build_if ? I'd say that supporting bare dune build isn't interesting if we implicitly don't run some tests.
| (modules lin_tests_eio) | ||
| (package qcheck-lin-eio) | ||
| ; Eio is not a dependency of multicoretests: skip when it is missing | ||
| (build_if %{lib-available:eio_main}) |
There was a problem hiding this comment.
Isn't (package qcheck-lin-eio) above enough now that eio_main is a dependency ?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi! Thanks a lot for this work, Irmin 4 would like to use
qcheck-stm-eio.The CI of ocaml-multicore#581 is red, so I tried to fix it. There are two causes, and a few small things:
src/neg_tests. The CI jobs that build the compiler from source do not install Eio, so they fail withLibrary "eio_main" not found. The Eio tests now use(build_if %{lib-available:eio_main}), so the main test suite still does not depend on Eio.multicoretests. The Eio tests usestm_tests_ref_spec,CList,lin_tests_commonandlin_internal_tests_common, which were in packagemulticoretests. Withdune build -p qcheck-stm-eio @runtest(whatopam install --with-testruns), they could not be found. I removed their(package)field. This bug was hidden by the next one.eio_mainmissing from the test dependencies ofqcheck-stm-eioandqcheck-lin-eio. This is why the opam job on 5.2.0 failed.What I checked locally:
dune buildanddune build test/succeed. Without the first commit, I get the 4eio_mainerrors from CI.dune build -p qcheck-multicoretests-util,qcheck-stm,qcheck-lin,qcheck-stm-eio,qcheck-lin-eio @install @runtestsucceeds, and the Eio neg_tests find their counterexamples as expected.The trunk jobs also fail on
main, so I think they are unrelated.Each commit does one thing, so feel free to pick only some of them. I also have the same commits on top of the current
main(your branch is 11 commits behind), if that helps. Does this look right to you?