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

Bisect_ppx 2.8.3: code coverage for OCaml #24117

Merged
merged 1 commit into from
Jul 21, 2023
Merged

Conversation

aantron
Copy link
Contributor

@aantron aantron commented Jul 17, 2023

Bisect_ppx is a code coverage tool for OCaml.

Release 2.8.3 is a maintenance release. From the changelog:

Additions

Bugs fixed

Changes

  • Prebuilt binaries for npm are now built on Ubuntu 20.04 and macOS 11. They were previously built on Ubuntu 18.04 and macOS 10.

@haochenx
Copy link
Member

Oops.

#=== ERROR while compiling tezos-proxy.15.0 ===================================#
Sys_error("No space left on device")

There are some revdeps CI failures. It seems that the tezos related ones are due to CI infra.

The weevil one looks like a genuine incompatibility, but not related to bisect_ppx and not related to thus this PR.

#=== ERROR while compiling weevil.0.1.1 =======================================#
# context              2.2.0~alpha | linux/x86_64 | ocaml-base-compiler.4.14.1 | file:///home/opam/opam-repository
# path                 ~/.opam/4.14/.opam-switch/build/weevil.0.1.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p weevil -j 255
# exit-code            1
# env-file             ~/.opam/log/weevil-7-f4362b.env
# output-file          ~/.opam/log/weevil-7-f4362b.out
### output ###
# (cd _build/default && /home/opam/.opam/4.14/bin/ocamlc.opt -w -40 -g -bin-annot -I src/test_utils/.test_utils.objs/byte -I /home/opam/.opam/4.14/lib/base -I /home/opam/.opam/4.14/lib/base/base_internalhash_types -I /home/opam/.opam/4.14/lib/base/caml -I /home/opam/.opam/4.14/lib/base/shadow_stdlib -I /home/opam/.opam/4.14/lib/jane-street-headers -I /home/opam/.opam/4.14/lib/lwt -I /home/opam/.opam/4.14/lib/lwt/unix -I /home/opam/.opam/4.14/lib/ocaml-compiler-libs/common -I /home/opam/.opam/4.14/lib/ocaml-compiler-libs/shadow -I /home/opam/.opam/4.14/lib/ocaml/compiler-libs -I /home/opam/.opam/4.14/lib/ocaml/threads -I /home/opam/.opam/4.14/lib/ocplib-endian -I /home/opam/.opam/4.14/lib/ocplib-endian/bigstring -I /home/opam/.opam/4.14/lib/ppx_compare/runtime-lib -I /home/opam/.opam/4.14/lib/ppx_derivers -I /home/opam/.opam/4.14/lib/ppx_enumerate/runtime-lib -I /home/opam/.opam/4.14/lib/ppx_expect -I /home/opam/.opam/4.14/lib/ppx_expect/collector -I /home/opam/.opam/4.14/lib/ppx_expect/common -I /home/opam/.opam/4.14/lib/ppx_expect/config -I /home/opam/.opam/4.14/lib/ppx_expect/config_types -I /home/opam/.opam/4.14/lib/ppx_expect/payload -I /home/opam/.opam/4.14/lib/ppx_hash/runtime-lib -I /home/opam/.opam/4.14/lib/ppx_here/expander -I /home/opam/.opam/4.14/lib/ppx_here/runtime-lib -I /home/opam/.opam/4.14/lib/ppx_inline_test -I /home/opam/.opam/4.14/lib/ppx_inline_test/config -I /home/opam/.opam/4.14/lib/ppx_inline_test/libname -I /home/opam/.opam/4.14/lib/ppx_inline_test/runtime-lib -I /home/opam/.opam/4.14/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/4.14/lib/ppxlib -I /home/opam/.opam/4.14/lib/ppxlib/ast -I /home/opam/.opam/4.14/lib/ppxlib/astlib -I /home/opam/.opam/4.14/lib/ppxlib/print_diff -I /home/opam/.opam/4.14/lib/ppxlib/stdppx -I /home/opam/.opam/4.14/lib/ppxlib/traverse_builtins -I /home/opam/.opam/4.14/lib/sexplib0 -I /home/opam/.opam/4.14/lib/stdlib-shims -I /home/opam/.opam/4.14/lib/time_now -no-alias-deps -open Test_utils -o src/test_utils/.test_utils.objs/byte/test_utils__Include.cmo -c -impl src/test_utils/include.pp.ml)
# File "src/test_utils/include.ml", lines 14-16, characters 2-37:
# 14 | ..Expect_test_config_types.S
# 15 |   with module IO_run = Lwt_io_run
# 16 |    and module IO_flush = Lwt_io_flush
# Error: The signature constrained by `with' has no component named IO_run

