Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new release] obatcher (1.0) #26516

Merged
merged 3 commits into from
Sep 13, 2024
Merged

[new release] obatcher (1.0) #26516

merged 3 commits into from
Sep 13, 2024

Conversation

koonwen
Copy link
Contributor

@koonwen koonwen commented Sep 9, 2024

A Framework for building Batched Concurrent Data Structures

CHANGES:
- Initial release.

CHANGES:

	- Initial release.
@shonfeder
Copy link
Contributor

Hello! Thanks for publishing :)

I'm seeing one test failure that looks relevant:

#=== ERROR while compiling obatcher.1.0 =======================================#
# context              2.0.10 | linux/x86_64 | ocaml-base-compiler.5.2.0 | pinned(https://github.com/koonwen/obatcher/releases/download/v1.0/obatcher-1.0.tbz)
# path                 ~/.opam/5.2/.opam-switch/build/obatcher.1.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p obatcher -j 39 @install @runtest
# exit-code            1
# env-file             ~/.opam/log/obatcher-43-5f1023.env
# output-file          ~/.opam/log/obatcher-43-5f1023.out
### output ###
# (cd _build/default && /home/opam/.opam/5.2/bin/ocamlopt.opt -w -40 -g -I test/.test_skiplist.eobjs/byte -I test/.test_skiplist.eobjs/native -I /home/opam/.opam/5.2/lib/alcotest -I /home/opam/.opam/5.2/lib/astring -I /home/opam/.opam/5.2/lib/backoff -I /home/opam/.opam/5.2/lib/bytes -I /home/opam/.opam/5.2/lib/cmdliner -I /home/opam/.opam/5.2/lib/containers -I /home/opam/.opam/5.2/lib/containers/monomorphic -I /home/opam/.opam/5.2/lib/either -I /home/opam/.opam/5.2/lib/fmt -I /home/opam/.opam/5.2/lib/logs -I /home/opam/.opam/5.2/lib/multicore-magic -I /home/opam/.opam/5.2/lib/multicore-magic/__private__/multicore_magic_atomic_array_unboxed5 -I /home/opam/.opam/5.2/lib/ocaml/threads -I /home/opam/.opam/5.2/lib/ocaml/unix -I /home/opam/.opam/5.2/lib/ounit2 -I /home/opam/.opam/5.2/lib/ounit2/advanced -I /home/opam/.opam/5.2/lib/picos -I /home/opam/.opam/5.2/lib/picos/__private__/picos_bootstrap -I /home/opam/.opam/5.2/lib/picos/__private__/picos_ocaml5 -I /home/opam/.opam/5.2/lib/picos/thread -I /home/opam/.opam/5.2/lib/picos_aux/htbl -I /home/opam/.opam/5.2/lib/picos_aux/mpscq -I /home/opam/.opam/5.2/lib/picos_mux/fifo -I /home/opam/.opam/5.2/lib/picos_mux/random -I /home/opam/.opam/5.2/lib/picos_mux/thread -I /home/opam/.opam/5.2/lib/picos_std/event -I /home/opam/.opam/5.2/lib/picos_std/structured -I /home/opam/.opam/5.2/lib/qcheck -I /home/opam/.opam/5.2/lib/qcheck-alcotest -I /home/opam/.opam/5.2/lib/qcheck-core -I /home/opam/.opam/5.2/lib/qcheck-core/runner -I /home/opam/.opam/5.2/lib/qcheck-ounit -I /home/opam/.opam/5.2/lib/re -I /home/opam/.opam/5.2/lib/seq -I /home/opam/.opam/5.2/lib/stdlib-shims -I /home/opam/.opam/5.2/lib/thread-local-storage -I /home/opam/.opam/5.2/lib/uuidm -I examples/ds/.ds.objs/byte -I examples/ds/.ds.objs/native -I src/.obatcher.objs/byte -I src/.obatcher.objs/native -intf-suffix .ml -no-alias-deps -open Dune__exe -o test/.test_skiplist.eobjs/native/dune__exe__Test_obatcher.cmx -c -impl test/test_obatcher.ml)
# File "test/test_obatcher.ml", line 189, characters 17-42:
# 189 |   let internal = Mock_Service.get_internal t in
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^
# Alert unsafe: Mock_Service.get_internal
# Should not be used typically by application
# 
# File "test/test_obatcher.ml", line 200, characters 17-42:
# 200 |   let internal = Mock_Service.get_internal t in
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^
# Alert unsafe: Mock_Service.get_internal
# Should not be used typically by application
# 
# File "test/test_obatcher.ml", line 239, characters 19-44:
# 239 |     let internal = Mock_Service.get_internal mock_service in
#                          ^^^^^^^^^^^^^^^^^^^^^^^^^
# Alert unsafe: Mock_Service.get_internal
# Should not be used typically by application
# File "test/dune", line 2, characters 22-35:
# 2 |  (names test_skiplist test_obatcher)
#                           ^^^^^^^^^^^^^
# (cd _build/default/test && ./test_obatcher.exe)
# qcheck random seed: 541542795
# Testing Obatcher.
# This run has ID `735F0845-B729-474D-815A-31186C139C5E`.
# test_obatcher.exe: internal error, uncaught exception:
#                    Unix.Unix_error(Unix.EEXIST, "symlink", "/home/opam/.opam/5.2/.opam-switch/build/obatcher.1.0/_build/default/test/_build/_tests/latest")
#                    
# Fatal error: exception Alcotest__Core.Make(M).Test_error
# (cd _build/default/test && ./test_skiplist.exe)
# qcheck random seed: 408376870
# Testing Batched data structures.
# This run has ID `B4CBD931-84F8-4AF4-A820-EF3DF41D4D08`.
#  ...                skiplist          0   inserts return true on member lookup.
[OK]                skiplist          0   inserts return true on member lookup.
#  ...                skiplist          1   member lookup not vacuously true.
[OK]                skiplist          1   member lookup not vacuously true.
#  ...                skiplist          2   duplicate elements are not inserted.
[OK]                skiplist          2   duplicate elements are not inserted.
# The full test results are available in `/home/opam/.opam/5.2/.opam-switch/build/obatcher.1.0/_build/default/test/_build/_tests/B4CBD931-84F8-4AF4-A820-EF3DF41D4D08`.
# Test Successful in 2.000s. 3 tests run.

