Organisationsrealworldocamlmdx5c97b2 (main)(lower-bound)

(lower-bound)

Link Copied
Code Copied

Logs

2026-01-13 20:19.41: New job: test realworldocaml/mdx https://github.com/realworldocaml/mdx.git#refs/heads/main (5c97b27cf8723d87fd00d350b75e7f32f021c8d6) (linux-x86_64:(lower-bound))
Base: ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/realworldocaml/mdx.git" -b "main" && cd "mdx" && git reset --hard 5c97b27c
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500
# debian-13-4.08_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 2dee2fe30df966714e056f8af164fe0ed7648a63 || git fetch origin master) && git reset -q --hard 2dee2fe30df966714e056f8af164fe0ed7648a63 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 mdx.opam ./
RUN opam pin add -yn mdx.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="alcotest.1.0.1 astring.0.8.3 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.3.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.8 jbuilder.1.0+beta20.1 logs.0.7.0 lwt.4.2.0 mmap.1.0.2 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-version.3.5.0 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 result.1.5 seq.0.3 stdlib-shims.0.1.0 topkg.1.0.8 uuidm.0.9.7"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.5 --depext-only -y mdx.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-01-13 20:19.41: Using cache hint "realworldocaml/mdx-ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500-debian-13-4.08_opam-2.5-96318ef601cf6cf55e5e2e17f9a7acd0"
2026-01-13 20:19.41: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500)
(comment debian-13-4.08_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 2dee2fe30df966714e056f8af164fe0ed7648a63 || git fetch origin master) && git reset -q --hard 2dee2fe30df966714e056f8af164fe0ed7648a63 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src mdx.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn mdx.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "alcotest.1.0.1 astring.0.8.3 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.3.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.8 jbuilder.1.0+beta20.1 logs.0.7.0 lwt.4.2.0 mmap.1.0.2 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-version.3.5.0 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 result.1.5 seq.0.3 stdlib-shims.0.1.0 topkg.1.0.8 uuidm.0.9.7")
(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 mdx.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-01-13 20:19.41: Waiting for resource in pool OCluster
2026-01-13 23:12.26: Waiting for worker…
2026-01-13 23:14.59: Got resource from pool OCluster
Building on eumache
All commits already cached
HEAD is now at 5c97b27 Merge pull request #472 from jonludlam/release-2.5.1


(from ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500)
Unable to find image 'ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500' locally
docker.io/ocaml/opam@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500: Pulling from ocaml/opam
281b80c799de: Already exists
00fc4ac50d5e: Already exists
7dc48a314bea: Already exists
8f654937f9e3: Already exists
1240f6fbe8cc: Already exists
f77f967230a1: Already exists
1b4ac3d9a8c2: Already exists
27b61414175d: Already exists
26fabf9b20e0: Already exists
b4426e2c299b: Already exists
9c12df827e83: Already exists
9a5608646906: Already exists
2a83342677ae: Already exists
5cbaedd36b85: Already exists
750a9830ac77: Already exists
400560080670: Already exists
bad13195b6fa: Already exists
b51fe78b498e: Already exists
185ce27e889b: Already exists
8a483dc1e759: Already exists
4de9d6d54a13: Already exists
0c268a22c8a0: Already exists
4f4fb700ef54: Already exists
e61881bc2621: Already exists
c864a4af1ff0: Already exists
42d012f62ad9: Already exists
ccb2ed78fa2e: Already exists
84c22434b2f6: Already exists
18c972827b32: Already exists
4c6dcdff9e80: Already exists
280bf9d33ca6: Already exists
51ce8c29753c: Already exists
5ac80663b9d2: Already exists
93f877c915e3: Already exists
8573ccc6bb69: Already exists
d26192cd75ec: Already exists
c7cce15b715e: Already exists
c998ca7b5976: Already exists
3cd1b61d806b: Already exists
19a26ec5319e: Already exists
b1f6813045f3: Already exists
7a2b7a29296d: Already exists
94a0ebb2d223: Already exists
1c7f29f6d19a: Already exists
1493b442f343: Already exists
Digest: sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500
Status: Downloaded newer image for ocaml/opam@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500
2026-01-13 23:14.59 ---> using "4c1f60dc0cc5644c6a4c05cf3315bdbf9cc478b70e443b212a1220385bab8bba" from cache


/: (comment debian-13-4.08_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-01-13 23:14.59 ---> using "92dd4fc960da195cf8060e96ee0990af7318cc2673fac9df60b7fa438452988b" 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
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-01-13 23:14.59 ---> using "aabd502144a2d34da48b540ca016cfc216bbcccbb82cd54dc1dbcd4eab0c47c4" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-131-generic
The OCaml toplevel, version 4.08.1
2.5.0
2026-01-13 23:14.59 ---> using "2f5f566f7e806252bb5a6fcdcbd8b7bc314413458c854c3595c5ff2a71173bde" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2026-01-13 23:14.59 ---> using "b86df431ec01f8f97d0c50a8e2cdd966fd4d0009325244e611106efcf1f13127" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 2dee2fe30df966714e056f8af164fe0ed7648a63 || git fetch origin master) && git reset -q --hard 2dee2fe30df966714e056f8af164fe0ed7648a63 && git log --no-decorate -n1 --oneline && opam update -u"))
2dee2fe30d Merge pull request #29195 from raphael-proust/lwt-fix-ocamlfind-dep-constraint


<><> 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.4.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-01-13 23:14.59 ---> using "68ea3874e4e9c20398c7d244b530fbac16c11786e5ad35a14ddea99f36c6b351" from cache


/src: (copy (src mdx.opam) (dst ./))
2026-01-13 23:14.59 ---> saved as "af672f7f6e72afe0c34e57e6514a35c3da385ff55982fd93bcb8648f13214218"


/src: (run (network host)
(shell "opam pin add -yn mdx.dev './'"))
[mdx.dev] synchronised (file:///src)
mdx is now pinned to file:///src (version dev)
2026-01-13 23:15.02 ---> saved as "1942472aafe6fbf7fde18764a59a697d1301924cea22cf76d67680223bcad490"


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2026-01-13 23:15.02 ---> saved as "17ee3d372a1abc701c17212ba9eadf9b35d555fba2d25e92c41592d1a64fdcb3"


/src: (env DEPS "alcotest.1.0.1 astring.0.8.3 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.3.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.8 jbuilder.1.0+beta20.1 logs.0.7.0 lwt.4.2.0 mmap.1.0.2 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-version.3.5.0 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 result.1.5 seq.0.3 stdlib-shims.0.1.0 topkg.1.0.8 uuidm.0.9.7")


/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 mdx.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 amd64 Packages [9670 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [95.5 kB]
- Fetched 9997 kB in 2s (6002 kB/s)
- Reading package lists...
- 


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[mdx.dev] synchronised (file:///src)


[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1).
[NOTE] Package ocaml is already installed (current version is 4.08.1).
[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:
m4


<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>


+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "m4"
- Selecting previously unselected package m4.
- (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 ... 20622 files and directories currently installed.)
- Preparing to unpack .../archives/m4_1.4.19-8_amd64.deb ...
- Unpacking m4 (1.4.19-8) ...
- Setting up m4 (1.4.19-8) ...
# To update the current shell environment, run: eval $(opam env)
2026-01-13 23:15.28 ---> saved as "17f0eb75dc5f222cf2bc8a24a6eadf5b68eed6c4c2ef35b20aa357896434f629"


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1).
[NOTE] Package ocaml is already installed (current version is 4.08.1).
[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 23 packages
- install alcotest      1.0.1
- install astring       0.8.3
- install base-bytes    base
- install camlp-streams 5.0.1
- install cmdliner      1.3.0
- install conf-m4       1
- install cppo          1.6.1
- install csexp         1.3.2
- install dune          3.5.0
- install fmt           0.8.8
- install jbuilder      1.0+beta20.1 (deprecated)
- install logs          0.7.0
- install lwt           4.2.0
- install mmap          1.0.2
- install ocaml-version 3.5.0
- install ocamlbuild    0.14.0
- install ocamlfind     1.8.0
- install re            1.7.2
- install result        1.5
- install seq           0.3
- install stdlib-shims  0.1.0
- install topkg         1.0.8
- install uuidm         0.9.7


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.0.1  (cached)
-> retrieved astring.0.8.3  (cached)
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved cppo.1.6.1  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> installed conf-m4.1
-> retrieved csexp.1.3.2  (cached)
-> retrieved fmt.0.8.8  (cached)
-> retrieved logs.0.7.0  (cached)
-> retrieved lwt.4.2.0  (cached)
-> retrieved mmap.1.0.2  (cached)
-> retrieved ocaml-version.3.5.0  (cached)
-> retrieved ocamlbuild.0.14.0  (cached)
-> retrieved jbuilder.1.0+beta20.1  (cached)
-> retrieved ocamlfind.1.8.0  (cached)
-> retrieved dune.3.5.0  (cached)
-> retrieved re.1.7.2  (cached)
-> retrieved result.1.5  (cached)
-> retrieved seq.0.3  (cached)
-> retrieved stdlib-shims.0.1.0  (cached)
-> retrieved uuidm.0.9.7  (cached)
-> retrieved topkg.1.0.8  (cached)
-> installed cmdliner.1.3.0
-> installed ocamlfind.1.8.0
-> installed base-bytes.base
-> installed ocamlbuild.0.14.0
-> installed jbuilder.1.0+beta20.1
-> installed cppo.1.6.1
-> installed re.1.7.2
-> installed topkg.1.0.8
-> installed uuidm.0.9.7
-> installed astring.0.8.3
-> installed dune.3.5.0
-> installed seq.0.3
-> installed result.1.5
-> installed mmap.1.0.2
-> installed camlp-streams.5.0.1
-> installed ocaml-version.3.5.0
-> installed stdlib-shims.0.1.0
-> installed csexp.1.3.2
-> installed fmt.0.8.8
-> installed alcotest.1.0.1
-> installed lwt.4.2.0
-> installed logs.0.7.0
Done.


<><> jbuilder.1.0+beta20.1 installed successfully <><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
# To update the current shell environment, run: eval $(opam env)
2026-01-13 23:16.22 ---> saved as "f2515dec4d850b247290aa1aed4c8d5637c804dc7b397e009f9c4805a8b4bb75"


/src: (copy (src .) (dst /src))
2026-01-13 23:16.23 ---> saved as "fe893e7294cacefac035fad7fe9db134a52b1b85d883e522c49d4fd32c73fa4f"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "/home/opam/.opam/4.08/lib/re/re.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/emacs/re.emacs.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/glob/re.glob.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/pcre/re.pcre.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/perl/re.perl.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/posix/re.posix.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/str/re.str.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
(cd _build/default/test/lib && ./test_mdx_lib.exe)
Testing Mdx.
This run has ID `12811F27-6680-451D-A55B-C0D62156460B`.
...                Block           0   Header.infer_from_file: "".
[OK]                Block           0   Header.infer_from_file: "".
...                Block           1   Header.infer_from_file: "foo".
[OK]                Block           1   Header.infer_from_file: "foo".
...                Block           2   Header.infer_from_file: "foo.bar".
[OK]                Block           2   Header.infer_from_file: "foo.bar".
...                Block           3   Header.infer_from_file: "dune".
[OK]                Block           3   Header.infer_from_file: "dune".
...                Block           4   Header.infer_from_file: "dune-project".
[OK]                Block           4   Header.infer_from_file: "dune-project".
...                Block           5   Header.infer_from_file: "foo.sh".
[OK]                Block           5   Header.infer_from_file: "foo.sh".
...                Block           6   Header.infer_from_file: "foo/foo/foo.ml".
[OK]                Block           6   Header.infer_from_file: "foo/foo/foo.ml".
...                Block           7   mk: "invalid ocaml".
[OK]                Block           7   mk: "invalid ocaml".
...                Block           8   mk: "invalid toplevel".
[OK]                Block           8   mk: "invalid toplevel".
...                Label           0   raw_parse: "".
[OK]                Label           0   raw_parse: "".
...                Label           1   raw_parse: "foo=".
[OK]                Label           1   raw_parse: "foo=".
...                Label           2   raw_parse: "foo<>bar".
[OK]                Label           2   raw_parse: "foo<>bar".
...                Label           3   raw_parse: "<bar".
[OK]                Label           3   raw_parse: "<bar".
...                Label           4   raw_parse: "foo<=bar".
[OK]                Label           4   raw_parse: "foo<=bar".
...                Label           5   raw_parse: "foo>bar".
[OK]                Label           5   raw_parse: "foo>bar".
...                Label           6   raw_parse: ">=".
[OK]                Label           6   raw_parse: ">=".
...                Label           7   raw_parse: "FOO_BAR=foo_bar".
[OK]                Label           7   raw_parse: "FOO_BAR=foo_bar".
...                Label           8   interpret: "".
[OK]                Label           8   interpret: "".
...                Label           9   interpret: "foo".
[OK]                Label           9   interpret: "foo".
...                Label          10   interpret: "skip".
[OK]                Label          10   interpret: "skip".
...                Label          11   interpret: "skip".
[OK]                Label          11   interpret: "skip".
...                Label          12   interpret: "version".
[OK]                Label          12   interpret: "version".
...                Label          13   interpret: "non-deterministic".
[OK]                Label          13   interpret: "non-deterministic".
...                Label          14   interpret: "dir".
[OK]                Label          14   interpret: "dir".
...                Label          15   interpret: "set-foo".
[OK]                Label          15   interpret: "set-foo".
...                Label          16   of_string: "".
[OK]                Label          16   of_string: "".
...                Label          17   of_string: ",".
[OK]                Label          17   of_string: ",".
...                Label          18   of_string: "skip,".
[OK]                Label          18   of_string: "skip,".
...                Label          19   of_string: "skip,file=foo.ml".
[OK]                Label          19   of_string: "skip,file=foo.ml".
...                Dep             0   of_block: "Empty".
[OK]                Dep             0   of_block: "Empty".
...                Dep             1   of_block: "file:toto.ml".
[OK]                Dep             1   of_block: "file:toto.ml".
...                Dep             2   of_block: "dir:tata/".
[OK]                Dep             2   of_block: "dir:tata/".
...                Dep             3   of_block: "dir=tata/,skip".
[OK]                Dep             3   of_block: "dir=tata/,skip".
...                Dep             4   of_line: "block: file=tikitaka.ml".
[OK]                Dep             4   of_line: "block: file=tikitaka.ml".
...                Dep             5   of_line: "skip + file + dir".
[OK]                Dep             5   of_line: "skip + file + dir".
...                Dep             6   to_sexp: file.
[OK]                Dep             6   to_sexp: file.
...                Dep             7   to_sexp: dir.
[OK]                Dep             7   to_sexp: dir.
...                Syntax          0   infer: "".
[OK]                Syntax          0   infer: "".
...                Syntax          1   infer: "test.md".
[OK]                Syntax          1   infer: "test.md".
...                Syntax          2   infer: "test.t".
[OK]                Syntax          2   infer: "test.t".
...                Syntax          3   infer: "test.ml".
[OK]                Syntax          3   infer: "test.ml".
...                Syntax          4   infer: "test.mli".
[OK]                Syntax          4   infer: "test.mli".
...                Syntax          5   infer: "no_ext".
[OK]                Syntax          5   infer: "no_ext".
...                Util            0   String.english_conjonction: single.
[OK]                Util            0   String.english_conjonction: single.
...                Util            1   String.english_conjonction: two.
[OK]                Util            1   String.english_conjonction: two.
...                Util            2   String.english_conjonction: three.
[OK]                Util            2   String.english_conjonction: three.
...                Util            3   String.english_conjonction: more.
[OK]                Util            3   String.english_conjonction: more.
...                Parts           0   parse: "".
[OK]                Parts           0   parse: "".
...                Parts           1   parse: "foo".
[OK]                Parts           1   parse: "foo".
...                Parts           2   parse: "    (* $MDX part-begin=bar *)    ".
[OK]                Parts           2   parse: "    (* $MDX part-begin=bar *)    ".
...                Parts           3   parse: "(* $MDX part-begin=bar     ".
[OK]                Parts           3   parse: "(* $MDX part-begin=bar     ".
...                Parts           4   parse: "   (* $MDX part-end   *)   ".
[OK]                Parts           4   parse: "   (* $MDX part-end   *)   ".
...                Parts           5   parse: "    [@@@part \"foobar\"]    ".
[OK]                Parts           5   parse: "    [@@@part \"foobar\"]    ".
...                Parts           6   parse: "[@@@foo \"bar\"]".
[OK]                Parts           6   parse: "[@@@foo \"bar\"]".
...                Parts           7   parse: "(* $MDX foo *)".
[OK]                Parts           7   parse: "(* $MDX foo *)".
...                Parts           8   parse: "(* $MDX part-end=foo *)".
[OK]                Parts           8   parse: "(* $MDX part-end=foo *)".
The full test results are available in `/src/_build/default/test/lib/_build/_tests/12811F27-6680-451D-A55B-C0D62156460B`.
Test Successful in 0.000s. 56 tests run.
2026-01-13 23:16.28 ---> saved as "34609f923f9f4d282bea4a6251ac502ea629d6ce7b1c820424b63d5483303a96"
Job succeeded
2026-01-13 23:16.29: Job succeeded