2025-10-02 01:46.55: New job: test ocaml-ppx/ocamlformat https://github.com/ocaml-ppx/ocamlformat.git#refs/heads/main (c6c2477d78cdaa8ccb9fca1fe4b4b052a038df12) (linux-riscv64:debian-13-4.14_riscv64_opam-2.4)
Base: ocaml/opam:debian-13-ocaml-4.14@sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76
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:debian-13-ocaml-4.14@sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76
# debian-13-4.14_riscv64_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.16.4 base-bigarray.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.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocp-indent.1.9.0 re.1.14.0 sexplib0.v0.16.0 stdio.v0.16.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:debian-13-ocaml-4.14@sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76-debian-13-4.14_riscv64_opam-2.4-8afa613eac21d635f3ca7f4193fa5897"
2025-10-02 01:46.55: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.14@sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76)
(comment debian-13-4.14_riscv64_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.16.4 base-bigarray.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.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocp-indent.1.9.0 re.1.14.0 sexplib0.v0.16.0 stdio.v0.16.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-03 00:33.13: Waiting for worker…
2025-10-03 13:47.29: Got resource from pool OCluster
Building on riscv-bm-03.sw.ci.dev
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /var/cache/obuilder/ocluster/git/ocamlformat.git-a36b1255946df9d39268b8510f203e961f1f36f3/.git/
HEAD is now at c6c2477d Fix quadratic command-line parsing (#2724)
(from ocaml/opam:debian-13-ocaml-4.14@sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76)
Unable to find image 'ocaml/opam:debian-13-ocaml-4.14@sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76' locally
docker.io/ocaml/opam@sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76: Pulling from ocaml/opam
8f913be5ecad: Already exists
ce31ce67e69b: Already exists
0cf3a7789759: Already exists
9f0c6299278d: Already exists
e94bba55929b: Already exists
fa0712264263: Already exists
2e9048a7b53d: Already exists
9902de28c3f0: Already exists
ff517c358677: Already exists
383f060cda87: Already exists
b7a964b1a83b: Already exists
02ef0fd530dd: Already exists
3cec61b290e9: Already exists
2273bd2c4d4b: Already exists
c04c67aab9ae: Already exists
b43aac5e47f2: Already exists
fa01fc863b11: Already exists
70ce8722af9c: Already exists
d62c11b367a0: Already exists
e28d1e571478: Already exists
e4619c0fdd56: Already exists
4f4fb700ef54: Already exists
2642eb02d1cf: Already exists
17410ed193a2: Already exists
ea4027cf29ff: Already exists
2d1c149b33bc: Already exists
aa1fc2e76ba7: Already exists
198f02c9d8bb: Already exists
f3c530c1395c: Already exists
b4c1f20e76b0: Already exists
dabbe871c8f1: Already exists
07bc2850efcf: Already exists
c44cd4c1c616: Already exists
9bad6d1480ef: Already exists
9139b16fda07: Already exists
ddce8e624d6f: Already exists
cdd44d9ef1e0: Already exists
9745a1b41bc7: Already exists
926c04a38725: Already exists
33c611bdffe3: Already exists
76e001bd7592: Pulling fs layer
8178b30eaed4: Pulling fs layer
d6a58bc7e6eb: Pulling fs layer
e3319bad4d65: Pulling fs layer
e3319bad4d65: Waiting
8178b30eaed4: Download complete
d6a58bc7e6eb: Verifying Checksum
d6a58bc7e6eb: Download complete
e3319bad4d65: Download complete
76e001bd7592: Verifying Checksum
76e001bd7592: Download complete
76e001bd7592: Pull complete
8178b30eaed4: Pull complete
d6a58bc7e6eb: Pull complete
e3319bad4d65: Pull complete
Digest: sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76
Status: Downloaded newer image for ocaml/opam@sha256:3e42b9c7112f8cd5d660e911bb5dcec54c8082a88cb5320d68bec72910c57d76
2025-10-03 13:47.47 ---> using "41e18d919d0b11522f47b39e88e0c9d78c1ffeea6ec60f162564375bd01b80ea" from cache
/: (comment debian-13-4.14_riscv64_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-03 13:47.47 ---> using "e07d6b530ead7a31dec960643554fb0da046873e8598bf1409f025c2db405708" 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
2025-10-03 13:47.47 ---> using "9e72986e6b4a664627654c3fba814a27f8a03e51653bf35430caab8f7c5e7860" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.10.113-scw1
The OCaml toplevel, version 4.14.2
2.4.1
2025-10-03 13:47.47 ---> using "44de67850c6875516e73867da2b24f5a432152581729b0ec29b7e316e2181069" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-10-03 13:47.47 ---> using "545d37e12873553aaba720a97b538ff7ecb3142de0fe24495cb597077237b3c6" 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..aa21336f21 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
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.3.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)
2025-10-03 13:47.47 ---> using "02fb0d0e3cff8d1017f6409bb01f7afc5bfc2fb5bb9b249349cf461c11752adb" from cache
/src: (copy (src ocamlformat.opam ocamlformat-rpc-lib.opam ocamlformat-lib.opam ocamlformat-bench.opam)
(dst ./))
2025-10-03 13:47.48 ---> saved as "83d92741c3d05adc7b9da545ec7b99b58f10836b615283b5d144b820c5e1610e"
/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-03 13:48.14 ---> saved as "eaf4cd061cfed2d631f720d63e0cc7160ae8d3aa1053d345a9a3e7a264c387f4"
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-10-03 13:48.15 ---> saved as "80db7cacb2f80807b8a1212af97c6ceca0407d5a98f286e3f7cb6bf390b0e315"
/src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base.v0.16.4 base-bigarray.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.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocp-indent.1.9.0 re.1.14.0 sexplib0.v0.16.0 stdio.v0.16.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 "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- 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-security trixie-security/main riscv64 Packages [45.3 kB]
- Fetched 136 kB in 0s (309 kB/s)
- Reading package lists...
-
<><> 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 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
2025-10-03 13:48.59 ---> saved as "cf4af93c00a5be7c4edd10bfac178119c4ed8dcc815bcb1a5575ab0a24a047c6"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 32 packages
- install alcotest 1.9.1
- install astring 0.8.5
- install base v0.16.4
- 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 ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install ocp-indent 1.9.0
- install re 1.14.0
- install sexplib0 v0.16.0
- install stdio v0.16.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.16.4 (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 fix.20250919 (cached)
-> retrieved fmt.0.11.0 (cached)
-> retrieved fpath.0.7.3 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocaml-version.4.0.1 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved menhir.20250912, menhirCST.20250912, menhirLib.20250912, menhirSdk.20250912 (cached)
-> retrieved dune.3.20.2, dune-build-info.3.20.2, dune-configurator.3.20.2 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocp-indent.1.9.0 (cached)
-> retrieved re.1.14.0 (cached)
-> retrieved sexplib0.v0.16.0 (cached)
-> retrieved stdio.v0.16.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved uuseg.17.0.0 (cached)
-> retrieved topkg.1.1.0 (cached)
-> installed cmdliner.2.0.0
-> retrieved uutf.1.0.4 (cached)
-> retrieved yojson.3.0.0 (cached)
-> retrieved uucp.17.0.0 (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.0
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed uutf.1.0.4
-> installed fpath.0.7.3
-> installed dune.3.20.2
-> installed camlp-streams.5.0.1
-> installed csexp.1.5.2
-> installed bechamel.0.5.0
-> installed dune-build-info.3.20.2
-> installed either.1.0.0
-> installed dune-configurator.3.20.2
-> installed fix.20250919
-> installed menhirCST.20250912
-> installed menhirSdk.20250912
-> installed menhirLib.20250912
-> installed ocaml-version.4.0.1
-> installed ocaml-syntax-shims.1.0.0
-> installed ocp-indent.1.9.0
-> installed re.1.14.0
-> installed sexplib0.v0.16.0
-> installed stdlib-shims.0.3.0
-> installed base.v0.16.4
-> installed alcotest.1.9.1
-> installed stdio.v0.16.0
-> installed menhir.20250912
-> installed yojson.3.0.0
-> installed uucp.17.0.0
-> installed uuseg.17.0.0
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/4.14/share/emacs/site-lisp")
(require 'ocp-indent)
* for Vim, add this line to ~/.vimrc:
set rtp^="/home/opam/.opam/4.14/share/ocp-indent/vim"
# To update the current shell environment, run: eval $(opam env)
2025-10-03 13:58.01 ---> saved as "9ce0e50d9aff128cfa2dd8c6b7cf8c10810ff83978b83c42545a514729cf84d9"
/src: (copy (src .) (dst /src))
2025-10-03 13:58.05 ---> saved as "a511774ba3d0695c9064618daaeef07282d23bb69898b3f1641c08ec5e63f35f"
/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.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/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'
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/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/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:
(cd _build/default/test/unit && ./test_unit.exe)
Testing `ocamlformat'.
This run has ID `NOCNVW7T'.
................................................................................
................................................................................
............................................
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-10-03 14:01.06: Job failed: Failed: Build failed