Organisationsocaml-ppxocamlformatc6c247 (main)alpine-3.22-5.3_opam-2.4

alpine-3.22-5.3_opam-2.4

Link Copied
Code Copied

Logs

2025-10-02 01:46.55: New job: test ocaml-ppx/ocamlformat https://github.com/ocaml-ppx/ocamlformat.git#refs/heads/main (c6c2477d78cdaa8ccb9fca1fe4b4b052a038df12) (linux-x86_64:alpine-3.22-5.3_opam-2.4)
Base: ocaml/opam:alpine-3.22-ocaml-5.3@sha256:f501424e898b9ffd369a23e97280207e9a7234cff46e3a314f30c7826d92accb
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/ocaml-ppx/ocamlformat.git" -b "main" && cd "ocamlformat" && git reset --hard c6c2477d
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.22-ocaml-5.3@sha256:f501424e898b9ffd369a23e97280207e9a7234cff46e3a314f30c7826d92accb
# alpine-3.22-5.3_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 f0e79555a122d396c3443ee754a7ea05991c000d || git fetch origin master) && git reset -q --hard f0e79555a122d396c3443ee754a7ea05991c000d && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 ocamlformat.opam ocamlformat-rpc-lib.opam ocamlformat-lib.opam ocamlformat-bench.opam ./
RUN opam pin add -yn ocamlformat.dev './' && \
opam pin add -yn ocamlformat-rpc-lib.dev './' && \
opam pin add -yn ocamlformat-lib.dev './' && \
opam pin add -yn ocamlformat-bench.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="alcotest.1.9.1 astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bechamel.0.5.0 camlp-streams.5.0.1 cmdliner.2.0.0 csexp.1.5.2 dune.3.20.2 dune-build-info.3.20.2 dune-configurator.3.20.2 either.1.0.0 fix.20250919 fmt.0.11.0 fpath.0.7.3 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocp-indent.1.9.0 re.1.14.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 topkg.1.1.0 uucp.17.0.0 uuseg.17.0.0 uutf.1.0.4 yojson.3.0.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.4 --depext-only -y ocamlformat.dev ocamlformat-rpc-lib.dev ocamlformat-lib.dev ocamlformat-bench.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-10-02 01:46.55: Using cache hint "ocaml-ppx/ocamlformat-ocaml/opam:alpine-3.22-ocaml-5.3@sha256:f501424e898b9ffd369a23e97280207e9a7234cff46e3a314f30c7826d92accb-alpine-3.22-5.3_opam-2.4-de70d2394c56b1ab5da1a0237d21e7ea"
2025-10-02 01:46.55: Using OBuilder spec:
((from ocaml/opam:alpine-3.22-ocaml-5.3@sha256:f501424e898b9ffd369a23e97280207e9a7234cff46e3a314f30c7826d92accb)
(comment alpine-3.22-5.3_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 f0e79555a122d396c3443ee754a7ea05991c000d || git fetch origin master) && git reset -q --hard f0e79555a122d396c3443ee754a7ea05991c000d && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src ocamlformat.opam ocamlformat-rpc-lib.opam ocamlformat-lib.opam ocamlformat-bench.opam)
(dst ./))
(run (network host)
(shell  "opam pin add -yn ocamlformat.dev './' && \
\nopam pin add -yn ocamlformat-rpc-lib.dev './' && \
\nopam pin add -yn ocamlformat-lib.dev './' && \
\nopam pin add -yn ocamlformat-bench.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "alcotest.1.9.1 astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bechamel.0.5.0 camlp-streams.5.0.1 cmdliner.2.0.0 csexp.1.5.2 dune.3.20.2 dune-build-info.3.20.2 dune-configurator.3.20.2 either.1.0.0 fix.20250919 fmt.0.11.0 fpath.0.7.3 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocp-indent.1.9.0 re.1.14.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 topkg.1.1.0 uucp.17.0.0 uuseg.17.0.0 uutf.1.0.4 yojson.3.0.0")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.4 --depext-only -y ocamlformat.dev ocamlformat-rpc-lib.dev ocamlformat-lib.dev ocamlformat-bench.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-10-02 01:46.55: Waiting for resource in pool OCluster
2025-10-02 01:46.56: Waiting for worker…
2025-10-02 01:50.23: Got resource from pool OCluster
Building on bremusa.ocamllabs.io
All commits already cached
HEAD is now at c6c2477d Fix quadratic command-line parsing (#2724)


(from ocaml/opam:alpine-3.22-ocaml-5.3@sha256:f501424e898b9ffd369a23e97280207e9a7234cff46e3a314f30c7826d92accb)
2025-10-02 01:50.24 ---> using "8f6725b8b163d90d30de9c8c5e177342b07667db3354753a70bac272bfe2db9a" from cache


/: (comment alpine-3.22-5.3_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-10-02 01:50.24 ---> using "60019b56f0ac74bc487e6a10b94f217078fa011d487a7997fa89d230b8fe3f32" from cache


/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then from built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.


This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.


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


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-10-02 01:50.24 ---> using "c7cb638e7bebf3467944086dced2eb9f0c9b58d22b77655b91aec66202bcf666" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-84-generic
The OCaml toplevel, version 5.3.0
2.4.1
2025-10-02 01:50.24 ---> using "5af03bae8557c8c98fd3e2ecd3885ecd1490b81dcd2aa79041a221f15d3c966b" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2025-10-02 01:50.24 ---> using "5bd0e598f405f99fe9f4df6e79f9f9a0efe772994aa367852a5bf2612bd3eb66" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e f0e79555a122d396c3443ee754a7ea05991c000d || git fetch origin master) && git reset -q --hard f0e79555a122d396c3443ee754a7ea05991c000d && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
bcac5d1731..647158776f  master     -> origin/master
f0e79555a1 Merge pull request #28630 from NathanReb/release-ocp-indent-1.9.0


<><> 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-10-02 01:51.10 ---> saved as "0a2c259f2106d7803a94c76d8f7926e5448c295c05dec5a2b629eeed52371500"


/src: (copy (src ocamlformat.opam ocamlformat-rpc-lib.opam ocamlformat-lib.opam ocamlformat-bench.opam)
(dst ./))
2025-10-02 01:51.11 ---> saved as "026fb4d9090c8ade654f15b6b698461d8c82acb44e8f72b5ecf262d7ed78d698"


/src: (run (network host)
(shell  "opam pin add -yn ocamlformat.dev './' && \
\nopam pin add -yn ocamlformat-rpc-lib.dev './' && \
\nopam pin add -yn ocamlformat-lib.dev './' && \
\nopam pin add -yn ocamlformat-bench.dev './'"))
[ocamlformat.dev] synchronised (file:///src)
ocamlformat is now pinned to file:///src (version dev)
[ocamlformat-rpc-lib.dev] synchronised (file:///src)
ocamlformat-rpc-lib is now pinned to file:///src (version dev)
[ocamlformat-lib.dev] synchronised (file:///src)
ocamlformat-lib is now pinned to file:///src (version dev)
[NOTE] Package ocamlformat-bench does not exist in opam repositories registered in the current switch.
[ocamlformat-bench.dev] synchronised (file:///src)
[WARNING] Failed checks on ocamlformat-bench package definition from source at file:///src:
warning 68: Missing field 'license'
ocamlformat-bench is now pinned to file:///src (version dev)
2025-10-02 01:51.30 ---> saved as "c65bfe2f9a62537a9e9c8f3cafc3bd7035baa203c43b68a4d1ae4826dd8b1525"


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-10-02 01:51.31 ---> saved as "29e247a1c794a96c8a31a480573c4f62c36dfb9f973f395462528524b7258d45"


/src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bechamel.0.5.0 camlp-streams.5.0.1 cmdliner.2.0.0 csexp.1.5.2 dune.3.20.2 dune-build-info.3.20.2 dune-configurator.3.20.2 either.1.0.0 fix.20250919 fmt.0.11.0 fpath.0.7.3 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocp-indent.1.9.0 re.1.14.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 topkg.1.1.0 uucp.17.0.0 uuseg.17.0.0 uutf.1.0.4 yojson.3.0.0")


/src: (env CI true)


/src: (env OCAMLCI true)


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.4 --depext-only -y ocamlformat.dev ocamlformat-rpc-lib.dev ocamlformat-lib.dev ocamlformat-bench.dev $DEPS"))
+ /usr/bin/sudo "apk" "update"
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
- v3.22.1-508-g8f330e62bd4 [https://dl-cdn.alpinelinux.org/alpine/v3.22/main]
- v3.22.1-515-gf7e52346ff3 [https://dl-cdn.alpinelinux.org/alpine/v3.22/community]
- v3.23.0_alpha20250612-7398-g1b9afa1933f [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v3.23.0_alpha20250612-7349-g3cee925efe1 [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v3.23.0_alpha20250612-7374-ge8f25512de9 [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 59299 distinct packages available


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[ocamlformat.dev] synchronised (file:///src)
[ocamlformat-bench.dev] synchronised (file:///src)
[ocamlformat-lib.dev] synchronised (file:///src)
[ocamlformat-rpc-lib.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.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.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).
2025-10-02 01:51.58 ---> saved as "b5542ac45b9314e40d8cff100ea3516fac97f40a3a55d5a4e1f28fc554b3d24d"


/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.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.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 33 packages
- install alcotest                1.9.1
- install astring                 0.8.5
- install base                    v0.17.3
- install bechamel                0.5.0
- install camlp-streams           5.0.1
- install cmdliner                2.0.0
- install csexp                   1.5.2
- install dune                    3.20.2
- install dune-build-info         3.20.2
- install dune-configurator       3.20.2
- install either                  1.0.0
- install fix                     20250919
- install fmt                     0.11.0
- install fpath                   0.7.3
- install menhir                  20250912
- install menhirCST               20250912
- install menhirLib               20250912
- install menhirSdk               20250912
- install ocaml-syntax-shims      1.0.0
- install ocaml-version           4.0.1
- install ocaml_intrinsics_kernel v0.17.1
- install ocamlbuild              0.16.1
- install ocamlfind               1.9.8
- install ocp-indent              1.9.0
- install re                      1.14.0
- install sexplib0                v0.17.0
- install stdio                   v0.17.0
- install stdlib-shims            0.3.0
- install topkg                   1.1.0
- install uucp                    17.0.0
- install uuseg                   17.0.0
- install uutf                    1.0.4
- install yojson                  3.0.0


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved base.v0.17.3  (cached)
-> retrieved bechamel.0.5.0  (cached)
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved cmdliner.2.0.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved either.1.0.0  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved fix.20250919  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocaml-version.4.0.1  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved menhir.20250912, menhirCST.20250912, menhirLib.20250912, menhirSdk.20250912  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocp-indent.1.9.0  (cached)
-> retrieved re.1.14.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved dune.3.20.2, dune-build-info.3.20.2, dune-configurator.3.20.2  (cached)
-> retrieved topkg.1.1.0  (cached)
-> retrieved uucp.17.0.0  (cached)
-> retrieved uuseg.17.0.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved yojson.3.0.0  (cached)
-> installed cmdliner.2.0.0
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed topkg.1.1.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed dune.3.20.2
-> installed bechamel.0.5.0
-> installed camlp-streams.5.0.1
-> installed csexp.1.5.2
-> installed either.1.0.0
-> installed fix.20250919
-> installed menhirCST.20250912
-> installed menhirLib.20250912
-> installed menhirSdk.20250912
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml-version.4.0.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed re.1.14.0
-> installed ocp-indent.1.9.0
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed yojson.3.0.0
-> installed dune-build-info.3.20.2
-> installed alcotest.1.9.1
-> installed dune-configurator.3.20.2
-> installed uucp.17.0.0
-> installed uuseg.17.0.0
-> installed base.v0.17.3
-> installed stdio.v0.17.0
-> installed menhir.20250912
Done.


<><> ocp-indent.1.9.0 installed successfully ><><><><><><><><><><><><><><><><><>
=> This package requires additional configuration for use in editors. Install package 'user-setup', or manually:


* for Emacs, add these lines to ~/.emacs:
(add-to-list 'load-path "/home/opam/.opam/5.3/share/emacs/site-lisp")
(require 'ocp-indent)


* for Vim, add this line to ~/.vimrc:
set rtp^="/home/opam/.opam/5.3/share/ocp-indent/vim"
# To update the current shell environment, run: eval $(opam env)
2025-10-02 01:55.14 ---> saved as "760a7c0c6f006670b1197898e9b0ad4064a9f98f9716b6b2e30218c81f3d741b"


/src: (copy (src .) (dst /src))
2025-10-02 01:55.15 ---> saved as "8d7f21aeb20e11cfb7c16e79365ae2aff0f1bfc1f1c88e358118c2b08684e13b"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "test/passing/refs.ahrefs/option.ml.err", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/passing/refs.ahrefs/option.ml.err _build/default/test/passing/refs.ahrefs/option.ml.stderr
diff --git a/_build/default/test/passing/refs.ahrefs/option.ml.err b/_build/default/test/passing/refs.ahrefs/option.ml.stderr
index 9cad5c9..1b9cde2 100644
--- a/_build/default/test/passing/refs.ahrefs/option.ml.err
+++ b/_build/default/test/passing/refs.ahrefs/option.ml.stderr
@@ -20,10 +20,12 @@ File "option.ml", line 28, characters 3-14:
28 | [@@ocamlformat "if-then-else=bad"]
^^^^^^^^^^^
Warning 47 [attribute-payload]: illegal payload for attribute 'ocamlformat'.
-For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical', 'vertical', 'keyword-first' or 'k-r'
+For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical',
+'vertical', 'keyword-first' or 'k-r'


File "option.ml", line 39, characters 14-25:
39 |            [@@ocamlformat "if-then-else=bad"]
^^^^^^^^^^^
Warning 47 [attribute-payload]: illegal payload for attribute 'ocamlformat'.
-For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical', 'vertical', 'keyword-first' or 'k-r'
+For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical',
+'vertical', 'keyword-first' or 'k-r'
File "test/passing/refs.ocamlformat/option.ml.err", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/passing/refs.ocamlformat/option.ml.err _build/default/test/passing/refs.ocamlformat/option.ml.stderr
diff --git a/_build/default/test/passing/refs.ocamlformat/option.ml.err b/_build/default/test/passing/refs.ocamlformat/option.ml.stderr
index 9cad5c9..1b9cde2 100644
--- a/_build/default/test/passing/refs.ocamlformat/option.ml.err
+++ b/_build/default/test/passing/refs.ocamlformat/option.ml.stderr
@@ -20,10 +20,12 @@ File "option.ml", line 28, characters 3-14:
28 | [@@ocamlformat "if-then-else=bad"]
^^^^^^^^^^^
Warning 47 [attribute-payload]: illegal payload for attribute 'ocamlformat'.
-For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical', 'vertical', 'keyword-first' or 'k-r'
+For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical',
+'vertical', 'keyword-first' or 'k-r'


File "option.ml", line 39, characters 14-25:
39 |            [@@ocamlformat "if-then-else=bad"]
^^^^^^^^^^^
Warning 47 [attribute-payload]: illegal payload for attribute 'ocamlformat'.
-For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical', 'vertical', 'keyword-first' or 'k-r'
+For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical',
+'vertical', 'keyword-first' or 'k-r'
(cd _build/default/test/unit && ./test_unit.exe)
Testing `ocamlformat'.
This run has ID `2ACVU3OZ'.


................................................................................
................................................................................
............................................


File "test/passing/refs.default/option.ml.err", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/passing/refs.default/option.ml.err _build/default/test/passing/refs.default/option.ml.stderr
diff --git a/_build/default/test/passing/refs.default/option.ml.err b/_build/default/test/passing/refs.default/option.ml.stderr
index 9cad5c9..1b9cde2 100644
--- a/_build/default/test/passing/refs.default/option.ml.err
+++ b/_build/default/test/passing/refs.default/option.ml.stderr
@@ -20,10 +20,12 @@ File "option.ml", line 28, characters 3-14:
28 | [@@ocamlformat "if-then-else=bad"]
^^^^^^^^^^^
Warning 47 [attribute-payload]: illegal payload for attribute 'ocamlformat'.
-For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical', 'vertical', 'keyword-first' or 'k-r'
+For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical',
+'vertical', 'keyword-first' or 'k-r'


File "option.ml", line 39, characters 14-25:
39 |            [@@ocamlformat "if-then-else=bad"]
^^^^^^^^^^^
Warning 47 [attribute-payload]: illegal payload for attribute 'ocamlformat'.
-For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical', 'vertical', 'keyword-first' or 'k-r'
+For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical',
+'vertical', 'keyword-first' or 'k-r'
File "test/passing/refs.janestreet/option.ml.err", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/passing/refs.janestreet/option.ml.err _build/default/test/passing/refs.janestreet/option.ml.stderr
diff --git a/_build/default/test/passing/refs.janestreet/option.ml.err b/_build/default/test/passing/refs.janestreet/option.ml.stderr
index 9cad5c9..1b9cde2 100644
--- a/_build/default/test/passing/refs.janestreet/option.ml.err
+++ b/_build/default/test/passing/refs.janestreet/option.ml.stderr
@@ -20,10 +20,12 @@ File "option.ml", line 28, characters 3-14:
28 | [@@ocamlformat "if-then-else=bad"]
^^^^^^^^^^^
Warning 47 [attribute-payload]: illegal payload for attribute 'ocamlformat'.
-For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical', 'vertical', 'keyword-first' or 'k-r'
+For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical',
+'vertical', 'keyword-first' or 'k-r'


File "option.ml", line 39, characters 14-25:
39 |            [@@ocamlformat "if-then-else=bad"]
^^^^^^^^^^^
Warning 47 [attribute-payload]: illegal payload for attribute 'ocamlformat'.
-For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical', 'vertical', 'keyword-first' or 'k-r'
+For option "if-then-else": invalid value 'bad', expected one of 'compact', 'fit-or-vertical',
+'vertical', 'keyword-first' or 'k-r'
File "test/cli/env.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/cli/env.t _build/default/test/cli/env.t.corrected
diff --git a/_build/default/test/cli/env.t b/_build/default/test/cli/env.t.corrected
index 0a85c1a..d02c213 100644
--- a/_build/default/test/cli/env.t
+++ b/_build/default/test/cli/env.t.corrected
@@ -1,13 +1,14 @@
Invalid option:


$ echo 'let x = 1' | OCAMLFORMAT="unknown=true" ocamlformat --impl -
-  ocamlformat: Error while parsing OCAMLFORMAT environment variable:
-               Unknown option "unknown"
+  ocamlformat: Error while parsing OCAMLFORMAT environment variable: Unknown
+               option "unknown"
[1]


Invalid value:


$ echo 'let x = 1' | OCAMLFORMAT="type-decl=unknown" ocamlformat --impl -
-  ocamlformat: Error while parsing OCAMLFORMAT environment variable:
-               For option "type-decl": invalid value 'unknown', expected either 'compact' or 'sparse'
+  ocamlformat: Error while parsing OCAMLFORMAT environment variable: For option
+               "type-decl": invalid value 'unknown', expected either 'compact'
+               or 'sparse'
[1]
File "test/cli/conf.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/cli/conf.t _build/default/test/cli/conf.t.corrected
diff --git a/_build/default/test/cli/conf.t b/_build/default/test/cli/conf.t.corrected
index 338916a..77ba250 100644
--- a/_build/default/test/cli/conf.t
+++ b/_build/default/test/cli/conf.t.corrected
@@ -14,8 +14,10 @@ Invalid version:
Exit code is printed by hand because sed succeeding would hide the error.


$ (<a.ml ocamlformat --impl -; echo [$?]) 2>&1 | sed 's/version is "[^"]*"/version is "..."/g'
-  ocamlformat: Error while parsing $TESTCASE_ROOT/prj/.ocamlformat:
-               Project should be formatted using ocamlformat version "bad", but the installed version is "..."
+  ocamlformat: Error while parsing
+               $TESTCASE_ROOT/prj/.ocamlformat:
+               Project should be formatted using ocamlformat version "bad", but
+               the installed version is "..."
[1]


Disable version check:
@@ -28,7 +30,8 @@ Invalid syntax in .ocamlformat file:


$ echo 'a = b = c' > .ocamlformat
$ echo 'let x = 1"' | ocamlformat --impl -
-  ocamlformat: Error while parsing $TESTCASE_ROOT/prj/.ocamlformat:
+  ocamlformat: Error while parsing
+               $TESTCASE_ROOT/prj/.ocamlformat:
Invalid format "a = b = c"
[1]


@@ -36,7 +39,8 @@ Invalid option:


$ echo 'unknown_option = true' > .ocamlformat
$ echo 'let x = 1' | ocamlformat --impl -
-  ocamlformat: Error while parsing $TESTCASE_ROOT/prj/.ocamlformat:
+  ocamlformat: Error while parsing
+               $TESTCASE_ROOT/prj/.ocamlformat:
Unknown option "unknown_option"
[1]


@@ -44,14 +48,20 @@ Invalid option (short negated form):


$ echo 'no-wrap-comments' > .ocamlformat
$ echo 'let x = 1' | ocamlformat --impl -
-  ocamlformat: Error while parsing $TESTCASE_ROOT/prj/.ocamlformat:
-               Unknown option "no-wrap-comments": "no-wrap-comments" is the short form for "wrap-comments=false". It is only accepted on command line, please use "wrap-comments=false" or "wrap-comments=true" instead.
+  ocamlformat: Error while parsing
+               $TESTCASE_ROOT/prj/.ocamlformat:
+               Unknown option "no-wrap-comments": "no-wrap-comments" is the
+               short form for "wrap-comments=false". It is only accepted on
+               command line, please use "wrap-comments=false" or
+               "wrap-comments=true" instead.
[1]


Invalid value:


$ echo 'field-space = unknown_value' > .ocamlformat
$ echo 'let x = 1' | ocamlformat --impl -
-  ocamlformat: Error while parsing $TESTCASE_ROOT/prj/.ocamlformat:
-               For option "field-space": invalid value 'unknown_value', expected one of 'loose', 'tight' or 'tight-decl'
+  ocamlformat: Error while parsing
+               $TESTCASE_ROOT/prj/.ocamlformat:
+               For option "field-space": invalid value 'unknown_value',
+               expected one of 'loose', 'tight' or 'tight-decl'
[1]
File "test/cli/removed_option.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/cli/removed_option.t _build/default/test/cli/removed_option.t.corrected
diff --git a/_build/default/test/cli/removed_option.t b/_build/default/test/cli/removed_option.t.corrected
index 9347cd6..91adf54 100644
--- a/_build/default/test/cli/removed_option.t
+++ b/_build/default/test/cli/removed_option.t.corrected
@@ -3,34 +3,31 @@
Setting a removed option on the command line should display an error message:


$ ocamlformat a.ml --extension-sugar preserve
+  Usage: ocamlformat [--help] [OPTION]… [SRC]…
ocamlformat: option '--extension-sugar': This option has been removed in
version 0.17. Concrete syntax will now always be preserved.
-  Usage: ocamlformat [OPTION]… [SRC]…
-  Try 'ocamlformat --help' for more information.
[1]


$ ocamlformat a.ml --let-open preserve
+  Usage: ocamlformat [--help] [OPTION]… [SRC]…
ocamlformat: option '--let-open': This option has been removed in version
0.17. Concrete syntax will now always be preserved.
-  Usage: ocamlformat [OPTION]… [SRC]…
-  Try 'ocamlformat --help' for more information.
[1]


$ ocamlformat a.ml --escape-chars preserve
+  Usage: ocamlformat [--help] [OPTION]… [SRC]…
ocamlformat: option '--escape-chars': This option has been removed in version
0.16. Concrete syntax will now always be preserved.
-  Usage: ocamlformat [OPTION]… [SRC]…
-  Try 'ocamlformat --help' for more information.
[1]


$ ocamlformat a.ml --escape-strings preserve
+  Usage: ocamlformat [--help] [OPTION]… [SRC]…
ocamlformat: option '--escape-strings': This option has been removed in
version 0.16. Concrete syntax will now always be preserved.
-  Usage: ocamlformat [OPTION]… [SRC]…
-  Try 'ocamlformat --help' for more information.
[1]


$ ocamlformat a.ml --doc-comments-val unset
+  Usage: ocamlformat [--help] [OPTION]… [SRC]…
ocamlformat: option '--doc-comments-val': This option has been removed in
version 0.16. If you are using `doc-comments-val=before` in
combination with `doc-comments=before` then only
@@ -46,34 +43,32 @@ Setting a removed option on the command line should display an error message:
the same behavior. If you are using `doc-comments-val=unset` the
same behavior can now be achieved by setting `doc-comments`
only.
-  Usage: ocamlformat [OPTION]… [SRC]…
-  Try 'ocamlformat --help' for more information.
[1]


An error is also reported if a removed option is set in an .ocamlformat file:


$ echo 'escape-chars = preserve' > .ocamlformat
$ ocamlformat a.ml
-  ocamlformat: Error while parsing $TESTCASE_ROOT/.ocamlformat:
-               For option "escape-chars": This option has been removed in version 0.16. Concrete syntax will now always be preserved.
+  ocamlformat: Error while parsing
+               $TESTCASE_ROOT/.ocamlformat:
+               For option "escape-chars": This option has been removed in
+               version 0.16. Concrete syntax will now always be preserved.
[1]


Setting an option to a deprecated value on the command line should also display an error message:


$ ocamlformat a.ml --break-separators=after-and-docked
+  Usage: ocamlformat [--help] [OPTION]… [SRC]…
ocamlformat: option '--break-separators': value `after-and-docked` has been
removed in version 0.12. One can get a similar behaviour by
setting `break-separators=after`, `space-around-lists=false`,
and `dock-collection-brackets=false`.
-  Usage: ocamlformat [OPTION]… [SRC]…
-  Try 'ocamlformat --help' for more information.
[1]


$ ocamlformat a.ml --break-string-literals=wrap
+  Usage: ocamlformat [--help] [OPTION]… [SRC]…
ocamlformat: option '--break-string-literals': value `wrap` has been removed
in version 0.12. It has been replaced by the new default `auto`
value, which breaks lines at newlines and wraps string literals
at the margin.
-  Usage: ocamlformat [OPTION]… [SRC]…
-  Try 'ocamlformat --help' for more information.
[1]
File "test/cli/stdin.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/cli/stdin.t _build/default/test/cli/stdin.t.corrected
diff --git a/_build/default/test/cli/stdin.t b/_build/default/test/cli/stdin.t.corrected
index a8be0b2..89c5946 100644
--- a/_build/default/test/cli/stdin.t
+++ b/_build/default/test/cli/stdin.t.corrected
@@ -3,15 +3,18 @@
One of '--impl', '--intf' or '--name' is required when the input is read from stdin:


$ ocamlformat -
-  ocamlformat: Must specify at least one of --name, --impl or --intf when reading from stdin
+  ocamlformat: Must specify at least one of --name, --impl or --intf when
+               reading from stdin
[1]


$ echo 'let x =       1' | ocamlformat -
-  ocamlformat: Must specify at least one of --name, --impl or --intf when reading from stdin
+  ocamlformat: Must specify at least one of --name, --impl or --intf when
+               reading from stdin
[1]


$ ocamlformat --inplace -
-  ocamlformat: Must specify at least one of --name, --impl or --intf when reading from stdin
+  ocamlformat: Must specify at least one of --name, --impl or --intf when
+               reading from stdin
[1]


Nominal cases:
@@ -30,7 +33,8 @@ The kind of syntax --impl/--intf is inferred from the name:
The syntax cannot be inferred if the extension of the file is unsupported:


$ ocamlformat --name a.cpp -
-  ocamlformat: Cannot deduce file kind from passed --name. Please specify --impl or --intf
+  ocamlformat: Cannot deduce file kind from passed --name. Please specify
+               --impl or --intf
[1]


Cannot specify files with stdin:
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-10-02 01:55.59: Job failed: Failed: Build failed