Organisationsrealworldocamlmdx1f83f7 ()(lower-bound)

(lower-bound)

Link Copied
Code Copied

Logs

2025-03-19 18:27.57: New job: test realworldocaml/mdx https://github.com/realworldocaml/mdx.git#refs/heads/main (1f83f73e06233ea8745cd0c9473613d40e6999bc) (linux-x86_64:(lower-bound))
Base: ocaml/opam:debian-12-ocaml-4.08@sha256:a7c06d659921ac2c9eb6cf997eb3a48300686cce5d1aeb393c0eb201644f0112
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/realworldocaml/mdx.git" -b "main" && cd "mdx" && git reset --hard 1f83f73e
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-4.08@sha256:a7c06d659921ac2c9eb6cf997eb3a48300686cce5d1aeb393c0eb201644f0112
# debian-12-4.08_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /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 cb8df6db0195538a02cc2b2eb20e468f22c475a7 || git fetch origin master) && git reset -q --hard cb8df6db0195538a02cc2b2eb20e468f22c475a7 && 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.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.1.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.7 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.2.4.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.0.9.0 uuidm.0.9.6"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --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


2025-03-19 18:27.57: Using cache hint "realworldocaml/mdx-ocaml/opam:debian-12-ocaml-4.08@sha256:a7c06d659921ac2c9eb6cf997eb3a48300686cce5d1aeb393c0eb201644f0112-debian-12-4.08_opam-2.3-4ac5c23a3767c962d7d1e7dff0ce260f"
2025-03-19 18:27.57: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-4.08@sha256:a7c06d659921ac2c9eb6cf997eb3a48300686cce5d1aeb393c0eb201644f0112)
(comment debian-12-4.08_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.3 /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 cb8df6db0195538a02cc2b2eb20e468f22c475a7 || git fetch origin master) && git reset -q --hard cb8df6db0195538a02cc2b2eb20e468f22c475a7 && 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.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.1.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.7 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.2.4.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.0.9.0 uuidm.0.9.6")
(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.3 --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"))
)


2025-03-19 18:27.57: Waiting for resource in pool OCluster
2025-03-19 19:42.51: Waiting for worker…
2025-03-19 19:45.17: Got resource from pool OCluster
Building on asteria.caelum.ci.dev
All commits already cached
HEAD is now at 1f83f73 Merge pull request #463 from samoht/release-2.5


(from ocaml/opam:debian-12-ocaml-4.08@sha256:a7c06d659921ac2c9eb6cf997eb3a48300686cce5d1aeb393c0eb201644f0112)
2025-03-19 19:45.17 ---> using "212a1b8e3ddbfd9f9183e74007cf11c0bf064a0a89cec366fca17516e11ae032" from cache


/: (comment debian-12-4.08_opam-2.3)


/: (user (uid 1000) (gid 1000))


/: (env CLICOLOR_FORCE 1)


/: (env OPAMCOLOR always)


/: (workdir /src)


/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-03-19 19:45.17 ---> using "6a8de9b075dcc27f82d433605e703611d405ed622e825eb0536e35e8c4291c97" 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 development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.


Continue? [y/n] y
[NOTE] The 'jobs' option was reset, its value was 39 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=39 --global
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] Could not update repository "opam-repository-archive": "/usr/bin/git fetch -q" exited with code 128 "fatal: unable to access 'https://github.com/ocaml/opam-repository-archive/': Could not resolve host: github.com"
[default] synchronised from file:///home/opam/opam-repository
2025-03-19 19:45.17 ---> using "76717214a4de65e0bb4ee1b4663aa458f138030270df35be2a5ca5cc8c1ba0ac" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-134-generic
The OCaml toplevel, version 4.08.1
2.3.0
2025-03-19 19:45.17 ---> using "56362d1d7109f7126a6931e72cead5cdcdd42bf22f676323c62a3053e7c00edb" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2025-03-19 19:45.17 ---> using "eaaad40a1abdafdc626a0d8e3d903054d986ec211f47c7d968791c1d0c07486b" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e cb8df6db0195538a02cc2b2eb20e468f22c475a7 || git fetch origin master) && git reset -q --hard cb8df6db0195538a02cc2b2eb20e468f22c475a7 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
a8ed476033..6ccbe63dbf  master     -> origin/master
cb8df6db01 Merge pull request #27631 from dbuenzli/incompatible-cmdliner2


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[opam-repository-archive] synchronised from git+https://github.com/ocaml/opam-repository-archive
[default] synchronised from 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, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-03-19 19:45.17 ---> using "fd3514645d167c883b836383ee81250c9d89b60e5fc6c52dfadb89007e31e612" from cache


/src: (copy (src mdx.opam) (dst ./))
2025-03-19 19:45.17 ---> using "7547a176ed8b01fddcfafd0c90751dab323796c370b17946c3eace4d254cb7cb" from cache


/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)
2025-03-19 19:45.17 ---> using "aa6dfa17fcf82803eb2ec24aa9b32121328582774405c5f7f8d1375f6245b5a3" from cache


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-03-19 19:45.17 ---> using "61761ce6474274f07be3ece54321459f4a62de7c09f4ebc16a4c1b12db775df8" from cache


/src: (env DEPS "alcotest.1.0.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.1.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.7 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.2.4.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.0.9.0 uuidm.0.9.6")


/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.3 --depext-only -y mdx.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [249 kB]
- Fetched 353 kB in 0s (1031 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"
- debconf: delaying package configuration, since apt-utils is not installed
- 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 ... 18745 files and directories currently installed.)
- Preparing to unpack .../archives/m4_1.4.19-3_amd64.deb ...
- Unpacking m4 (1.4.19-3) ...
- Setting up m4 (1.4.19-3) ...
2025-03-19 19:45.24 ---> saved as "639358cf4e7a8dc14c54389d6ac21ffba57173402f31b3a5927bb0cc83581166"


/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.0
- install astring       0.8.2
- install base-bytes    base
- install camlp-streams 5.0.1
- install cmdliner      1.1.0
- install conf-m4       1
- install cppo          1.6.1
- install csexp         1.3.2
- install dune          3.5.0
- install fmt           0.8.7
- 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 2.4.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         0.9.0
- install uuidm         0.9.6


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved astring.0.8.2  (cached)
-> installed conf-m4.1
-> retrieved cmdliner.1.1.0  (cached)
-> retrieved cppo.1.6.1  (cached)
-> retrieved csexp.1.3.2  (cached)
-> retrieved fmt.0.8.7  (cached)
-> retrieved alcotest.1.0.0  (cached)
-> retrieved jbuilder.1.0+beta20.1  (cached)
-> retrieved dune.3.5.0  (cached)
-> retrieved logs.0.7.0  (cached)
-> retrieved lwt.4.2.0  (cached)
-> retrieved mmap.1.0.2  (cached)
-> retrieved ocaml-version.2.4.0  (cached)
-> retrieved ocamlbuild.0.14.0  (cached)
-> retrieved ocamlfind.1.8.0  (cached)
-> installed cmdliner.1.1.0
-> 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.6  (cached)
-> retrieved topkg.0.9.0  (cached)
-> 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 dune.3.5.0
-> installed seq.0.3
-> installed stdlib-shims.0.1.0
-> installed result.1.5
-> installed mmap.1.0.2
-> installed camlp-streams.5.0.1
-> installed ocaml-version.2.4.0
-> installed csexp.1.3.2
-> installed lwt.4.2.0
-> installed topkg.0.9.0
-> installed uuidm.0.9.6
-> installed fmt.0.8.7
-> installed astring.0.8.2
-> installed alcotest.1.0.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)
2025-03-19 19:45.57 ---> saved as "4609a2041be9b81c3ac33ac7a8bdec5dc1a2c32a521042e7f52f7c037c9067e0"


/src: (copy (src .) (dst /src))
2025-03-19 19:45.57 ---> saved as "a16d63d2ef393ec6d2371a687250b87c6aa41280da796f3bd757d6f46115886c"


/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 `64FD3AEC-F1A5-434D-AE51-FD65612BBDC1`.
...                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/64FD3AEC-F1A5-434D-AE51-FD65612BBDC1`.
Test Successful in 0.000s. 56 tests run.
File "test/bin/mdx-test/expect/errors/test-case.md", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/errors/test-case.md _build/default/test/bin/mdx-test/expect/errors.actual
diff --git a/_build/default/test/bin/mdx-test/expect/errors/test-case.md b/_build/default/test/bin/mdx-test/expect/errors.actual
index 4a58736..aef797b 100644
--- a/_build/default/test/bin/mdx-test/expect/errors/test-case.md
+++ b/_build/default/test/bin/mdx-test/expect/errors.actual
@@ -64,7 +64,7 @@ first
Exception: Failure "second".
```


-```ocaml version>=4.08,version<5.3
+```ocaml version>=4.08,version<5.03
# let x =
1 + "42";;
Line 2, characters 7-11:
@@ -72,7 +72,7 @@ Error: This expression has type string but an expression was expected of type
int
```


-```ocaml version>=5.3
+```ocaml version>=5.03
# let x =
1 + "42";;
Line 2, characters 7-11:
File "test/bin/mdx-test/expect/mlt/test-case.md", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/mlt/test-case.md _build/default/test/bin/mdx-test/expect/mlt.actual
diff --git a/_build/default/test/bin/mdx-test/expect/mlt/test-case.md b/_build/default/test/bin/mdx-test/expect/mlt.actual
index 9e31a29..c4c844b 100644
--- a/_build/default/test/bin/mdx-test/expect/mlt/test-case.md
+++ b/_build/default/test/bin/mdx-test/expect/mlt.actual
@@ -30,7 +30,7 @@ Error: This expression has type string but an expression was expected of type
int
```


-```ocaml version>=4.08,version<5.3
+```ocaml version>=4.08,version<5.03
# #require "fmt";;
# let x = 3;;
val x : int = 3
@@ -40,7 +40,7 @@ Error: This expression has type string but an expression was expected of type
int
```


-```ocaml version>=5.3
+```ocaml version>=5.03
# #require "fmt";;
# let x = 3;;
val x : int = 3
File "test/bin/mdx-test/expect/ocaml-errors/test-case.md.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/ocaml-errors/test-case.md.expected _build/default/test/bin/mdx-test/expect/ocaml-errors.actual
diff --git a/_build/default/test/bin/mdx-test/expect/ocaml-errors/test-case.md.expected b/_build/default/test/bin/mdx-test/expect/ocaml-errors.actual
index a6684e6..41aad14 100644
--- a/_build/default/test/bin/mdx-test/expect/ocaml-errors/test-case.md.expected
+++ b/_build/default/test/bin/mdx-test/expect/ocaml-errors.actual
@@ -14,7 +14,7 @@ Error: This 'struct' might be unmatched
```


-```ocaml version>=5.2
+```ocaml version>=5.02
module Counter: Irmin.Contents.S with type t = int64 = struct
type t = int64
let t = Irmin.Type.int64
File "test/bin/mdx-test/expect/ocaml-errors-ellipsis/test-case.md", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis/test-case.md _build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis.actual
diff --git a/_build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis/test-case.md b/_build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis.actual
index 7082069..aac60a8 100644
--- a/_build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis/test-case.md
+++ b/_build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis.actual
@@ -1,6 +1,6 @@
It is possible to use ellipsis (`...`) in the error blocks attached to OCaml blocks, here it is useful as the error message depends on the OCaml version:


-```ocaml version<5.2
+```ocaml version<5.02
module Counter: Irmin.Contents.S with type t = int64 = struct
type t = int64
let t = Irmin.Type.int64
File "test/bin/mdx-test/expect/lines/test-case.md", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/lines/test-case.md _build/default/test/bin/mdx-test/expect/lines.actual
diff --git a/_build/default/test/bin/mdx-test/expect/lines/test-case.md b/_build/default/test/bin/mdx-test/expect/lines.actual
index 87cd105..7d92241 100644
--- a/_build/default/test/bin/mdx-test/expect/lines/test-case.md
+++ b/_build/default/test/bin/mdx-test/expect/lines.actual
@@ -56,7 +56,7 @@ Error: This expression has type string but an expression was expected of type
int
```


-```ocaml version>=4.08,version<5.3
+```ocaml version>=4.08,version<5.03
# let f x = function
| 0 -> 1
| n ->
@@ -66,7 +66,7 @@ Error: This expression has type string but an expression was expected of type
int
```


-```ocaml version>=5.3
+```ocaml version>=5.03
# let f x = function
| 0 -> 1
| n ->
File "test/bin/mdx-test/expect/simple-mld/test-case.mld", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/simple-mld/test-case.mld _build/default/test/bin/mdx-test/expect/simple-mld.actual
diff --git a/_build/default/test/bin/mdx-test/expect/simple-mld/test-case.mld b/_build/default/test/bin/mdx-test/expect/simple-mld.actual
index ca977bb..0ecc05c 100644
--- a/_build/default/test/bin/mdx-test/expect/simple-mld/test-case.mld
+++ b/_build/default/test/bin/mdx-test/expect/simple-mld.actual
@@ -59,7 +59,7 @@ Indentation test:
val x : int = 1
]}


-{delim@ocaml version<5.3[
+{delim@ocaml version<5.03[
let f = 1 + "2"
]delim[
{err@mdx-error[
@@ -68,7 +68,7 @@ Error: This expression has type string but an expression was expected of type
int
]err}]}


-{delim@ocaml version>=5.3[
+{delim@ocaml version>=5.03[
let f = 1 + "2"
]delim[
{err@mdx-error[
File "test/bin/mdx-test/expect/simple-mli/test-case.mli", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/simple-mli/test-case.mli _build/default/test/bin/mdx-test/expect/simple-mli.actual
diff --git a/_build/default/test/bin/mdx-test/expect/simple-mli/test-case.mli b/_build/default/test/bin/mdx-test/expect/simple-mli.actual
index 85f1551..1c0c41e 100644
--- a/_build/default/test/bin/mdx-test/expect/simple-mli/test-case.mli
+++ b/_build/default/test/bin/mdx-test/expect/simple-mli.actual
@@ -51,7 +51,7 @@ val bar : string
val baz : string


(**
-{@ocaml version<5.3[
+{@ocaml version<5.03[
let f = 1 + "2"
][
{err@mdx-error[
@@ -62,7 +62,7 @@ Error: This expression has type string but an expression was expected of type
*)


(**
-{@ocaml version>=5.3[
+{@ocaml version>=5.03[
let f = 1 + "2"
][
{err@mdx-error[
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-03-19 19:46.00: Job failed: Failed: Build failed