@haochenx
Copy link
Member

As the CI failures are most likely unrelated to this PR, and everything else looks good to me,
I'd suggest to consider for merge.

"ppxlib" {>= "0.28.0"}

"dune" {with-test & >= "3.0.0"}
"ocamlformat" {with-test & = "0.16.0"}
Copy link
Member

@mseri mseri Jul 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This constraint prevent to run the tests in all CI jobs:

  * No agreement on the version of ocaml:
    - (invariant) -> ocaml-base-compiler = 4.14.1 -> ocaml = 4.14.1
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> ocaml < 4.13
    You can temporarily relax the switch invariant with `--update-invariant'
  * No agreement on the version of ocaml-base-compiler:
    - (invariant) -> ocaml-base-compiler = 4.14.1
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> ocaml < 4.13 -> ocaml-base-compiler = 3.10.2
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> ocaml < 4.13 -> ocaml-variants -> ocaml-beta
    unmet availability conditions: 'enable-ocaml-beta-repository'

No solution found, exiting
  * No agreement on the version of ocaml:
    - (invariant) -> ocaml-base-compiler = 4.12.1 -> ocaml = 4.12.1
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> ocaml < 4.09.0
    You can temporarily relax the switch invariant with `--update-invariant'
  * Incompatible packages:
    - bisect_ppx >= 2.8.3 -> dune >= 3.0.0
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0
  * Incompatible packages:
    - (invariant) -> ocaml-base-compiler = 4.12.1
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> ocaml < 4.12 -> ocaml-variants >= 4.11.3
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler < 3.07+1 | ocaml-system < 3.07+1 | ocaml-variants < 3.8~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions: 'sys-ocaml-version = "3.07"'
    no matching version
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler = 3.07+1 | ocaml-system = 3.07+1 | ocaml-variants < 3.8~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions: 'sys-ocaml-version = "3.07+1"'
    no matching version
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler = 3.07+2 | ocaml-system = 3.07+2 | ocaml-variants < 3.8~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions: 'sys-ocaml-version = "3.07+2"'
    no matching version
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler = 3.08.0 | ocaml-system >= 3.08.0 | ocaml-variants < 3.08.1~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.0"'
    no matching version
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler = 3.08.1 | ocaml-system >= 3.08.1 | ocaml-variants < 3.08.2~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.1"'
    no matching version
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler = 3.08.2 | ocaml-system >= 3.08.2 | ocaml-variants < 3.08.3~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.2"'
    no matching version
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler = 3.08.3 | ocaml-system >= 3.08.3 | ocaml-variants < 3.08.4~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.3"'
    no matching version
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler = 3.08.4 | ocaml-system >= 3.08.4 | ocaml-variants < 3.08.5~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.4"'
    no matching version
  * Missing dependency:
    - bisect_ppx >= 2.8.3 -> ocamlformat = 0.16.0 -> odoc < 2.0.0 -> doc-ock -> ocaml < 4.04 -> ocaml-base-compiler = 3.09.0 | ocaml-system >= 3.09.0 | ocaml-variants < 3.09.1~
    not available because the package is pinned to version 4.12.1
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.09.0"'
    no matching version

@mseri
Copy link
Member

mseri commented Jul 21, 2023

None of the failures depend on this. For me it looks good

@avsm avsm merged commit 6fe1f5a into ocaml:master Jul 21, 2023
@aantron
Copy link
Contributor Author

aantron commented Jul 21, 2023

Thank you!

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