The alert warning is coming from https://github.com/koonwen/obatcher/blob/3899dabce1c969b175e85db842309fa428ba14e6/src/obatcher.mli#L51

IIUC, you can disable or demote it's severity as per https://ocaml.org/manual/5.2/alerts.html by configuring the alert flag accordingly in the dune env for your test: https://dune.readthedocs.io/en/stable/faq.html#how-to-turn-specific-errors-into-warnings

The error looks like a (possibly flaky) test failure?

@koonwen
Copy link
Contributor Author

koonwen commented Sep 11, 2024

@shonfeder, thanks for having a look at this. None of my tests use symlinking, Think the error might be coming from the test framework alcotest or qcheck instead. Is this a blocker for merging?

@avsm avsm merged commit f4bb325 into ocaml:master Sep 13, 2024
3 checks passed
@avsm
Copy link
Member

avsm commented Sep 13, 2024

Thanks! You may want to announce this on https://discuss.ocaml.org, where we have a Community category and an announce tag for this purpose.

@shonfeder
Copy link
Contributor

@shonfeder, thanks for having a look at this. None of my tests use symlinking, Think the error might be coming from the test framework alcotest or qcheck instead. Is this a blocker for merging?

Turns out that ci failure was some flaky failure in the testing infrastructure. (We have an issue open to track this kind of thing, but I didn't recognize it at the time.).

Glad to see it cleared up after I reran it last night. Thanks to Anil for merging!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants