2025-12-09 19:39.05: New job: test ahrefs/atd https://github.com/ahrefs/atd.git#refs/heads/yojson3 (9b2abd5bc58e93fd0a38a1de4f4a819e13226e7a) (linux-arm64:debian-13-5.4_arm64_opam-2.4)
Base: ocaml/opam:debian-13-ocaml-5.4@sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ahrefs/atd.git" -b "yojson3" && cd "atd" && git reset --hard 9b2abd5b
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c
# debian-13-5.4_arm64_opam-2.4
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.4 /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 8a324a5b9945e0e515da441ede437f3756caa83d || git fetch origin master) && git reset -q --hard 8a324a5b9945e0e515da441ede437f3756caa83d && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 atdts.opam atds.opam atdpy.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 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-domains.base base-effects.base base-nnp.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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.4 --depext-only -y atdts.dev atds.dev atdpy.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
2025-12-09 19:39.05: Using cache hint "ahrefs/atd-ocaml/opam:debian-13-ocaml-5.4@sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c-debian-13-5.4_arm64_opam-2.4-62b2629b23f11a0873ebdc6b080252cf"
2025-12-09 19:39.05: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c)
(comment debian-13-5.4_arm64_opam-2.4)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.4 /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 8a324a5b9945e0e515da441ede437f3756caa83d || git fetch origin master) && git reset -q --hard 8a324a5b9945e0e515da441ede437f3756caa83d && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src atdts.opam atds.opam atdpy.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 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 (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2")
(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.4 --depext-only -y atdts.dev atds.dev atdpy.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"))
)
2025-12-09 19:39.05: Waiting for resource in pool OCluster
2025-12-09 19:39.05: Waiting for worker…
2025-12-09 19:39.05: Got resource from pool OCluster
Building on molpadia.caelum.ci.dev
HEAD is now at 7757273 Bring back start_any_variant
HEAD is now at 9b2abd5 Import the missing Yojson functions 'start_any_variant' and 'start_any_tuple' which were accidentally removed from Yojson.
(from ocaml/opam:debian-13-ocaml-5.4@sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4@sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c' locally
docker.io/ocaml/opam@sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c: Pulling from ocaml/opam
Digest: sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c
Status: Downloaded newer image for ocaml/opam@sha256:0431f015ed06bf78e7175badf979193dace2ffb742244ff713846482fc25989c
2025-12-09 19:39.06 ---> using "95c3c55114d78c1491f0fd3531fa7e326ecab763763b6228b80a9677d9a9a761" from cache
/: (comment debian-13-5.4_arm64_opam-2.4)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam"))
2025-12-09 19:39.06 ---> using "956bf71c618d00bc941f84882587a059208f035ac10966fa71555fbf8a587790" 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.
Continue? [Y/n] y
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.
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-12-09 19:39.06 ---> using "33d6cf240a24c018e30e8a90fd66a35ba4b968fb47162f2fec5d2536272f632d" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-157-generic
The OCaml toplevel, version 5.4.0
2.4.1
2025-12-09 19:39.06 ---> using "52cacff88508147fe95720b88d53ea8ccf3aa340e8cc082a4e966bf9aad85545" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-12-09 19:39.06 ---> using "1b2f4d4a569ba1655c51a878509d0ba0239b4c5c6c92d8fe105cf62ab96909be" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 8a324a5b9945e0e515da441ede437f3756caa83d || git fetch origin master) && git reset -q --hard 8a324a5b9945e0e515da441ede437f3756caa83d && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
2ec6d6cc92..cdece73aa3 master -> origin/master
8a324a5b99 Add: cmdliner.2.1.0 (#28962)
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository
Already up-to-date.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-12-09 19:39.06 ---> using "5a358e9a098e1fd9d1ade54d011611cb5e93c87b180409a21cef140490740342" from cache
/src: (copy (src atdts.opam atds.opam atdpy.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam)
(dst ./))
2025-12-09 19:39.06 ---> using "36c0c146b5671af0c0ae68bee44efdc124a2b5223f7060daf2b2a269867f7100" 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 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)
[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)
2025-12-09 19:39.06 ---> using "f341013b9495253cb1fc23fc5eb8c84b6be59eb6d2c95f8ef5dbfbee0752debf" from cache
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-12-09 19:39.06 ---> using "0f0e6ccdb5d8e63e96a9ad7310b59811bd3835821351e881935d8d6c70496643" from cache
/src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2")
/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.4 --depext-only -y atdts.dev atds.dev atdpy.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"
- Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian trixie/main arm64 Packages [9607 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main arm64 Packages [81.0 kB]
- Fetched 9919 kB in 16s (603 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)
[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 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml is already installed (current version is 5.4.0).
[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-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains 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"
- Selecting previously unselected package libpython3.13-minimal:arm64.
- (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 ... 20767 files and directories currently installed.)
- Preparing to unpack .../libpython3.13-minimal_3.13.5-2_arm64.deb ...
- Unpacking libpython3.13-minimal:arm64 (3.13.5-2) ...
- Selecting previously unselected package python3.13-minimal.
- Preparing to unpack .../python3.13-minimal_3.13.5-2_arm64.deb ...
- Unpacking python3.13-minimal (3.13.5-2) ...
- Setting up libpython3.13-minimal:arm64 (3.13.5-2) ...
- Setting up python3.13-minimal (3.13.5-2) ...
- 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 ... 21092 files and directories currently installed.)
- Preparing to unpack .../0-python3-minimal_3.13.5-1_arm64.deb ...
- Unpacking python3-minimal (3.13.5-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 readline-common.
- Preparing to unpack .../2-readline-common_8.2-6_all.deb ...
- Unpacking readline-common (8.2-6) ...
- Selecting previously unselected package libreadline8t64:arm64.
- Preparing to unpack .../3-libreadline8t64_8.2-6_arm64.deb ...
- Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64'
- Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64'
- Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64'
- Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64'
- Unpacking libreadline8t64:arm64 (8.2-6) ...
- Selecting previously unselected package libpython3.13-stdlib:arm64.
- Preparing to unpack .../4-libpython3.13-stdlib_3.13.5-2_arm64.deb ...
- Unpacking libpython3.13-stdlib:arm64 (3.13.5-2) ...
- Selecting previously unselected package python3.13.
- Preparing to unpack .../5-python3.13_3.13.5-2_arm64.deb ...
- Unpacking python3.13 (3.13.5-2) ...
- Selecting previously unselected package libpython3-stdlib:arm64.
- Preparing to unpack .../6-libpython3-stdlib_3.13.5-1_arm64.deb ...
- Unpacking libpython3-stdlib:arm64 (3.13.5-1) ...
- Setting up python3-minimal (3.13.5-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 ... 21578 files and directories currently installed.)
- Preparing to unpack .../python3_3.13.5-1_arm64.deb ...
- Unpacking python3 (3.13.5-1) ...
- Setting up media-types (13.0.0) ...
- Setting up readline-common (8.2-6) ...
- Setting up libreadline8t64:arm64 (8.2-6) ...
- Setting up libpython3.13-stdlib:arm64 (3.13.5-2) ...
- Setting up libpython3-stdlib:arm64 (3.13.5-1) ...
- Setting up python3.13 (3.13.5-2) ...
- Setting up python3 (3.13.5-1) ...
- running python rtupdate hooks for python3.13...
- running python post-rtupdate hooks for python3.13...
- Processing triggers for libc-bin (2.41-12) ...
2025-12-09 19:39.06 ---> using "ba640c2c499e617dd576ee3ed350d00674e1dfe70aaa8a3b3d3312c731a079fd" 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 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml is already installed (current version is 5.4.0).
[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-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains 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 22 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 dune 3.20.2
- install easy-format 1.3.4
- install fmt 0.11.0
- install menhir 20250912
- install menhirCST 20250912
- install menhirLib 20250912
- install menhirSdk 20250912
- install ocaml-syntax-shims 1.0.0
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install re 1.14.0
- install seq base
- install stdlib-shims 0.3.0
- install topkg 1.1.1
- install uutf 1.0.4
- install yojson 2.2.2
<><> 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 easy-format.1.3.4 (cached)
-> installed conf-python-3.9.0.0
-> retrieved fmt.0.11.0 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved menhir.20250912, menhirCST.20250912, menhirLib.20250912, menhirSdk.20250912 (cached)
-> retrieved dune.3.20.2 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved re.1.14.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved topkg.1.1.1 (cached)
-> retrieved uutf.1.0.4 (cached)
-> retrieved yojson.2.2.2 (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 dune.3.20.2
-> installed easy-format.1.3.4
-> installed menhirCST.20250912
-> installed camlp-streams.5.0.1
-> installed stdlib-shims.0.3.0
-> installed menhirSdk.20250912
-> installed menhirLib.20250912
-> installed biniou.1.2.2
-> installed ocaml-syntax-shims.1.0.0
-> installed re.1.14.0
-> installed yojson.2.2.2
-> installed alcotest.1.9.1
-> installed menhir.20250912
Done.
# To update the current shell environment, run: eval $(opam env)
2025-12-09 19:39.06 ---> using "b7d801edc408ad740d2e8f05a45a758ee4092d0518203a6f7a88cebcf8a1e26e" from cache
/src: (copy (src .) (dst /src))
2025-12-09 19:39.07 ---> saved as "89c1a2fbbfeeea66226254d82ac1c5e70bcbc7ee37bbf3483f5664582b0b1da3"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -27 -safe-string -g -bin-annot -bin-annot-occurrences -I atdj/src/.atdj_main.eobjs/byte -I /home/opam/.opam/5.4/lib/re -I atd/src/.atd.objs/byte -no-alias-deps -opaque -open Dune__exe -o atdj/src/.atdj_main.eobjs/byte/dune__exe__Atdj_main.cmo -c -impl atdj/src/atdj_main.ml)
File "_none_", line 1:
Alert ocaml_deprecated_auto_include:
OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
automatically added to the search path, but you should add -I +unix to the
command-line to silence this alert (e.g. by adding unix to the list of
libraries in your dune file, or adding use_unix to your _tags file for
ocamlbuild, or using -package unix for ocamlfind).
(cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -27 -safe-string -g -I atdj/src/.atdj_main.eobjs/byte -I atdj/src/.atdj_main.eobjs/native -I /home/opam/.opam/5.4/lib/re -I atd/src/.atd.objs/byte -I atd/src/.atd.objs/native -cmi-file atdj/src/.atdj_main.eobjs/byte/dune__exe__Atdj_main.cmi -no-alias-deps -opaque -open Dune__exe -o atdj/src/.atdj_main.eobjs/native/dune__exe__Atdj_main.cmx -c -impl atdj/src/atdj_main.ml)
File "_none_", line 1:
Alert ocaml_deprecated_auto_include:
OCaml's lib directory layout changed in 5.0. The unix subdirectory has been
automatically added to the search path, but you should add -I +unix to the
command-line to silence this alert (e.g. by adding unix to the list of
libraries in your dune file, or adding use_unix to your _tags file for
ocamlbuild, or using -package unix for ocamlfind).
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/atdts/src/test && ./Main.exe)
Testing `atdts'.
This run has ID `128QY72B'.
Full test results in `/src/_build/default/atdts/src/test/_build/_tests/atdts'.
Test Successful in 0.000s. 0 test run.
(cd _build/default/atdpy/src/test && ./Main.exe)
Testing `atdpy'.
This run has ID `HE65IV87'.
Full test results in `/src/_build/default/atdpy/src/test/_build/_tests/atdpy'.
Test Successful in 0.000s. 0 test run.
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/atd/test && ./unit_tests.exe)
Testing `atd'.
This run has ID `RY1Z7O9S'.
[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.004s. 32 tests run.
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 "atdpy/test/python-tests/dune", lines 19-29, characters 0-198:
19 | (rule
20 | (alias runtest)
21 | (package atdpy)
22 | (deps
23 | everything.py
24 | (glob_files *.py))
25 | (action
26 | (progn
27 | (run python3 -m flake8 .)
28 | (run python3 -m mypy --strict .)
29 | (run python3 -m pytest .))))
(cd _build/default/atdpy/test/python-tests && /usr/bin/python3 -m flake8 .)
/usr/bin/python3: No module named flake8
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 "atdgen/test/test2j.expected.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test2j.expected.ml _build/default/atdgen/test/test2j.ml
diff --git a/_build/default/atdgen/test/test2j.expected.ml b/_build/default/atdgen/test/test2j.ml
index cea20a4..1f613c7 100644
--- a/_build/default/atdgen/test/test2j.expected.ml
+++ b/_build/default/atdgen/test/test2j.ml
@@ -52,25 +52,7 @@ let string_of__string_option ?(len = 1024) x =
let read__string_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
File "atdgen/test/test_ambiguous_variant_j.expected.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test_ambiguous_variant_j.expected.ml _build/default/atdgen/test/test_ambiguous_variant_j.ml
diff --git a/_build/default/atdgen/test/test_ambiguous_variant_j.expected.ml b/_build/default/atdgen/test/test_ambiguous_variant_j.ml
index e5432e3..ed1a763 100644
--- a/_build/default/atdgen/test/test_ambiguous_variant_j.expected.ml
+++ b/_build/default/atdgen/test/test_ambiguous_variant_j.ml
@@ -37,30 +37,7 @@ let read_ambiguous' = (
Atdgen_runtime.Oj_run.read_with_adapter Json_adapters.Identity.normalize (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Int" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Int x : ambiguous')
- | "String" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (String x : ambiguous')
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
@@ -123,30 +100,7 @@ let read_ambiguous = (
Atdgen_runtime.Oj_run.read_with_adapter Json_adapters.Identity.normalize (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Int" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Int x : ambiguous)
- | "String" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (String x : ambiguous)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
File "atdgen/test/test_classic_inline_record_j.expected.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test_classic_inline_record_j.expected.ml _build/default/atdgen/test/test_classic_inline_record_j.ml
diff --git a/_build/default/atdgen/test/test_classic_inline_record_j.expected.ml b/_build/default/atdgen/test/test_classic_inline_record_j.ml
index 81f9ccf..ad134fc 100644
--- a/_build/default/atdgen/test/test_classic_inline_record_j.expected.ml
+++ b/_build/default/atdgen/test/test_classic_inline_record_j.ml
@@ -40,129 +40,7 @@ let string_of_foo ?(len = 1024) x =
let read_foo = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Foo" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_lcurl p lb;
- let field_x = ref (None) in
- let field_y = ref (None) in
- try
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_object_end lb;
- Yojson.Safe.read_space p lb;
- let f =
- fun s pos len ->
- if pos < 0 || len < 0 || pos + len > String.length s then
- invalid_arg (Printf.sprintf "out-of-bounds substring position or length: string = %S, requested position = %i, requested length = %i" s pos len);
- if len = 1 then (
- match String.unsafe_get s pos with
- | 'x' -> (
- 0
- )
- | 'y' -> (
- 1
- )
- | _ -> (
- -1
- )
- )
- else (
- -1
- )
- in
- let i = Yojson.Safe.map_ident p f lb in
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- (
- match i with
- | 0 ->
- field_x := (
- Some (
- (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- )
- );
- | 1 ->
- field_y := (
- Some (
- (
- Atdgen_runtime.Oj_run.read_number
- ) p lb
- )
- );
- | _ -> (
- Yojson.Safe.skip_json p lb
- )
- );
- while true do
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_object_sep p lb;
- Yojson.Safe.read_space p lb;
- let f =
- fun s pos len ->
- if pos < 0 || len < 0 || pos + len > String.length s then
- invalid_arg (Printf.sprintf "out-of-bounds substring position or length: string = %S, requested position = %i, requested length = %i" s pos len);
- if len = 1 then (
- match String.unsafe_get s pos with
- | 'x' -> (
- 0
- )
- | 'y' -> (
- 1
- )
- | _ -> (
- -1
- )
- )
- else (
- -1
- )
- in
- let i = Yojson.Safe.map_ident p f lb in
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- (
- match i with
- | 0 ->
- field_x := (
- Some (
- (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- )
- );
- | 1 ->
- field_y := (
- Some (
- (
- Atdgen_runtime.Oj_run.read_number
- ) p lb
- )
- );
- | _ -> (
- Yojson.Safe.skip_json p lb
- )
- );
- done;
- assert false;
- with Yojson.End_of_object -> (
- (Foo
- {
- x = (match !field_x with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "x");
- y = (match !field_y with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "y");
- }
- : foo)
- )
- ) in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
File "atdgen/test/test3j_j.expected.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test3j_j.expected.ml _build/default/atdgen/test/test3j_j.ml
diff --git a/_build/default/atdgen/test/test3j_j.expected.ml b/_build/default/atdgen/test/test3j_j.ml
index 5d74e97..77be75a 100644
--- a/_build/default/atdgen/test/test3j_j.expected.ml
+++ b/_build/default/atdgen/test/test3j_j.ml
@@ -261,80 +261,7 @@ let string_of_tf_variant2 ?(len = 1024) x =
let read_tf_variant2 = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "a" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `A x
- | "b" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `B x
- | "Unknown" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- fun p lb ->
- Yojson.Safe.read_space p lb;
- let std_tuple = Yojson.Safe.start_any_tuple p lb in
- let len = ref 0 in
- let end_of_tuple = ref false in
- (try
- let x0 =
- let x =
- (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- incr len;
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- x
- in
- let x1 =
- let x =
- (
- read__json_nullable
- ) p lb
- in
- incr len;
- (try
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- with Yojson.End_of_tuple -> end_of_tuple := true);
- x
- in
- if not !end_of_tuple then (
- try
- while true do
- Yojson.Safe.skip_json p lb;
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- done
- with Yojson.End_of_tuple -> ()
- );
- (x0, x1)
- with Yojson.End_of_tuple ->
- Atdgen_runtime.Oj_run.missing_tuple_fields p !len [ 0; 1 ]);
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Unknown x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
@@ -445,30 +372,7 @@ let string_of_tf_variant ?(len = 1024) x =
let read_tf_variant = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "a" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `A x
- | "b" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `B x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
@@ -1064,30 +968,7 @@ let read_sf_adapted = (
Atdgen_runtime.Oj_run.read_with_adapter Atdgen_runtime.Json_adapter.One_field.normalize (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "a" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_bool
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `A x
- | "b" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `B x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
@@ -1140,20 +1021,7 @@ let string_of_sample_open_enum ?(len = 1024) x =
let read_sample_open_enum = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Alpha" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Alpha
- | "Beta" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Beta
- | x ->
- `Other x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "Alpha" ->
@@ -1230,25 +1098,7 @@ let string_of__int_nullable_option ?(len = 1024) x =
let read__int_nullable_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read__int_nullable
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1734,30 +1584,7 @@ let read_adapted_f = (
Atdgen_runtime.Oj_run.read_with_adapter (Atdgen_runtime.Json_adapter.normalize_type_field "type") (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "fa" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_a
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `FA x
- | "fb" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_b
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `FB x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
@@ -1820,30 +1647,7 @@ let read_adapted = (
Atdgen_runtime.Oj_run.read_with_adapter Atdgen_runtime.Json_adapter.Type_field.normalize (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "a" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_a
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `A x
- | "b" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_b
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `B x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
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 5cba12b..c2ed7f4 100644
--- a/_build/default/atdgen/test/melange/melangespec_j.expected.ml
+++ b/_build/default/atdgen/test/melange/melangespec_j.ml
@@ -392,20 +392,7 @@ let string_of_with_open_enum ?(len = 1024) x =
let read_with_open_enum = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Alpha" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Alpha
- | "Beta" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Beta
- | x ->
- `Other x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "Alpha" ->
@@ -467,20 +454,7 @@ let string_of_variant3 ?(len = 1024) x =
let read_variant3 = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "C" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (C : variant3)
- | "B" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (B : variant3)
- | x ->
- (A x : variant3)
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "C" ->
@@ -511,20 +485,7 @@ let string_of_variant2 ?(len = 1024) x =
let read_variant2 = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (A : variant2)
- | "C" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (C : variant2)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "A" ->
@@ -560,25 +521,7 @@ let string_of_variant1 ?(len = 1024) x =
let read_variant1 = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (A x : variant1)
- | "B" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (B : variant1)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "B" ->
@@ -640,30 +583,7 @@ let string_of_v2 ?(len = 1024) x =
let read_v2 = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "V1_foo" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (V1_foo x : v2)
- | "V2_bar" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_bool
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (V2_bar x : v2)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
@@ -722,30 +642,7 @@ let string_of_v1 ?(len = 1024) x =
let read_v1 = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "V1_foo" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_bool
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (V1_foo x : v1)
- | "V2_bar" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (V2_bar x : v1)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
@@ -923,51 +820,7 @@ let string_of_single_tuple ?(len = 1024) x =
let read_single_tuple = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Single_tuple" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- fun p lb ->
- Yojson.Safe.read_space p lb;
- let std_tuple = Yojson.Safe.start_any_tuple p lb in
- let len = ref 0 in
- let end_of_tuple = ref false in
- (try
- let x0 =
- let x =
- (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- incr len;
- (try
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- with Yojson.End_of_tuple -> end_of_tuple := true);
- x
- in
- if not !end_of_tuple then (
- try
- while true do
- Yojson.Safe.skip_json p lb;
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- done
- with Yojson.End_of_tuple -> ()
- );
- (x0)
- with Yojson.End_of_tuple ->
- Atdgen_runtime.Oj_run.missing_tuple_fields p !len [ 0 ]);
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Single_tuple x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
@@ -1096,84 +949,7 @@ let string_of__unit_simple_var ?(len = 1024) x =
let read__unit_simple_var = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Foo" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- fun p lb ->
- Yojson.Safe.read_space p lb;
- let std_tuple = Yojson.Safe.start_any_tuple p lb in
- let len = ref 0 in
- let end_of_tuple = ref false in
- (try
- let x0 =
- let x =
- (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- incr len;
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- x
- in
- let x1 =
- let x =
- (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- incr len;
- (try
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- with Yojson.End_of_tuple -> end_of_tuple := true);
- x
- in
- if not !end_of_tuple then (
- try
- while true do
- Yojson.Safe.skip_json p lb;
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- done
- with Yojson.End_of_tuple -> ()
- );
- (x0, x1)
- with Yojson.End_of_tuple ->
- Atdgen_runtime.Oj_run.missing_tuple_fields p !len [ 0; 1 ]);
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Foo x
- | "Bar" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Bar
- | "Foobar" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_null
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Foobar x
- | "Foo_id" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_id
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Foo_id x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "Bar" ->
@@ -1334,84 +1110,7 @@ let string_of_simple_var write__a ?(len = 1024) x =
let read_simple_var read__a = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Foo" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- fun p lb ->
- Yojson.Safe.read_space p lb;
- let std_tuple = Yojson.Safe.start_any_tuple p lb in
- let len = ref 0 in
- let end_of_tuple = ref false in
- (try
- let x0 =
- let x =
- (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- incr len;
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- x
- in
- let x1 =
- let x =
- (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- incr len;
- (try
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- with Yojson.End_of_tuple -> end_of_tuple := true);
- x
- in
- if not !end_of_tuple then (
- try
- while true do
- Yojson.Safe.skip_json p lb;
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_tuple_sep2 p std_tuple lb;
- done
- with Yojson.End_of_tuple -> ()
- );
- (x0, x1)
- with Yojson.End_of_tuple ->
- Atdgen_runtime.Oj_run.missing_tuple_fields p !len [ 0; 1 ]);
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Foo x
- | "Bar" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Bar
- | "Foobar" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read__a
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Foobar x
- | "Foo_id" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_id
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Foo_id x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "Bar" ->
@@ -2749,30 +2448,7 @@ let read_adapted = (
Atdgen_runtime.Oj_run.read_with_adapter Atdgen_codec_runtime.Json_adapter.Type_field.normalize (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_a
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `A x
- | "B" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_b
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `B x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| x ->
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 21a5fc4..9c3659d 100644
--- a/_build/default/atdgen/test/testjstd_j.expected.ml
+++ b/_build/default/atdgen/test/testjstd_j.ml
@@ -197,34 +197,7 @@ and string_of_p' write__a ?(len = 1024) x =
let rec read_p' read__a = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (A : 'a p')
- | "Bb" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_p' read__a
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Bb x : 'a p')
- | "Ccccc" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read__a
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Ccccc x : 'a p')
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "A" ->
@@ -318,29 +291,7 @@ and string_of_r ?(len = 1024) x =
let rec read_p = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `A
- | "B" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_r
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `B x
- | "C" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `C
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "A" ->
@@ -554,43 +505,7 @@ and _test_variant_list_of_string s =
and read_test_variant = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Case1" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Case1
- | "Case2" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Case2 x
- | "Case3" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Case3 x
- | "Case4" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read__test_variant_list
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Case4 x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "Case1" ->
@@ -663,34 +578,7 @@ and string_of__int_p ?(len = 1024) x =
let rec read__int_p = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (A : _ p')
- | "Bb" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read__int_p
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Bb x : _ p')
- | "Ccccc" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Ccccc x : _ p')
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "A" ->
@@ -768,25 +656,7 @@ and string_of_poly write__x write__y ?(len = 1024) x =
let rec read__a_b_poly_option read__a read__b = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_poly read__a read__b
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1098,25 +968,7 @@ let string_of__val1_option ?(len = 1024) x =
let read__val1_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_val1
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1482,25 +1334,7 @@ let string_of__string_option ?(len = 1024) x =
let read__string_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1555,25 +1389,7 @@ let string_of__int_option ?(len = 1024) x =
let read__int_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1612,25 +1428,7 @@ let string_of__float_option ?(len = 1024) x =
let read__float_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_number
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1669,25 +1467,7 @@ let string_of__bool_option ?(len = 1024) x =
let read__bool_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_bool
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -3628,25 +3408,7 @@ let string_of__x_bee1b88 ?(len = 1024) x =
let read__x_bee1b88 = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -3933,25 +3695,7 @@ let string_of_hello ?(len = 1024) x =
let read_hello = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Hello" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Hello x
- | "World" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `World
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "World" ->
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 a99920c..74ba600 100644
--- a/_build/default/atdgen/test/testj.expected.ml
+++ b/_build/default/atdgen/test/testj.ml
@@ -197,34 +197,7 @@ and string_of_p' write__a ?(len = 1024) x =
let rec read_p' read__a = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (A : 'a p')
- | "Bb" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_p' read__a
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Bb x : 'a p')
- | "Ccccc" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read__a
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Ccccc x : 'a p')
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "A" ->
@@ -318,29 +291,7 @@ and string_of_r ?(len = 1024) x =
let rec read_p = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `A
- | "B" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_r
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `B x
- | "C" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `C
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "A" ->
@@ -558,43 +509,7 @@ and _test_variant_list_of_string s =
and read_test_variant = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Case1" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Case1
- | "Case2" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Case2 x
- | "Case3" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Case3 x
- | "Case4" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read__test_variant_list
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Case4 x
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "Case1" ->
@@ -667,34 +582,7 @@ and string_of__int_p ?(len = 1024) x =
let rec read__int_p = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "A" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (A : _ p')
- | "Bb" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read__int_p
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Bb x : _ p')
- | "Ccccc" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Ccccc x : _ p')
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "A" ->
@@ -772,25 +660,7 @@ and string_of_poly write__x write__y ?(len = 1024) x =
let rec read__a_b_poly_option read__a read__b = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- read_poly read__a read__b
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1112,25 +982,7 @@ let string_of__val1_option ?(len = 1024) x =
let read__val1_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.readuntil_field_value p lb;
- let x = (
- read_val1
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1500,25 +1352,7 @@ let string_of__string_option ?(len = 1024) x =
let read__string_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1573,25 +1407,7 @@ let string_of__int_option ?(len = 1024) x =
let read__int_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1630,25 +1446,7 @@ let string_of__float_option ?(len = 1024) x =
let read__float_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_number
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -1687,25 +1485,7 @@ let string_of__bool_option ?(len = 1024) x =
let read__bool_option = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_bool
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -3684,25 +3464,7 @@ let string_of__x_bee1b88 ?(len = 1024) x =
let read__x_bee1b88 = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "None" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (None : _ option)
- | "Some" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_int
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- (Some x : _ option)
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "None" ->
@@ -3989,25 +3751,7 @@ let string_of_hello ?(len = 1024) x =
let read_hello = (
fun p lb ->
Yojson.Safe.read_space p lb;
- match Yojson.Safe.start_any_variant p lb with
- | `Edgy_bracket -> (
- match Yojson.Safe.read_ident p lb with
- | "Hello" ->
- Atdgen_runtime.Oj_run.read_until_field_value p lb;
- let x = (
- Atdgen_runtime.Oj_run.read_string
- ) p lb
- in
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `Hello x
- | "World" ->
- Yojson.Safe.read_space p lb;
- Yojson.Safe.read_gt p lb;
- `World
- | x ->
- Atdgen_runtime.Oj_run.invalid_variant_tag p x
- )
+ match Atdgen_runtime.Yojson_extra.start_any_variant p lb with
| `Double_quote -> (
match Yojson.Safe.finish_string p lb with
| "World" ->
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/melange/dune", lines 48-51, characters 0-85:
48 | (rule
49 | (alias runtest)
50 | (package atdgen)
51 | (action (run ./melangespec_roundtrip.exe)))
(cd _build/default/atdgen/test/melange && ./melangespec_roundtrip.exe)
encode list open enum: Roundtrip failed.
Have:[ "Alpha", "other" ]
Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 1-19:\nExpected '\"' or '[' but found '<\"Alpha\">,\"other\"]'")
backtrace:
encode adapted variant b: Roundtrip failed.
Have:[ "B", { "thing": 1 } ]
Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 0-17:\nExpected '\"' or '[' but found '<\"B\":{\"thing\":1}>'")
backtrace:
encode adapted variant a: Roundtrip failed.
Have:[ "A", { "other_thing": false, "thing": "thing" } ]
Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 0-34:\nExpected '\"' or '[' but found '<\"A\":{\"other_thing\":false,\"thing\"'")
backtrace:
encode 1 tuple: Roundtrip failed.
Have:[ "Single_tuple", [ 123 ] ]
Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 0-22:\nExpected '\"' or '[' but found '<\"Single_tuple\":(123)>'")
backtrace:
encode variant: Roundtrip failed.
Have:[
[ "Foo", [ 123, 456 ] ], "Bar", [ "Foobar", null ], [ "Foo_id", "testing" ]
]
Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 1-35:\nExpected '\"' or '[' but found '<\"Foo\":(123,456)>,<\"Bar\">,<\"Fooba'")
backtrace:
(cd _build/default/atdgen/test && ./test_atdgen_main.exe)
Testing `atdgen'.
This run has ID `FNUQC96Y'.
[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.
[OK] 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.
[OK] atdgen 43 generic.
[OK] atdgen 44 inline-records.
Full test results in `/src/_build/default/atdgen/test/_build/_tests/atdgen'.
Test Successful 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
2025-12-09 19:39.11: Job failed: Failed: Build failed