2025-10-07 16:50.54: New job: test ocaml-ppx/ocamlformat https://github.com/ocaml-ppx/ocamlformat.git#refs/heads/main (c6c2477d78cdaa8ccb9fca1fe4b4b052a038df12) (freebsd-x86_64:freebsd-14.3-4.14_opam-2.4) Base: freebsd-14.3-ocaml-4.14 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 freebsd-14.3-ocaml-4.14 # freebsd-14.3-4.14_opam-2.4 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/local/bin/opam-2.4 /usr/local/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-07 16:50.54: Using cache hint "ocaml-ppx/ocamlformat-freebsd-14.3-ocaml-4.14-freebsd-14.3-4.14_opam-2.4-8afa613eac21d635f3ca7f4193fa5897" 2025-10-07 16:50.54: Using OBuilder spec: ((from freebsd-14.3-ocaml-4.14) (comment freebsd-14.3-4.14_opam-2.4) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/local/bin/opam-2.4 /usr/local/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-07 16:50.54: Waiting for resource in pool OCluster 2025-10-07 20:41.22: Waiting for worker… 2025-10-07 21:46.03: Got resource from pool OCluster Building on rosemary All commits already cached HEAD is now at c6c2477d Fix quadratic command-line parsing (#2724) (from freebsd-14.3-ocaml-4.14) 2025-10-07 21:48.11 ---> using "7e5247e9853d1c2fb95ef9ffdfdb895ef70516f48155f08a9b10db936cb8c6c6" from cache /: (comment freebsd-14.3-4.14_opam-2.4) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/local/bin/opam-2.4 /usr/local/bin/opam")) 2025-10-07 21:48.12 ---> using "f8f2ae50f983ba53790a433c81d8570b8becc44c74ab2707cf43746ed1b463d1" from cache /src: (run (shell "opam init --reinit -ni")) No configuration file found, using 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.1 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 1 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=1 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] no changes from git+file:///home/opam/opam-repository 2025-10-07 21:48.12 ---> using "a95cd97103c96a777086d9508c45964fbffa4285a5c5e6703b704acabfb6945b" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) FreeBSD 14.3-RELEASE-p3 The OCaml toplevel, version 4.14.2 2.4.1 2025-10-07 21:48.12 ---> using "199d8be57ed603ac6837a6d6cc7e578c2f630e2b79e2520a8892deff98662ca8" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2025-10-07 21:48.13 ---> using "c9d8693a3c313f3750cea43d98891a3f5490d8d3ab8357236d5eb49fea038272" 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")) 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 The following packages are not being upgraded because the new versions conflict with other installed packages: - ocaml.5.3.0 - ocaml-config.3 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. 2025-10-07 21:48.13 ---> using "ec6c950413a34824ab84657be606f33385d40ba892eaa9cef9c52097ae8ee9aa" from cache /src: (copy (src ocamlformat.opam ocamlformat-rpc-lib.opam ocamlformat-lib.opam ocamlformat-bench.opam) (dst ./)) 2025-10-07 21:48.14 ---> saved as "b71f93383ce56ced3d9765521506b318f62cbcd8c86f2f9ac86c3e1407ae58e7" /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-07 21:48.19 ---> saved as "d0bdc7d4fc66606c9d193abff8c223b89f95935fc6a11862fb4d2e1d4c55adc7" /src: (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) 2025-10-07 21:48.20 ---> saved as "4a191484fe4b77ab0df8bfae863e9f054f5c1f62ec41d4f1e2a147b37536fa9f" /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")) [WARNING] Unknown update command for bsd, skipping system update <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [ocamlformat-lib.dev] synchronised (file:///src) [ocamlformat-bench.dev] synchronised (file:///src) [ocamlformat.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-07 21:48.33 ---> saved as "0dc0fb683c7652901037b8918c0f9f80806438a888fd76da0204484ea5cba6f3" /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 ∗ alcotest 1.9.1 ∗ astring 0.8.5 ∗ base v0.16.4 ∗ 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-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 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> ⬇ retrieved base.v0.16.4 (cached) ⬇ retrieved astring.0.8.5 (cached) ⬇ retrieved alcotest.1.9.1 (cached) ⬇ retrieved camlp-streams.5.0.1 (cached) ⬇ retrieved csexp.1.5.2 (cached) ⬇ retrieved cmdliner.2.0.0 (cached) ⬇ retrieved either.1.0.0 (cached) ⬇ retrieved fix.20250919 (cached) ⬇ retrieved bechamel.0.5.0 (https://github.com/mirage/bechamel/releases/download/v0.5.0/bechamel-0.5.0.tbz) ⬇ 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 ocamlfind.1.9.8 (cached) ⬇ retrieved menhir.20250912, menhirCST.20250912, menhirLib.20250912, menhirSdk.20250912 (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 topkg.1.1.0 (cached) ⬇ retrieved uuseg.17.0.0 (cached) ⬇ retrieved uutf.1.0.4 (cached) ⬇ retrieved yojson.3.0.0 (cached) ⬇ retrieved uucp.17.0.0 (cached) ⬇ retrieved dune.3.20.2, dune-build-info.3.20.2, dune-configurator.3.20.2 (cached) ∗ installed ocamlbuild.0.16.1 ∗ installed cmdliner.2.0.0 ∗ 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 fix.20250919 ∗ installed menhirCST.20250912 ∗ installed either.1.0.0 ∗ installed csexp.1.5.2 ∗ installed stdlib-shims.0.3.0 ∗ installed sexplib0.v0.16.0 ∗ installed yojson.3.0.0 ∗ installed re.1.14.0 ∗ installed ocp-indent.1.9.0 ∗ installed ocaml-version.4.0.1 ∗ installed ocaml-syntax-shims.1.0.0 ∗ installed menhirSdk.20250912 ∗ installed menhirLib.20250912 ∗ installed camlp-streams.5.0.1 ∗ installed bechamel.0.5.0 ∗ installed dune-build-info.3.20.2 ∗ installed dune-configurator.3.20.2 ∗ installed alcotest.1.9.1 ∗ installed base.v0.16.4 ∗ installed stdio.v0.16.0 ∗ installed uucp.17.0.0 ∗ installed uuseg.17.0.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/4.14.2/share/emacs/site-lisp") (require 'ocp-indent) * for Vim, add this line to ~/.vimrc: set rtp^="/home/opam/.opam/4.14.2/share/ocp-indent/vim" 2025-10-07 21:49.57 ---> saved as "2b43fb0e72a42d0f72310e6fff4ac11052ada689c800b664408ff65c9285017e" /src: (copy (src .) (dst /src)) 2025-10-07 21:49.59 ---> saved as "968bea8a2bd445c133dd39cf895e478698f6f7481cf4c5b76da1efb716ad7efe" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) File "test/cli/env.t", line 1, characters 0-0: /usr/local/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/local/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/local/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/local/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: File "test/passing/refs.ahrefs/option.ml.err", line 1, characters 0-0: /usr/local/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' (cd _build/default/test/unit && ./test_unit.exe) Testing `ocamlformat'. This run has ID `OZIVZEKE'. ................................................................................ ................................................................................ ............................................ File "test/passing/refs.default/option.ml.err", line 1, characters 0-0: /usr/local/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.ocamlformat/option.ml.err", line 1, characters 0-0: /usr/local/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/passing/refs.janestreet/option.ml.err", line 1, characters 0-0: /usr/local/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' jail: /usr/bin/su -l opam -c cd '/src' && env OCAMLCI='true' CI='true' 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' OPAMCOLOR='always' CLICOLOR_FORCE='1' '/usr/bin/env' 'bash' '-c' 'opam exec -- dune build @install @check @runtest && rm -rf _build': failed "jail" "-c" "name=obuilder_73090_6172" "mount.devfs" "path=/obuilder/result/f6c18633c740e0d80e55b0443acbc9f97414e51fa74cac13d2fbd1754434a7be/rootfs" "vnet" "exec.start=/sbin/ifconfig lo0 127.0.0.1/8" "command=/usr/bin/su" "-l" "opam" "-c" "cd '/src' && env OCAMLCI='true' CI='true' 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' OPAMCOLOR='always' CLICOLOR_FORCE='1' '/usr/bin/env' 'bash' '-c' 'opam exec -- dune build @install @check @runtest && rm -rf _build'" failed with exit status 1 2025-10-07 21:52.17: Job failed: Failed: Build failed