2026-03-09 08:27.06: New job: test ahrefs/atd https://github.com/ahrefs/atd.git#refs/heads/martin/modules (24360cc47620b33597c25459bbee04b1991bb7de) (linux-x86_64:ubuntu-25.10-4.14_opam-2.5) Base: ocaml/opam:ubuntu-25.10-ocaml-4.14@sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a Opam project build To reproduce locally: git clone --recursive "https://github.com/ahrefs/atd.git" -b "martin/modules" && cd "atd" && git reset --hard 24360cc4 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:ubuntu-25.10-ocaml-4.14@sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a # ubuntu-25.10-4.14_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN cd ~/opam-repository && (git cat-file -e db025b90cf6b81a0e665f98ea04833f94fc9cede || git fetch origin master) && git reset -q --hard db025b90cf6b81a0e665f98ea04833f94fc9cede && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam ./ RUN opam pin add -yn atdts.dev './' && \ opam pin add -yn atds.dev './' && \ opam pin add -yn atdpy.dev './' && \ opam pin add -yn atdml.dev './' && \ opam pin add -yn atdj.dev './' && \ opam pin add -yn atdgen.dev './' && \ opam pin add -yn atdgen-runtime.dev './' && \ opam pin add -yn atdgen-codec-runtime.dev './' && \ opam pin add -yn atdd.dev './' && \ opam pin add -yn atdcpp.dev './' && \ opam pin add -yn atd.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . /src RUN opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-03-09 08:27.06: Using cache hint "ahrefs/atd-ocaml/opam:ubuntu-25.10-ocaml-4.14@sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a-ubuntu-25.10-4.14_opam-2.5-b5e6e6f9b3cd825fa334fc8812e3cf69" 2026-03-09 08:27.06: Using OBuilder spec: ((from ocaml/opam:ubuntu-25.10-ocaml-4.14@sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a) (comment ubuntu-25.10-4.14_opam-2.5) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (workdir /src) (run (shell "sudo chown opam /src")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e db025b90cf6b81a0e665f98ea04833f94fc9cede || git fetch origin master) && git reset -q --hard db025b90cf6b81a0e665f98ea04833f94fc9cede && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./)) (run (network host) (shell "opam pin add -yn atdts.dev './' && \ \nopam pin add -yn atds.dev './' && \ \nopam pin add -yn atdpy.dev './' && \ \nopam pin add -yn atdml.dev './' && \ \nopam pin add -yn atdj.dev './' && \ \nopam pin add -yn atdgen.dev './' && \ \nopam pin add -yn atdgen-runtime.dev './' && \ \nopam pin add -yn atdgen-codec-runtime.dev './' && \ \nopam pin add -yn atdd.dev './' && \ \nopam pin add -yn atdcpp.dev './' && \ \nopam pin add -yn atd.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst /src)) (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2026-03-09 08:27.06: Waiting for resource in pool OCluster 2026-03-09 08:27.06: Waiting for worker… 2026-03-09 08:27.06: Got resource from pool OCluster Building on laodoke.caelum.ci.dev HEAD is now at b4d3c92 Fix atdcat: restore -remove-wraps and update expected test output HEAD is now at 24360cc Add a note into atdd's source code (from ocaml/opam:ubuntu-25.10-ocaml-4.14@sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a) Unable to find image 'ocaml/opam:ubuntu-25.10-ocaml-4.14@sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a' locally docker.io/ocaml/opam@sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a: Pulling from ocaml/opam 16c195d4c5e9: Already exists 10536c2a3229: Already exists c4b489cde89f: Already exists 3054bf19173d: Already exists 72d4d5b175f6: Already exists e2528088a671: Already exists f8eb755e24f2: Already exists f4466119d9d7: Already exists ea16cb990595: Already exists 35a2f342fb41: Already exists cd43ff613b85: Already exists 23c9e772d285: Already exists 03d461f90c5f: Already exists 1983245fed01: Already exists bf5ceca7719f: Already exists edcc8d3ba4ab: Already exists ede0d4fa2b79: Already exists c5b15849c9ed: Already exists c5b15849c9ed: Already exists 62d63a36325d: Already exists 3eab5053bbaa: Already exists ebd442105bf8: Already exists b65dd44d0cc4: Already exists 4f4fb700ef54: Already exists 0b00030c2a7a: Already exists 3b032402c760: Already exists 5c73a2ae8046: Already exists a512bd04e73a: Already exists 787d7ef97d34: Already exists cc77994b0a28: Already exists 0b443ca6fb74: Already exists 301890f1dd56: Already exists 88a6e67e1c35: Already exists 775001f1433c: Already exists aa095842f5b7: Already exists afe7a0ab1c61: Already exists 06772f5c82af: Already exists 7a5aa22485e6: Already exists 262630ae96fc: Already exists ea9456b24627: Already exists e26d74779ffb: Already exists 46280c074e3e: Already exists 9c7388fe98f2: Pulling fs layer b897307bb692: Pulling fs layer 8760faaca96a: Pulling fs layer da3d668733af: Pulling fs layer da3d668733af: Waiting b897307bb692: Verifying Checksum b897307bb692: Download complete 8760faaca96a: Verifying Checksum 8760faaca96a: Download complete da3d668733af: Verifying Checksum da3d668733af: Download complete 9c7388fe98f2: Verifying Checksum 9c7388fe98f2: Download complete 9c7388fe98f2: Pull complete b897307bb692: Pull complete 8760faaca96a: Pull complete da3d668733af: Pull complete Digest: sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a Status: Downloaded newer image for ocaml/opam@sha256:a35c7cc8dabf991ac054cab5f6946cf0009dc3b8f3e69f79b96510559111446a 2026-03-09 08:27.07 ---> using "6ebf687033cdcf8542b090a40f98dd3274167abb6a25e36970f90267082d33f2" from cache /: (comment ubuntu-25.10-4.14_opam-2.5) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) 2026-03-09 08:27.07 ---> using "5d3ae75e5fa4a60e38bdf89a7df6b26113315e3fedfde596b4e676535b4f61f4" from cache /src: (run (shell "opam init --reinit -ni")) Configuring from /home/opam/.opamrc and then from built-in defaults. Checking for available remotes: rsync and local, git. - you won't be able to use mercurial repositories unless you install the hg command on your system. - you won't be able to use darcs repositories unless you install the darcs command on your system. This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted. You may want to back it up before going further. Continue? [Y/n] y [NOTE] The 'jobs' option was reset, its value was 255 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using: opam option jobs=255 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-03-09 08:27.07 ---> using "961d75f6fc55c547bfd214494d04ce5b1f377ea70651a833932579c257988df7" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-90-generic The OCaml toplevel, version 4.14.2 2.5.0 2026-03-09 08:27.07 ---> using "7466495fa00cc65f9278e5d7c5518bb6acff3f1e42c4c43fd3295df5d7402163" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-03-09 08:27.07 ---> using "5ab9d08562eb9620aa5f8100766d6396970adce4493beda9db330f390c66ae93" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e db025b90cf6b81a0e665f98ea04833f94fc9cede || git fetch origin master) && git reset -q --hard db025b90cf6b81a0e665f98ea04833f94fc9cede && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 340ee6fd1f..55776d6a15 master -> origin/master db025b90cf Merge pull request #29509 from mjambon/release-testo-0.4.0 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.5.0"), which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2026-03-09 08:27.07 ---> using "16bb88fb1fad3fb6686a6391be477dc14b7719a7016fabd2497fba76a0aab6ca" from cache /src: (copy (src atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./)) 2026-03-09 08:27.07 ---> using "abe01d2649351a0394cdff9a9146552ce2eeefcdd3b30fb547426eb3d85bd8d0" from cache /src: (run (network host) (shell "opam pin add -yn atdts.dev './' && \ \nopam pin add -yn atds.dev './' && \ \nopam pin add -yn atdpy.dev './' && \ \nopam pin add -yn atdml.dev './' && \ \nopam pin add -yn atdj.dev './' && \ \nopam pin add -yn atdgen.dev './' && \ \nopam pin add -yn atdgen-runtime.dev './' && \ \nopam pin add -yn atdgen-codec-runtime.dev './' && \ \nopam pin add -yn atdd.dev './' && \ \nopam pin add -yn atdcpp.dev './' && \ \nopam pin add -yn atd.dev './'")) [atdts.dev] synchronised (file:///src) atdts is now pinned to file:///src (version dev) [atds.dev] synchronised (file:///src) atds is now pinned to file:///src (version dev) [atdpy.dev] synchronised (file:///src) atdpy is now pinned to file:///src (version dev) [NOTE] Package atdml does not exist in opam repositories registered in the current switch. [atdml.dev] synchronised (file:///src) atdml is now pinned to file:///src (version dev) [atdj.dev] synchronised (file:///src) atdj is now pinned to file:///src (version dev) [atdgen.dev] synchronised (file:///src) atdgen is now pinned to file:///src (version dev) [atdgen-runtime.dev] synchronised (file:///src) atdgen-runtime is now pinned to file:///src (version dev) [atdgen-codec-runtime.dev] synchronised (file:///src) atdgen-codec-runtime is now pinned to file:///src (version dev) [atdd.dev] synchronised (file:///src) atdd is now pinned to file:///src (version dev) [atdcpp.dev] synchronised (file:///src) atdcpp is now pinned to file:///src (version dev) [atd.dev] synchronised (file:///src) atd is now pinned to file:///src (version dev) 2026-03-09 08:27.07 ---> using "ae717b3fd68ea8fe74c50cf1b8f4bf6ea583829ef7a03657d22c1cb666972554" from cache /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-03-09 08:27.07 ---> using "fcd6b91f3cb3461a2cac3cbef8d278c60621169521acfac07c2b5870bc61dd87" from cache /src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0") /src: (env CI true) /src: (env OCAMLCI true) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS")) + /usr/bin/sudo "apt-get" "update" - Hit:1 http://archive.ubuntu.com/ubuntu questing InRelease - Get:2 http://archive.ubuntu.com/ubuntu questing-updates InRelease [136 kB] - Get:3 http://archive.ubuntu.com/ubuntu questing-backports InRelease [133 kB] - Get:4 http://archive.ubuntu.com/ubuntu questing-updates/main amd64 Packages [409 kB] - Get:5 http://archive.ubuntu.com/ubuntu questing-updates/restricted amd64 Packages [204 kB] - Get:6 http://archive.ubuntu.com/ubuntu questing-updates/universe amd64 Packages [258 kB] - Get:7 http://security.ubuntu.com/ubuntu questing-security InRelease [136 kB] - Get:8 http://security.ubuntu.com/ubuntu questing-security/universe amd64 Packages [176 kB] - Get:9 http://security.ubuntu.com/ubuntu questing-security/main amd64 Packages [275 kB] - Get:10 http://security.ubuntu.com/ubuntu questing-security/restricted amd64 Packages [202 kB] - Fetched 1928 kB in 0s (5432 kB/s) - Reading package lists... - <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [atd.dev] synchronised (file:///src) [atdcpp.dev] synchronised (file:///src) [atdd.dev] synchronised (file:///src) [atdgen.dev] synchronised (file:///src) [atdgen-codec-runtime.dev] synchronised (file:///src) [atdgen-runtime.dev] synchronised (file:///src) [atdj.dev] synchronised (file:///src) [atdml.dev] synchronised (file:///src) [atdpy.dev] synchronised (file:///src) [atds.dev] synchronised (file:///src) [atdts.dev] synchronised (file:///src) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following system packages will first need to be installed: python3 <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> + /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "python3" - Preconfiguring packages ... - Selecting previously unselected package libpython3.13-minimal:amd64. - (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 18712 files and directories currently installed.) - Preparing to unpack .../libpython3.13-minimal_3.13.7-1ubuntu0.3_amd64.deb ... - Unpacking libpython3.13-minimal:amd64 (3.13.7-1ubuntu0.3) ... - Selecting previously unselected package python3.13-minimal. - Preparing to unpack .../python3.13-minimal_3.13.7-1ubuntu0.3_amd64.deb ... - Unpacking python3.13-minimal (3.13.7-1ubuntu0.3) ... - Setting up libpython3.13-minimal:amd64 (3.13.7-1ubuntu0.3) ... - Setting up python3.13-minimal (3.13.7-1ubuntu0.3) ... - Selecting previously unselected package python3-minimal. - (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19037 files and directories currently installed.) - Preparing to unpack .../0-python3-minimal_3.13.7-1_amd64.deb ... - Unpacking python3-minimal (3.13.7-1) ... - Selecting previously unselected package media-types. - Preparing to unpack .../1-media-types_13.0.0_all.deb ... - Unpacking media-types (13.0.0) ... - Selecting previously unselected package tzdata. - Preparing to unpack .../2-tzdata_2025b-3ubuntu1.1_all.deb ... - Unpacking tzdata (2025b-3ubuntu1.1) ... - Selecting previously unselected package libpython3.13-stdlib:amd64. - Preparing to unpack .../3-libpython3.13-stdlib_3.13.7-1ubuntu0.3_amd64.deb ... - Unpacking libpython3.13-stdlib:amd64 (3.13.7-1ubuntu0.3) ... - Selecting previously unselected package python3.13. - Preparing to unpack .../4-python3.13_3.13.7-1ubuntu0.3_amd64.deb ... - Unpacking python3.13 (3.13.7-1ubuntu0.3) ... - Selecting previously unselected package libpython3-stdlib:amd64. - Preparing to unpack .../5-libpython3-stdlib_3.13.7-1_amd64.deb ... - Unpacking libpython3-stdlib:amd64 (3.13.7-1) ... - Setting up python3-minimal (3.13.7-1) ... - Selecting previously unselected package python3. - (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20007 files and directories currently installed.) - Preparing to unpack .../python3_3.13.7-1_amd64.deb ... - Unpacking python3 (3.13.7-1) ... - Setting up media-types (13.0.0) ... - Setting up tzdata (2025b-3ubuntu1.1) ... - - Current default time zone: 'Europe/London' - Local time is now: Mon Mar 9 07:49:43 GMT 2026. - Universal Time is now: Mon Mar 9 07:49:43 UTC 2026. - Run 'dpkg-reconfigure tzdata' if you wish to change it. - - Setting up libpython3.13-stdlib:amd64 (3.13.7-1ubuntu0.3) ... - Setting up libpython3-stdlib:amd64 (3.13.7-1) ... - Setting up python3.13 (3.13.7-1ubuntu0.3) ... - Setting up python3 (3.13.7-1) ... - running python rtupdate hooks for python3.13... - running python post-rtupdate hooks for python3.13... # To update the current shell environment, run: eval $(opam env) 2026-03-09 08:27.07 ---> using "f0ba109aeca2907656544f4755744ee37a736996f716b36d2b04257d5785947d" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following actions will be performed: === install 32 packages - install alcotest 1.9.1 - install astring 0.8.5 - install biniou 1.2.2 - install camlp-streams 5.0.1 - install cmdliner 2.1.0 - install conf-python-3 9.0.0 - install cppo 1.8.0 - install dune 3.21.1 - install easy-format 1.3.4 - install fmt 0.11.0 - install fpath 0.7.3 - install menhir 20260209 - install menhirCST 20260209 - install menhirGLR 20260209 - install menhirLib 20260209 - install menhirSdk 20260209 - install ocaml-compiler-libs v0.12.4 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install ppx_derivers 1.2.1 - install ppx_deriving 6.1.1 - install ppxlib 0.37.0 - install re 1.14.0 - install sexplib0 v0.17.0 - install stdlib-shims 0.3.0 - install testo 0.4.0 - install testo-diff 0.4.0 - install testo-util 0.4.0 - install topkg 1.1.1 - install uutf 1.0.4 - install yojson 3.0.0 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved alcotest.1.9.1 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved biniou.1.2.2 (cached) -> retrieved conf-python-3.9.0.0 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved cppo.1.8.0 (cached) -> installed conf-python-3.9.0.0 -> retrieved easy-format.1.3.4 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved ocaml-compiler-libs.v0.12.4 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (cached) -> retrieved dune.3.21.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ppx_derivers.1.2.1 (cached) -> retrieved ppx_deriving.6.1.1 (cached) -> retrieved re.1.14.0 (cached) -> retrieved sexplib0.v0.17.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved ppxlib.0.37.0 (cached) -> retrieved testo.0.4.0, testo-diff.0.4.0, testo-util.0.4.0 (cached) -> retrieved yojson.3.0.0 (cached) -> installed cmdliner.2.1.0 -> installed ocamlfind.1.9.8 -> installed ocamlbuild.0.16.1 -> installed topkg.1.1.1 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed dune.3.21.1 -> installed camlp-streams.5.0.1 -> installed easy-format.1.3.4 -> installed menhirCST.20260209 -> installed ppx_derivers.1.2.1 -> installed stdlib-shims.0.3.0 -> installed menhirLib.20260209 -> installed menhirGLR.20260209 -> installed menhirSdk.20260209 -> installed sexplib0.v0.17.0 -> installed cppo.1.8.0 -> installed biniou.1.2.2 -> installed ocaml-syntax-shims.1.0.0 -> installed re.1.14.0 -> installed ocaml-compiler-libs.v0.12.4 -> installed yojson.3.0.0 -> installed alcotest.1.9.1 -> installed menhir.20260209 -> installed ppxlib.0.37.0 -> installed ppx_deriving.6.1.1 -> installed testo-diff.0.4.0 -> installed testo-util.0.4.0 -> installed testo.0.4.0 Done. # To update the current shell environment, run: eval $(opam env) 2026-03-09 08:27.07 ---> using "f60df6aedc10732118f4c3ba3935fddf2190d7b6c2985279df190cc802c962a9" from cache /src: (copy (src .) (dst /src)) 2026-03-09 08:27.08 ---> saved as "9fe33e8a1b915d7fe3f6bfd1355e0d5401f491969d27e3e436dc84be32a6cdcd" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) File "atds/test/dune", lines 13-22, characters 0-177: 13 | (rule 14 | (alias runtest) 15 | (package atds) 16 | (deps 17 | AtdsTest.scala 18 | argonaut_2.11-6.2.2.jar 19 | argonaut_2.12-6.2.2.jar 20 | junit-4.8.2.jar 21 | test.scala) 22 | (action (run ./run_test.sh))) (cd _build/default/atds/test && ./run_test.sh) ./run_test.sh: 6: scalac: not found (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -o test2j -open Test,Test2,Testj -ntd test2.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -j-gen-modules -o test_ambiguous_record_j -open Test_ambiguous_record_t -ntd test_ambiguous_record.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -j-gen-modules -o test_polymorphic_wrap_j test_polymorphic_wrap.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -extend Test test.atd -json -o testjstd_j) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -validate -extend Test test.atd -o testv) Warning: option "-validate" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -extend Test -j-custom-fields 'fun loc s -> Printf.eprintf "Warning: skipping field %s (def: %s) " s loc' test.atd -o testj) Warning: option "-json" is deprecated. (cd _build/default/atdts/src/test && ./Main.exe) Testing `atdts'. This run has ID `Y600G6SP'. Full test results in `/src/_build/default/atdts/src/test/_build/_tests/atdts'. Test Successful in 0.000s. 0 test run. File "atdd/test/dlang-tests/dune", lines 17-26, characters 0-141: 17 | (rule 18 | (alias runtest) 19 | (package atdd) 20 | (deps 21 | (glob_files *.d)) 22 | (action 23 | (progn 24 | (bash "ldc2 %{deps} --of test") 25 | (bash ./test) 26 | ))) (cd _build/default/atdd/test/dlang-tests && /usr/bin/bash -e -u -o pipefail -c 'ldc2 everything_atd.d test_atdd.d --of test') /usr/bin/bash: line 1: ldc2: command not found (cd _build/default/atdpy/src/test && ./Main.exe) Testing `atdpy'. This run has ID `U9LRRBNZ'. Full test results in `/src/_build/default/atdpy/src/test/_build/_tests/atdpy'. Test Successful in 0.000s. 0 test run. (cd _build/default/atd/test && ./unit_tests.exe) Testing `atd'. This run has ID `H348ZCOV'. [OK] Annot 0 valid. [OK] Annot 1 invalid1. [OK] Annot 2 invalid2. [OK] Annot 3 invalid3. [OK] Annot 4 invalid4. [OK] Annot 5 invalid5. [OK] Annot 6 invalid6. [OK] Annot 7 invalid7. [OK] Annot 8 invalid8. [OK] Annot 9 invalid9. [OK] Sort 0 sort. [OK] Unique_name 0 reserved identifiers. [OK] Unique_name 1 reserved prefixes. [OK] Unique_name 2 identifier creation. [OK] Doc 0 normalize "". [OK] Doc 1 normalize "a". [OK] Doc 2 normalize "a b". [OK] Doc 3 normalize "a\nb". [OK] Doc 4 normalize "a b". [OK] Doc 5 normalize "a \n b". [OK] Doc 6 normalize "a \n\n b". [OK] Doc 7 normalize " a ". [OK] Doc 8 normalize "\n\na\n\n". [OK] Doc 9 normalize "{{}}". [OK] Doc 10 normalize "{{a}}". [OK] Doc 11 normalize "{{ a b\n\nc\n }}". [OK] Doc 12 normalize "{{ {a} }}". [OK] Doc 13 normalize "{{{}}}". [OK] Doc 14 normalize "{{{a}}}". [OK] Doc 15 normalize "{{{ }}}". [OK] Doc 16 normalize "{{{ {{a}} }}}". [OK] Doc 17 normalize "{{{ a\n\n b }}}". Full test results in `/src/_build/default/atd/test/_build/_tests/atd'. Test Successful in 0.005s. 32 tests run. File "atdgen/test/melange/melangespec_mel.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/melange/melangespec_mel.expected.ml _build/default/atdgen/test/melange/melangespec_mel.ml diff --git a/_build/default/atdgen/test/melange/melangespec_mel.expected.ml b/_build/default/atdgen/test/melange/melangespec_mel.ml index 744d15f..8c67475 100644 --- a/_build/default/atdgen/test/melange/melangespec_mel.expected.ml +++ b/_build/default/atdgen/test/melange/melangespec_mel.ml @@ -663,7 +663,7 @@ let read_point = ( ) ) let write_param_similar write__a = ( - Atdgen_codec_runtime.Encode.make (fun (t : 'a param_similar) -> + Atdgen_codec_runtime.Encode.make (fun (t : _ param_similar) -> ( Atdgen_codec_runtime.Encode.obj [ @@ -700,12 +700,12 @@ let read_param_similar read__a = ( Atdgen_codec_runtime.Decode.int |> Atdgen_codec_runtime.Decode.field "something" ) json; - } : 'a param_similar) + } : _ param_similar) ) ) ) let write_param write__a = ( - Atdgen_codec_runtime.Encode.make (fun (t : 'a param) -> + Atdgen_codec_runtime.Encode.make (fun (t : _ param) -> ( Atdgen_codec_runtime.Encode.obj [ @@ -742,12 +742,12 @@ let read_param read__a = ( Atdgen_codec_runtime.Decode.unit |> Atdgen_codec_runtime.Decode.field "nothing" ) json; - } : 'a param) + } : _ param) ) ) ) let write_pair write__a write__b = ( - Atdgen_codec_runtime.Encode.make (fun (t : ('a, 'b) pair) -> + Atdgen_codec_runtime.Encode.make (fun (t : (_, _) pair) -> ( Atdgen_codec_runtime.Encode.obj [ @@ -784,7 +784,7 @@ let read_pair read__a read__b = ( read__b |> Atdgen_codec_runtime.Decode.field "right" ) json; - } : ('a, 'b) pair) + } : (_, _) pair) ) ) ) File "atdj/test/dune", lines 53-61, characters 0-160: 53 | (rule 54 | (alias runtest) 55 | (package atdj) 56 | (deps 57 | AtdjTest.java 58 | json.jar 59 | junit-4.8.2.jar 60 | (glob_files com/mylife/test/*.java)) 61 | (action (run ./run_test.sh))) (cd _build/default/atdj/test && ./run_test.sh) ./run_test.sh: 5: javac: not found ./run_test.sh: 6: javac: not found ./run_test.sh: 7: javadoc: not found ./run_test.sh: 10: java: not found File "atdgen/test/melange/melangespec_j.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/melange/melangespec_j.expected.ml _build/default/atdgen/test/melange/melangespec_j.ml diff --git a/_build/default/atdgen/test/melange/melangespec_j.expected.ml b/_build/default/atdgen/test/melange/melangespec_j.ml index ef4d482..04f553c 100644 --- a/_build/default/atdgen/test/melange/melangespec_j.expected.ml +++ b/_build/default/atdgen/test/melange/melangespec_j.ml @@ -1464,8 +1464,8 @@ let read_point = ( ) let point_of_string s = read_point (Yojson.Safe.init_lexer ()) (Lexing.from_string s) -let write_param_similar write__a : _ -> 'a param_similar -> _ = ( - fun ob (x : 'a param_similar) -> +let write_param_similar write__a : _ -> _ param_similar -> _ = ( + fun ob (x : _ param_similar) -> Buffer.add_char ob '{'; let is_first = ref true in if !is_first then @@ -1612,13 +1612,13 @@ let read_param_similar read__a = ( data = (match !field_data with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "data"); something = (match !field_something with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "something"); } - : 'a param_similar) + : _ param_similar) ) ) let param_similar_of_string read__a s = read_param_similar read__a (Yojson.Safe.init_lexer ()) (Lexing.from_string s) -let write_param write__a : _ -> 'a param -> _ = ( - fun ob (x : 'a param) -> +let write_param write__a : _ -> _ param -> _ = ( + fun ob (x : _ param) -> Buffer.add_char ob '{'; let is_first = ref true in if !is_first then @@ -1765,13 +1765,13 @@ let read_param read__a = ( data = (match !field_data with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "data"); nothing = (match !field_nothing with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "nothing"); } - : 'a param) + : _ param) ) ) let param_of_string read__a s = read_param read__a (Yojson.Safe.init_lexer ()) (Lexing.from_string s) -let write_pair write__a write__b : _ -> ('a, 'b) pair -> _ = ( - fun ob (x : ('a, 'b) pair) -> +let write_pair write__a write__b : _ -> (_, _) pair -> _ = ( + fun ob (x : (_, _) pair) -> Buffer.add_char ob '{'; let is_first = ref true in if !is_first then @@ -1918,7 +1918,7 @@ let read_pair read__a read__b = ( left = (match !field_left with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "left"); right = (match !field_right with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "right"); } - : ('a, 'b) pair) + : (_, _) pair) ) ) let pair_of_string read__a read__b s = File "atdpy/test/python-tests/dune", lines 23-35, characters 0-217: 23 | (rule 24 | (alias runtest) 25 | (package atdpy) .... 33 | (run python3 -m flake8 .) 34 | (run python3 -m mypy --strict .) 35 | (run python3 -m pytest .)))) (cd _build/default/atdpy/test/python-tests && /usr/bin/python3 -m flake8 .) /usr/bin/python3: No module named flake8 File "atdgen/test/test.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test.expected.ml _build/default/atdgen/test/test.ml diff --git a/_build/default/atdgen/test/test.expected.ml b/_build/default/atdgen/test/test.ml index 77ff462..f08e720 100644 --- a/_build/default/atdgen/test/test.expected.ml +++ b/_build/default/atdgen/test/test.ml @@ -194,7 +194,7 @@ let read__a_list get__a_reader read__a = ( let _a_list_of_string get__a_reader read__a ?pos s = read__a_list get__a_reader read__a (Bi_inbuf.from_string ?pos s) let rec p'_tag = Bi_io.variant_tag -and write_untagged_p' _a_tag write_untagged__a write__a : Bi_outbuf.t -> 'a p' -> unit = ( +and write_untagged_p' _a_tag write_untagged__a write__a : Bi_outbuf.t -> _ p' -> unit = ( fun ob x -> match x with | A -> Bi_outbuf.add_char4 ob '\000' '\000' '\000' 'A' @@ -222,17 +222,17 @@ let rec get_p'_reader get__a_reader read__a = ( fun ib -> Bi_io.read_hashtag ib (fun ib h has_arg -> match h, has_arg with - | 65, false -> (A : 'a p') + | 65, false -> (A : _ p') | 14816, true -> (Bb ( ( read_p' get__a_reader read__a ) ib - ) : 'a p') + ) : _ p') | -711691517, true -> (Ccccc ( ( read__a ) ib - ) : 'a p') + ) : _ p') | _ -> Atdgen_runtime.Ob_run.unsupported_variant h has_arg ) ) @@ -241,17 +241,17 @@ and read_p' get__a_reader read__a = ( if Bi_io.read_tag ib <> 23 then Atdgen_runtime.Ob_run.read_error_at ib; Bi_io.read_hashtag ib (fun ib h has_arg -> match h, has_arg with - | 65, false -> (A : 'a p') + | 65, false -> (A : _ p') | 14816, true -> (Bb ( ( read_p' get__a_reader read__a ) ib - ) : 'a p') + ) : _ p') | -711691517, true -> (Ccccc ( ( read__a ) ib - ) : 'a p') + ) : _ p') | _ -> Atdgen_runtime.Ob_run.unsupported_variant h has_arg ) ) @@ -604,7 +604,7 @@ and string_of__a_b_poly_option _a_tag write_untagged__a write__a _b_tag write_un write__a_b_poly_option _a_tag write_untagged__a write__a _b_tag write_untagged__b write__b ob x; Bi_outbuf.contents ob and poly_tag = Bi_io.record_tag -and write_untagged_poly _x_tag write_untagged__x write__x _y_tag write_untagged__y write__y : Bi_outbuf.t -> ('x, 'y) poly -> unit = ( +and write_untagged_poly _x_tag write_untagged__x write__x _y_tag write_untagged__y write__y : Bi_outbuf.t -> (_, _) poly -> unit = ( fun ob x -> Bi_vint.write_uvint ob 2; Bi_outbuf.add_char4 ob '\128' 'M' '\202' '\135'; @@ -686,7 +686,7 @@ and get_poly_reader get__x_reader read__x get__y_reader read__y = ( fst = !field_fst; snd = !field_snd; } - : ('x, 'y) poly) + : (_, _) poly) ) and read_poly get__x_reader read__x get__y_reader read__y = ( fun ib -> @@ -719,7 +719,7 @@ and read_poly get__x_reader read__x get__y_reader read__y = ( fst = !field_fst; snd = !field_snd; } - : ('x, 'y) poly) + : (_, _) poly) ) and poly_of_string get__x_reader read__x get__y_reader read__y ?pos s = read_poly get__x_reader read__x get__y_reader read__y (Bi_inbuf.from_string ?pos s) @@ -3906,7 +3906,7 @@ let read_hello = ( let hello_of_string ?pos s = read_hello (Bi_inbuf.from_string ?pos s) let generic_tag = Bi_io.record_tag -let write_untagged_generic _a_tag write_untagged__a write__a : Bi_outbuf.t -> 'a generic -> unit = ( +let write_untagged_generic _a_tag write_untagged__a write__a : Bi_outbuf.t -> _ generic -> unit = ( fun ob x -> Bi_vint.write_uvint ob 1; Bi_outbuf.add_char4 ob '\240' 'G' '\003' '\130'; @@ -3944,7 +3944,7 @@ let get_generic_reader get__a_reader read__a = ( { x294623 = !field_x294623; } - : 'a generic) + : _ generic) ) let read_generic get__a_reader read__a = ( fun ib -> @@ -3968,7 +3968,7 @@ let read_generic get__a_reader read__a = ( { x294623 = !field_x294623; } - : 'a generic) + : _ generic) ) let generic_of_string get__a_reader read__a ?pos s = read_generic get__a_reader read__a (Bi_inbuf.from_string ?pos s) File "atdgen/test/testv.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/testv.expected.ml _build/default/atdgen/test/testv.ml diff --git a/_build/default/atdgen/test/testv.expected.ml b/_build/default/atdgen/test/testv.ml index de48083..96cdf73 100644 --- a/_build/default/atdgen/test/testv.expected.ml +++ b/_build/default/atdgen/test/testv.ml @@ -162,7 +162,7 @@ let validate__a_list validate__a = ( validate__a ) ) -let rec validate_p' validate__a : _ -> 'a p' -> _ = ( +let rec validate_p' validate__a : _ -> _ p' -> _ = ( fun path x -> match x with | A -> None @@ -218,7 +218,7 @@ let rec validate__a_b_poly_option validate__a validate__b path x = ( validate_poly validate__a validate__b ) ) path x -and validate_poly validate__x validate__y : _ -> ('x, 'y) poly -> _ = ( +and validate_poly validate__x validate__y : _ -> (_, _) poly -> _ = ( fun path x -> match ( @@ -446,7 +446,7 @@ let validate_int32 = ( let validate_hello = ( fun _ _ -> None ) -let validate_generic validate__a : _ -> 'a generic -> _ = ( +let validate_generic validate__a : _ -> _ generic -> _ = ( fun _ _ -> None ) let validate_floats : _ -> floats -> _ = ( File "atdgen/test/testjstd_j.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/testjstd_j.expected.ml _build/default/atdgen/test/testjstd_j.ml diff --git a/_build/default/atdgen/test/testjstd_j.expected.ml b/_build/default/atdgen/test/testjstd_j.ml index 5540346..9ac76b5 100644 --- a/_build/default/atdgen/test/testjstd_j.expected.ml +++ b/_build/default/atdgen/test/testjstd_j.ml @@ -173,8 +173,8 @@ let read__a_list read__a = ( ) let _a_list_of_string read__a s = read__a_list read__a (Yojson.Safe.init_lexer ()) (Lexing.from_string s) -let rec write_p' write__a : _ -> 'a p' -> _ = ( - fun ob (x : 'a p') -> +let rec write_p' write__a : _ -> _ p' -> _ = ( + fun ob (x : _ p') -> match x with | A -> Buffer.add_string ob "\"A\"" | Bb x -> @@ -201,7 +201,7 @@ let rec read_p' read__a = ( | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> - (A : 'a p') + (A : _ p') | x -> Atdgen_runtime.Oj_run.invalid_variant_tag p x ) @@ -217,7 +217,7 @@ let rec read_p' read__a = ( in Yojson.Safe.read_space p lb; Yojson.Safe.read_rbr p lb; - (Bb x : 'a p') + (Bb x : _ p') | "Ccccc" -> Yojson.Safe.read_space p lb; Yojson.Safe.read_comma p lb; @@ -228,7 +228,7 @@ let rec read_p' read__a = ( in Yojson.Safe.read_space p lb; Yojson.Safe.read_rbr p lb; - (Ccccc x : 'a p') + (Ccccc x : _ p') | x -> Atdgen_runtime.Oj_run.invalid_variant_tag p x ) @@ -625,8 +625,8 @@ and string_of__a_b_poly_option write__a write__b ?(len = 1024) x = let ob = Buffer.create len in write__a_b_poly_option write__a write__b ob x; Buffer.contents ob -and write_poly write__x write__y : _ -> ('x, 'y) poly -> _ = ( - fun ob (x : ('x, 'y) poly) -> +and write_poly write__x write__y : _ -> (_, _) poly -> _ = ( + fun ob (x : (_, _) poly) -> Buffer.add_char ob '{'; let is_first = ref true in if !is_first then @@ -813,7 +813,7 @@ and read_poly read__x read__y = ( fst = (match !field_fst with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "fst"); snd = (match !field_snd with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "snd"); } - : ('x, 'y) poly) + : (_, _) poly) ) ) and poly_of_string read__x read__y s = @@ -3722,8 +3722,8 @@ let read_hello = ( ) let hello_of_string s = read_hello (Yojson.Safe.init_lexer ()) (Lexing.from_string s) -let write_generic write__a : _ -> 'a generic -> _ = ( - fun ob (x : 'a generic) -> +let write_generic write__a : _ -> _ generic -> _ = ( + fun ob (x : _ generic) -> Buffer.add_char ob '{'; let is_first = ref true in if !is_first then @@ -3815,7 +3815,7 @@ let read_generic read__a = ( { x294623 = (match !field_x294623 with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "x294623"); } - : 'a generic) + : _ generic) ) ) let generic_of_string read__a s = File "atdgen/test/testj.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/testj.expected.ml _build/default/atdgen/test/testj.ml diff --git a/_build/default/atdgen/test/testj.expected.ml b/_build/default/atdgen/test/testj.ml index 5f93184..bc2e342 100644 --- a/_build/default/atdgen/test/testj.expected.ml +++ b/_build/default/atdgen/test/testj.ml @@ -173,8 +173,8 @@ let read__a_list read__a = ( ) let _a_list_of_string read__a s = read__a_list read__a (Yojson.Safe.init_lexer ()) (Lexing.from_string s) -let rec write_p' write__a : _ -> 'a p' -> _ = ( - fun ob (x : 'a p') -> +let rec write_p' write__a : _ -> _ p' -> _ = ( + fun ob (x : _ p') -> match x with | A -> Buffer.add_string ob "\"A\"" | Bb x -> @@ -201,7 +201,7 @@ let rec read_p' read__a = ( | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> - (A : 'a p') + (A : _ p') | x -> Atdgen_runtime.Oj_run.invalid_variant_tag p x ) @@ -217,7 +217,7 @@ let rec read_p' read__a = ( in Yojson.Safe.read_space p lb; Yojson.Safe.read_rbr p lb; - (Bb x : 'a p') + (Bb x : _ p') | "Ccccc" -> Yojson.Safe.read_space p lb; Yojson.Safe.read_comma p lb; @@ -228,7 +228,7 @@ let rec read_p' read__a = ( in Yojson.Safe.read_space p lb; Yojson.Safe.read_rbr p lb; - (Ccccc x : 'a p') + (Ccccc x : _ p') | x -> Atdgen_runtime.Oj_run.invalid_variant_tag p x ) @@ -629,8 +629,8 @@ and string_of__a_b_poly_option write__a write__b ?(len = 1024) x = let ob = Buffer.create len in write__a_b_poly_option write__a write__b ob x; Buffer.contents ob -and write_poly write__x write__y : _ -> ('x, 'y) poly -> _ = ( - fun ob (x : ('x, 'y) poly) -> +and write_poly write__x write__y : _ -> (_, _) poly -> _ = ( + fun ob (x : (_, _) poly) -> Buffer.add_char ob '{'; let is_first = ref true in if !is_first then @@ -825,7 +825,7 @@ and read_poly read__x read__y = ( fst = (match !field_fst with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "fst"); snd = (match !field_snd with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "snd"); } - : ('x, 'y) poly) + : (_, _) poly) ) ) and poly_of_string read__x read__y s = @@ -3778,8 +3778,8 @@ let read_hello = ( ) let hello_of_string s = read_hello (Yojson.Safe.init_lexer ()) (Lexing.from_string s) -let write_generic write__a : _ -> 'a generic -> _ = ( - fun ob (x : 'a generic) -> +let write_generic write__a : _ -> _ generic -> _ = ( + fun ob (x : _ generic) -> Buffer.add_char ob '{'; let is_first = ref true in if !is_first then @@ -3873,7 +3873,7 @@ let read_generic read__a = ( { x294623 = (match !field_x294623 with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "x294623"); } - : 'a generic) + : _ generic) ) ) let generic_of_string read__a s = File "atdcat/test/dune", lines 57-87, characters 0-907: 57 | (rule 58 | (alias runtest) 59 | (deps .... 85 | ) 86 | ) 87 | ) (cd _build/default/atdcat/test && /usr/bin/python3 -m jsonschema schema.json -i data.json) /usr/bin/python3: No module named jsonschema File "atdcpp/test/cpp-tests/dune", lines 19-28, characters 0-183: 19 | (rule 20 | (alias runtest) 21 | (package atdcpp) 22 | (deps 23 | (glob_files *.cpp)) 24 | (action 25 | (progn 26 | (bash "g++ -I../../lib/rapidjson/include -std=c++17 %{deps} -o test") 27 | (bash ./test) 28 | ))) (cd _build/default/atdcpp/test/cpp-tests && /usr/bin/bash -e -u -o pipefail -c 'g++ -I../../lib/rapidjson/include -std=c++17 everything_atd.cpp test_atdd.cpp -o test') In file included from everything_atd.cpp:12: everything_atd.hpp:12:10: fatal error: rapidjson/document.h: No such file or directory 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from test_atdd.cpp:12: everything_atd.hpp:12:10: fatal error: rapidjson/document.h: No such file or directory 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. File "atdgen/test/dune", lines 423-426, characters 0-80: 423 | (rule 424 | (alias runtest) 425 | (package atdgen) 426 | (action (run ./test_atdgen_main.exe))) (cd _build/default/atdgen/test && ./test_atdgen_main.exe) Testing `atdgen'. This run has ID `Y0SBH4TD'. [OK] atdgen 0 ocaml internals. [OK] atdgen 1 biniou missing record fields. [OK] atdgen 2 biniou missing tuple fields. [OK] atdgen 3 biniou read/write unit. [OK] atdgen 4 json missing record fields. [OK] atdgen 5 json missing tuple fields. [OK] atdgen 6 json extra field warning. [OK] atdgen 7 json association list. [OK] atdgen 8 json association array. [OK] atdgen 9 json ints derived from ocaml floats. [OK] atdgen 10 biniou correctness. [OK] atdgen 11 json correctness. [OK] atdgen 12 json space. [OK] atdgen 13 validators0. [OK] atdgen 14 validators1. [OK] atdgen 15 validators2. [OK] atdgen 16 validators3. [OK] atdgen 17 validators4. [OK] atdgen 18 json files. [OK] atdgen 19 json streams. [OK] atdgen 20 raw JSON. [OK] atdgen 21 ocaml wrapping - ints. [OK] atdgen 22 ocaml wrapping - double wrapping. [OK] atdgen 23 ocaml wrapping - with validation. [OK] atdgen 24 ocaml wrapping - wrap constructor without... [OK] atdgen 25 check length of floats serialized as floa... [OK] atdgen 26 print JSON floats with maximum number of ... [OK] atdgen 27 read json record with null fields meaning... [OK] atdgen 28 read and write a variant represented as a... [OK] atdgen 29 read and write a variant represented as a... [OK] atdgen 30 test variants represented with single-fie... [OK] atdgen 31 emulate the retired tag_field feature. [OK] atdgen 32 emulate the retired tag_field feature, wi... [OK] atdgen 33 test <json open_enum>. [OK] atdgen 34 test ambiguous record with json adapters. [OK] atdgen 35 test ambiguous classic variants with json... [OK] atdgen 36 test wrapping of polymorphic types. [OK] atdgen 37 json encoding int. [OK] atdgen 38 json encoding & decoding int. [FAIL] atdgen 39 json encoding int with string representat... [OK] atdgen 40 json encoding & decoding int with string ... [OK] atdgen 41 abstract types. [OK] atdgen 42 untyped json. [FAIL] atdgen 43 generic. [OK] atdgen 44 inline-records. ┌──────────────────────────────────────────────────────────────────────────────┐ │ [FAIL] atdgen 39 json encoding int with string represen... │ └──────────────────────────────────────────────────────────────────────────────┘ ASSERT true FAIL true Expected: `true' Received: `false' Raised at Alcotest_engine__Test.check in file "src/alcotest-engine/test.ml", line 216, characters 4-261 Called from Dune__exe__Test_atdgen_main.check in file "atdgen/test/test_atdgen_main.ml" (inlined), line 12, characters 2-43 Called from Dune__exe__Test_atdgen_main.test_encoding_int_with_string_repr in file "atdgen/test/test_atdgen_main.ml", line 636, characters 2-39 Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23 Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35 Logs saved to `/src/_build/default/atdgen/test/_build/_tests/atdgen/atdgen.039.output'. ────────────────────────────────────────────────────────────────────────────── ┌──────────────────────────────────────────────────────────────────────────────┐ │ [FAIL] atdgen 43 generic. │ └──────────────────────────────────────────────────────────────────────────────┘ ASSERT involution-abstract_j ASSERT involution-test_int_with_string_repr_j.Afloat File "atdgen/test/test_atdgen_main.ml", line 678, character 2: FAIL involution-test_int_with_string_repr_j.Afloat Expected: `"\"42\""' Received: `"42"' Raised at Alcotest_engine__Test.check in file "src/alcotest-engine/test.ml", line 216, characters 4-261 Called from Dune__exe__Test_atdgen_main.test_generic in file "atdgen/test/test_atdgen_main.ml", line 678, characters 2-107 Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23 Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35 Logs saved to `/src/_build/default/atdgen/test/_build/_tests/atdgen/atdgen.043.output'. ────────────────────────────────────────────────────────────────────────────── Full test results in `/src/_build/default/atdgen/test/_build/_tests/atdgen'. 2 failures! in 0.010s. 45 tests run. "/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2026-03-09 08:27.12: Job failed: Failed: Build failed