Build:
  1. 0
2026-03-24 14:42.52: New job: test parseff.0.3.0, using opam 2.5
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29584/head (d7719afcb0d45f84ed8ca37c3e47cc49fb4dcf0c)
                              on debian-13-ocaml-5.4/amd64

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29584/head" && git reset --hard d7719afc
git fetch origin master
git merge --no-edit b2a1270dba57f3ceb38426939f9780c38c181b3c
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn parseff.0.3.0 0.3.0
RUN opam reinstall parseff.0.3.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'parseff.0.3.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN (opam reinstall --with-test parseff.0.3.0) || true
RUN opam reinstall --with-test --verbose parseff.0.3.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'parseff.0.3.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1

END-OF-DOCKERFILE
docker build -f ../Dockerfile .

2026-03-24 14:42.52: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6-parseff.0.3.0-d7719afcb0d45f84ed8ca37c3e47cc49fb4dcf0c"
2026-03-24 14:42.52: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam"))
 (run (network host)
      (shell "opam init --reinit --config .opamrc-sandbox -ni"))
 (run (shell "opam option solver=builtin-0install && opam config report"))
 (env OPAMDOWNLOADJOBS 1)
 (env OPAMERRLOGLEN 0)
 (env OPAMPRECISETRACKING 1)
 (env CI true)
 (env OPAM_REPO_CI true)
 (run (shell "rm -rf opam-repository/"))
 (copy (src .) (dst opam-repository/))
 (run (shell "opam repository set-url --strict default opam-repository/"))
 (run (network host)
      (shell "opam update --depexts || true"))
 (run (shell "opam pin add -k version -yn parseff.0.3.0 0.3.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall parseff.0.3.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'parseff.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (network host)
      (shell "(opam reinstall --with-test parseff.0.3.0) || true"))
 (run (shell  "opam reinstall --with-test --verbose parseff.0.3.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'parseff.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2026-03-24 14:42.52: Waiting for resource in pool OCluster
2026-03-24 14:42.52: Waiting for worker…
2026-03-24 14:42.53: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at b2a1270dba Merge pull request #29580 from penelopeysm/opam-publish-wcwidth.1.1.0
Updating b2a1270dba..d7719afcb0
Fast-forward
 packages/parseff/parseff.0.3.0/opam | 52 +++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 packages/parseff/parseff.0.3.0/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6)
2026-03-24 14:43.48 ---> using "41eea30e3f639c18d8cf57c309ec76919ec7b2398036f7e41744cbce59a133d3" from cache

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

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam"))
2026-03-24 14:43.48 ---> using "edd8f6a722630635e4a78a6d846e911705aa856b01147d5ba25e75ddebe65f59" from cache

/home/opam: (run (network host)
                 (shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally 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 71 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=71 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-24 14:43.48 ---> using "99eca26538a137d70f5548d5e6f94cde89a93a23c54f033be513ecc64ec8ae85" from cache

/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version         2.5.0
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=13
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 255
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# invariant            ["ocaml-base-compiler" {= "5.4.0"}]
# compiler-packages    ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, ocaml-options-vanilla.1
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       5.4.0
2026-03-24 14:43.48 ---> using "e4c477118aaccece18b11cff04c544ac0dd1785854134e0ea786a3a49e3678f7" from cache

/home/opam: (env OPAMDOWNLOADJOBS 1)

/home/opam: (env OPAMERRLOGLEN 0)

/home/opam: (env OPAMPRECISETRACKING 1)

/home/opam: (env CI true)

/home/opam: (env OPAM_REPO_CI true)

/home/opam: (run (shell "rm -rf opam-repository/"))
2026-03-24 14:43.48 ---> using "df3e94f30275b8414a09f915689ddb626262d23a00d0d8bb6cb2076bb177780c" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-03-24 14:43.51 ---> saved as "4f8f676300133bb6204a016f5d4c17f18cb8a85abd3860aa6985408205bb29cb"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-24 14:44.08 ---> saved as "5a9a4cd80f2c0229cd5e923343a718cf629bbda75e9ef2be28984b688fe3805c"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9671 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [114 kB]
- Fetched 10.0 MB in 1s (10.3 MB/s)
- Reading package lists...
2026-03-24 14:44.09 ---> saved as "447796a1c7fc41052b957cc7d3712e60368841643c2e6c3abc7137424b700774"

/home/opam: (run (shell "opam pin add -k version -yn parseff.0.3.0 0.3.0"))
parseff is now pinned to version 0.3.0
2026-03-24 14:44.10 ---> saved as "f1f644f501f2cda99750798884c449ff028a338bdb637aed943a3b550f534ed9"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall parseff.0.3.0;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'parseff.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
parseff.0.3.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 7 packages
  - install dune       3.22.0         [required by parseff]
  - install ocamlbuild 0.16.1         [required by uucp]
  - install ocamlfind  1.9.8          [required by uucp]
  - install parseff    0.3.0 (pinned)
  - install re         1.14.0         [required by parseff]
  - install topkg      1.1.1          [required by uucp]
  - install uucp       17.0.0         [required by parseff]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.22.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved parseff.0.3.0  (cached)
-> retrieved re.1.14.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> retrieved uucp.17.0.0  (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed dune.3.22.0
-> installed re.1.14.0
-> installed uucp.17.0.0
-> installed parseff.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-24 14:44.43 ---> saved as "69c44a16bdd08b0e069ba156094743b3819df866a3493f54c10dfcec0a9f0d4a"

/home/opam: (run (network host)
                 (shell "(opam reinstall --with-test parseff.0.3.0) || true"))
The following actions will be performed:
=== recompile 2 packages
  - recompile parseff            0.3.0 (pinned)
  - recompile uucp               17.0.0         [uses cmdliner]
=== install 35 packages
  - install   alcotest           1.9.1          [required by parseff]
  - install   angstrom           0.16.1         [required by parseff]
  - install   astring            0.8.5          [required by alcotest, mdx]
  - install   benchmark          1.7            [required by parseff]
  - install   bigstringaf        0.10.0         [required by angstrom]
  - install   camlp-streams      5.0.1          [required by mdx]
  - install   cmdliner           2.1.0          [required by alcotest, mdx]
  - install   cppo               1.8.0          [required by mdx]
  - install   csexp              1.5.2          [required by mdx]
  - install   cstruct            6.2.0          [required by eio, uring]
  - install   domain-local-await 1.0.1          [required by eio]
  - install   dune-configurator  3.22.0         [required by miou]
  - install   eio                1.3            [required by eio_linux, eio_posix]
  - install   eio_linux          1.3            [required by eio_main]
  - install   eio_main           1.3            [required by parseff]
  - install   eio_posix          1.3            [required by eio_main]
  - install   fmt                0.11.0         [required by alcotest, mdx]
  - install   hmap               0.8.1          [required by eio]
  - install   iomux              0.4            [required by eio_posix]
  - install   logs               0.10.0         [required by mdx]
  - install   lwt-dllist         1.1.0          [required by eio]
  - install   mdx                2.5.1          [required by parseff]
  - install   miou               0.5.4          [required by parseff]
  - install   mparser            1.3            [required by parseff]
  - install   mtime              2.1.0          [required by eio]
  - install   ocaml-syntax-shims 1.0.0          [required by alcotest, angstrom]
  - install   ocaml-version      4.0.4          [required by mdx]
  - install   optint             0.3.0          [required by eio, uring]
  - install   psq                0.2.1          [required by eio]
  - install   result             1.5            [required by mdx]
  - install   seq                base           [required by psq]
  - install   stdlib-shims       0.3.0          [required by alcotest]
  - install   thread-table       1.0.0          [required by domain-local-await]
  - install   uring              2.7.0          [required by eio_linux]
  - install   uutf               1.0.4          [required by alcotest]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1  (https://opam.ocaml.org/cache)
-> retrieved angstrom.0.16.1  (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5  (https://opam.ocaml.org/cache)
-> retrieved benchmark.1.7  (https://opam.ocaml.org/cache)
-> retrieved bigstringaf.0.10.0  (https://opam.ocaml.org/cache)
-> retrieved camlp-streams.5.0.1  (https://opam.ocaml.org/cache)
-> retrieved cmdliner.2.1.0  (https://opam.ocaml.org/cache)
-> retrieved cppo.1.8.0  (https://opam.ocaml.org/cache)
-> installed benchmark.1.7
-> retrieved csexp.1.5.2  (https://opam.ocaml.org/cache)
-> retrieved cstruct.6.2.0  (https://opam.ocaml.org/cache)
-> installed camlp-streams.5.0.1
-> retrieved domain-local-await.1.0.1  (https://opam.ocaml.org/cache)
-> installed csexp.1.5.2
-> installed astring.0.8.5
-> installed cppo.1.8.0
-> retrieved dune-configurator.3.22.0  (https://opam.ocaml.org/cache)
-> retrieved eio.1.3, eio_linux.1.3, eio_main.1.3, eio_posix.1.3  (https://opam.ocaml.org/cache)
-> installed cmdliner.2.1.0
-> installed dune-configurator.3.22.0
-> retrieved fmt.0.11.0  (https://opam.ocaml.org/cache)
-> retrieved hmap.0.8.1  (https://opam.ocaml.org/cache)
-> retrieved iomux.0.4  (https://opam.ocaml.org/cache)
-> retrieved logs.0.10.0  (https://opam.ocaml.org/cache)
-> retrieved lwt-dllist.1.1.0  (https://opam.ocaml.org/cache)
-> retrieved mdx.2.5.1  (https://opam.ocaml.org/cache)
-> installed lwt-dllist.1.1.0
-> installed bigstringaf.0.10.0
-> installed hmap.0.8.1
-> retrieved miou.0.5.4  (https://opam.ocaml.org/cache)
-> retrieved mparser.1.3  (https://opam.ocaml.org/cache)
-> retrieved mtime.2.1.0  (https://opam.ocaml.org/cache)
-> installed iomux.0.4
-> retrieved ocaml-syntax-shims.1.0.0  (https://opam.ocaml.org/cache)
-> retrieved ocaml-version.4.0.4  (https://opam.ocaml.org/cache)
-> retrieved optint.0.3.0  (https://opam.ocaml.org/cache)
-> retrieved psq.0.2.1  (https://opam.ocaml.org/cache)
-> retrieved result.1.5  (https://opam.ocaml.org/cache)
-> installed mparser.1.3
-> installed ocaml-version.4.0.4
-> installed fmt.0.11.0
-> installed optint.0.3.0
-> retrieved seq.base  (2 extra sources)
-> retrieved seq.base  (2 extra sources)
-> installed seq.base
-> retrieved stdlib-shims.0.3.0  (https://opam.ocaml.org/cache)
-> installed result.1.5
-> retrieved thread-table.1.0.0  (https://opam.ocaml.org/cache)
-> installed psq.0.2.1
-> retrieved uring.2.7.0  (https://opam.ocaml.org/cache)
-> installed cstruct.6.2.0
-> installed miou.0.5.4
-> installed stdlib-shims.0.3.0
-> installed thread-table.1.0.0
-> installed ocaml-syntax-shims.1.0.0
-> removed   parseff.0.3.0
-> installed mtime.2.1.0
-> retrieved uucp.17.0.0  (https://opam.ocaml.org/cache)
-> removed   uucp.17.0.0
-> retrieved uutf.1.0.4  (https://opam.ocaml.org/cache)
-> installed domain-local-await.1.0.1
-> installed logs.0.10.0
-> installed angstrom.0.16.1
-> installed uutf.1.0.4
-> installed eio.1.3
-> installed uring.2.7.0
-> installed alcotest.1.9.1
-> installed mdx.2.5.1
-> installed eio_linux.1.3
-> installed eio_posix.1.3
-> installed eio_main.1.3
-> installed uucp.17.0.0
-> installed parseff.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-24 14:45.17 ---> saved as "6c096c1f156c7d61e81318c792e0ee46ca45e63a585bae5d44c20743ec94de5e"

/home/opam: (run (shell  "opam reinstall --with-test --verbose parseff.0.3.0;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'parseff.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
The following actions will be performed:
=== recompile 1 package
  - recompile parseff 0.3.0 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  2/4: [parseff: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "parseff" "-j" "255" "@install" "@runtest" (CWD=/home/opam/.opam/5.4/.opam-switch/build/parseff.0.3.0)
- (cd _build/default/test && ./test_css.exe)
- Testing `CSS Parser'.
- This run has ID `UQHUYSOM'.
- 
-   [OK]          rules          0   simple rule.
-   [OK]          rules          1   multiple declarations.
-   [OK]          rules          2   with whitespace.
-   [OK]          rules          3   empty rule.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/CSS Parser'.
- Test Successful in 0.001s. 4 tests run.
- (cd _build/default/test && ./test_ip.exe)
- Testing `IP Address Parser'.
- This run has ID `3L2W0J2N'.
- 
-   [OK]          valid            0   1.2.3.4.
-   [OK]          valid            1   255.255.255.255.
-   [OK]          valid            2   192.168.1.100.
-   [OK]          invalid          0   out of range.
-   [OK]          invalid          1   incomplete.
-   [OK]          invalid          2   trailing data.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/IP Address Parser'.
- Test Successful in 0.001s. 6 tests run.
- (cd _build/default/test && ./test_errors.exe)
- Testing `Errors'.
- This run has ID `4N1PIYR3'.
- 
-   [OK]          unhandled effect message          0   digit outside parse.
-   [OK]          unhandled effect message          1   consume outside parse.
-   [OK]          unhandled effect message          2   position outside parse.
-   [OK]          unhandled effect message          3   many outside parse.
-   [OK]          unhandled effect message          4   satisfy outside parse.
-   [OK]          unhandled effect message          5   end_of_input outside pa...
-   [OK]          unhandled effect message          6   message mentions runner...
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Errors'.
- Test Successful in 0.001s. 7 tests run.
- (cd _build/default/test && ./test_json.exe)
- Testing `JSON Parser'.
- This run has ID `4OPVK14I'.
- 
-   [OK]          primitives              0   null.
-   [OK]          primitives              1   bool true.
-   [OK]          primitives              2   bool false.
-   [OK]          primitives              3   number.
-   [OK]          primitives              4   float.
-   [OK]          primitives              5   string.
-   [OK]          arrays                  0   empty array.
-   [OK]          arrays                  1   simple array.
-   [OK]          objects                 0   empty object.
-   [OK]          objects                 1   simple object.
-   [OK]          objects                 2   nested.
-   [OK]          depth limiting          0   deep nesting within limit.
-   [OK]          depth limiting          1   deep nesting exceeds limit.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/JSON Parser'.
- Test Successful in 0.002s. 13 tests run.
- (cd _build/default/test && ./test_binary.exe)
- Testing `binary'.
- This run has ID `L0SCQ54O'.
- 
-   [OK]          byte reads            0   BE.any_uint8.
-   [OK]          byte reads            1   BE.any_int8.
-   [OK]          byte reads            2   LE.any_uint8 same as BE.
-   [OK]          byte reads            3   uint8 eof.
-   [OK]          16-bit reads          0   BE.any_int16.
-   [OK]          16-bit reads          1   LE.any_int16.
-   [OK]          16-bit reads          2   BE.any_uint16.
-   [OK]          16-bit reads          3   BE.any_int16 signed.
-   [OK]          16-bit reads          4   int16 eof.
-   [OK]          32-bit reads          0   BE.any_int32.
-   [OK]          32-bit reads          1   LE.any_int32.
-   [OK]          32-bit reads          2   int32 eof.
-   [OK]          64-bit reads          0   BE.any_int64.
-   [OK]          64-bit reads          1   LE.any_int64.
-   [OK]          64-bit reads          2   int64 eof.
-   [OK]          float/double          0   BE.any_float 1.0.
-   [OK]          float/double          1   LE.any_float 1.0.
-   [OK]          float/double          2   BE.any_double 1.0.
-   [OK]          float/double          3   LE.any_double 1.0.
-   [OK]          float/double          4   BE.any_float 0.0.
-   [OK]          float/double          5   BE.any_float -1.0.
-   [OK]          exact match           0   BE.int16 match.
-   [OK]          exact match           1   BE.int16 mismatch.
-   [OK]          exact match           2   BE.int32 match.
-   [OK]          exact match           3   BE.int64 match.
-   [OK]          exact match           4   LE.int32 match.
-   [OK]          take                  0   take exact.
-   [OK]          take                  1   take zero.
-   [OK]          take                  2   take eof.
-   [OK]          take                  3   take negative.
-   [OK]          composition           0   TLV header.
-   [OK]          backtracking          0   or_ with binary.
-   [OK]          streaming             0   BE.any_int32.
-   [OK]          streaming             1   LE.any_int64.
-   [OK]          streaming             2   take.
-   [OK]          streaming             3   eof.
-   [OK]          streaming             4   TLV composition.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/binary'.
- Test Successful in 0.003s. 37 tests run.
- (cd _build/default/test && ./test_utf8.exe)
- Testing `Parseff.Utf8'.
- This run has ID `1FAX0Q48'.
- 
-   [OK]          satisfy                       0   ASCII.
-   [OK]          satisfy                       1   2-byte (lambda).
-   [OK]          satisfy                       2   3-byte (CJK).
-   [OK]          satisfy                       3   4-byte (emoji).
-   [OK]          satisfy                       4   failure.
-   [OK]          satisfy                       5   eof.
-   [OK]          satisfy                       6   invalid UTF-8.
-   [OK]          char                          0   ASCII.
-   [OK]          char                          1   multibyte.
-   [OK]          char                          2   failure.
-   [OK]          any_char                      0   ASCII.
-   [OK]          any_char                      1   multibyte.
-   [OK]          any_char                      2   eof.
-   [OK]          take_while                    0   ASCII.
-   [OK]          take_while                    1   Unicode.
-   [OK]          take_while                    2   empty.
-   [OK]          take_while                    3   at_least success.
-   [OK]          take_while                    4   at_least failure.
-   [OK]          take_while                    5   at_least counts codepoints.
-   [OK]          take_while                    6   at_least codepoint count fail.
-   [OK]          take_while                    7   invalid UTF-8.
-   [OK]          skip_while                    0   basic.
-   [OK]          skip_while                    1   unicode whitespace.
-   [OK]          take_while_span               0   basic.
-   [OK]          skip_while_then_char          0   basic.
-   [OK]          skip_while_then_char          1   unicode terminator.
-   [OK]          skip_while_then_char          2   failure.
-   [OK]          skip_while_then_char          3   eof.
-   [OK]          letter                        0   ASCII.
-   [OK]          letter                        1   accented.
-   [OK]          letter                        2   CJK.
-   [OK]          letter                        3   Cyrillic.
-   [OK]          letter                        4   failure.
-   [OK]          digit                         0   success.
-   [OK]          digit                         1   failure.
-   [OK]          alphanum                      0   letter.
-   [OK]          alphanum                      1   digit.
-   [OK]          alphanum                      2   failure.
-   [OK]          whitespace                    0   ASCII.
-   [OK]          whitespace                    1   Unicode.
-   [OK]          whitespace                    2   empty.
-   [OK]          whitespace                    3   at_least failure.
-   [OK]          whitespace                    4   skip_whitespace.
-   [OK]          interop                       0   mix byte and Utf8.
-   [OK]          streaming                     0   satisfy across chunks.
-   [OK]          streaming                     1   take_while byte-at-a-time.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Parseff.Utf8'.
- Test Successful in 0.003s. 46 tests run.
- (cd _build/default/test && ./test_streaming.exe)
- Testing `Streaming'.
- This run has ID `UAW15ZE5'.
- 
-   [OK]          Source.of_string          0   consume.
-   [OK]          Source.of_string          1   satisfy.
-   [OK]          Source.of_string          2   alternation.
-   [OK]          Source.of_string          3   many.
-   [OK]          Source.of_string          4   ip.
-   [OK]          Source.of_string          5   json.
-   [OK]          Source.of_string          6   take_while.
-   [OK]          Source.of_string          7   skip_while.
-   [OK]          Source.of_string          8   look_ahead.
-   [OK]          Source.of_string          9   end_of_input.
-   [OK]          Source.of_string         10   regex.
-   [OK]          Source.of_string         11   sep_by.
-   [OK]          chunked                   0   consume 1-byte.
-   [OK]          chunked                   1   ip 1-byte.
-   [OK]          chunked                   2   ip 2-byte.
-   [OK]          chunked                   3   json array 1-byte.
-   [OK]          chunked                   4   json object 2-byte.
-   [OK]          chunked                   5   json nested 3-byte.
-   [OK]          chunked                   6   take_while 2-byte.
-   [OK]          chunked                   7   alternation 2-byte.
-   [OK]          chunked                   8   regex 2-byte.
-   [OK]          chunked                   9   skip_while_then_char 2-byte.
-   [OK]          edge cases                0   empty source.
-   [OK]          edge cases                1   end_of_input with data.
-   [OK]          edge cases                2   end_of_input after consume.
-   [OK]          edge cases                3   backtrack across chunk.
-   [OK]          edge cases                4   look_ahead across chunk.
-   [OK]          edge cases                5   many across chunks.
-   [OK]          edge cases                6   regex across chunks.
-   [OK]          edge cases                7   deep nesting streaming.
-   [OK]          edge cases                8   consume failure.
-   [OK]          edge cases                9   take_while_span.
-   [OK]          edge cases               10   parse_source_until_end requires...
-   [OK]          edge cases               11   parse_source_until_end error di...
-   [OK]          edge cases               12   parse_source_until_end preserve...
-   [OK]          location                  0   basic byte-at-a-time.
-   [OK]          location                  1   across chunk boundaries.
-   [OK]          location                  2   multiple calls.
-   [OK]          Source.of_chunks          0   ip 2-byte.
-   [OK]          Source.of_chunks          1   json 3-byte.
-   [OK]          Source.of_chunks          2   single shot.
-   [OK]          Source.of_chunks          3   empty chunks skipped.
-   [OK]          Source.of_chunks          4   backtrack 2-byte.
-   [OK]          Source.of_seq             0   ip from list.
-   [OK]          Source.of_seq             1   json 2-byte chunks.
-   [OK]          Source.of_seq             2   empty seq.
-   [OK]          Source.of_seq             3   take_while.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Streaming'.
- Test Successful in 0.004s. 47 tests run.
- (cd _build/default/test && ./test_domains.exe)
- Testing `Parseff Domains'.
- This run has ID `Z3PE12L8'.
- 
-   [OK]          parallel parsing            0   basic parallel parsing.
-   [OK]          parallel parsing            1   same parser many domains.
-   [OK]          parallel parsing            2   alternation across domains.
-   [OK]          parallel parsing            3   complex combinators across do...
-   [OK]          parallel JSON               0   JSON across domains.
-   [OK]          parallel streaming          0   streaming across domains.
-   [OK]          parallel streaming          1   streaming JSON across domains.
-   [OK]          parallel streaming          2   chunked streaming across doma...
-   [OK]          isolation                   0   errors isolated across domains.
-   [OK]          isolation                   1   high contention.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Parseff Domains'.
- Test Successful in 0.015s. 10 tests run.
- (cd _build/default/test && ./test_primitives.exe)
- Testing `Parseff Primitives'.
- This run has ID `H1NDM1JS'.
- 
-   [OK]          basic                             0   consume success.
-   [OK]          basic                             1   consume failure.
-   [OK]          basic                             2   char success.
-   [OK]          basic                             3   char failure.
-   [OK]          basic                             4   satisfy.
-   [OK]          basic                             5   satisfy failure.
-   [OK]          basic                             6   satisfy eof.
-   [OK]          basic                             7   digit.
-   [OK]          basic                             8   letter success.
-   [OK]          basic                             9   letter failure.
-   [OK]          basic                            10   alphanum letter.
-   [OK]          basic                            11   alphanum digit.
-   [OK]          basic                            12   alphanum failure.
-   [OK]          basic                            13   any_char.
-   [OK]          sequencing                        0   sequence.
-   [OK]          sequencing                        1   alternation left.
-   [OK]          sequencing                        2   alternation right.
-   [OK]          sequencing                        3   alternation failure.
-   [OK]          sequencing                        4   one_of success.
-   [OK]          sequencing                        5   one_of failure.
-   [OK]          repetition                        0   many empty.
-   [OK]          repetition                        1   many several.
-   [OK]          repetition                        2   many1 success.
-   [OK]          repetition                        3   many1 failure.
-   [OK]          repetition                        4   optional some.
-   [OK]          repetition                        5   optional none.
-   [OK]          repetition                        6   count.
-   [OK]          repetition                        7   count insufficient.
-   [OK]          separators                        0   sep_by empty.
-   [OK]          separators                        1   sep_by one.
-   [OK]          separators                        2   sep_by several.
-   [OK]          separators                        3   between.
-   [OK]          separators                        4   between missing close.
-   [OK]          separators                        5   end_by.
-   [OK]          separators                        6   end_by empty.
-   [OK]          separators                        7   end_by1 failure.
-   [OK]          separators                        8   end_by1 success.
-   [OK]          separators                        9   fold_left left assoc.
-   [OK]          separators                       10   fold_right right assoc.
-   [OK]          separators                       11   fold_left otherwise.
-   [OK]          separators                       12   fold_left non-otherwise.
-   [OK]          separators                       13   fold_right otherwise.
-   [OK]          separators                       14   fold_right non-otherwise.
-   [OK]          separators                       15   fold_left requires one.
-   [OK]          separators                       16   fold_right requires one.
-   [OK]          special                           0   end_of_input success.
-   [OK]          special                           1   end_of_input failure.
-   [OK]          special                           2   look_ahead success.
-   [OK]          special                           3   look_ahead no consume.
-   [OK]          special                           4   look_ahead failure.
-   [OK]          special                           5   skip_while.
-   [OK]          expect                            0   relabels parse error.
-   [OK]          expect                            1   success passthrough.
-   [OK]          expect                            2   user error passthrough.
-   [OK]          expect                            3   relabels or_ error.
-   [OK]          one_of_labeled                    0   success.
-   [OK]          one_of_labeled                    1   failure message.
-   [OK]          one_of_labeled                    2   user error passthrough.
-   [OK]          error combinator                  0   custom error type.
-   [OK]          error combinator                  1   distinct from fail.
-   [OK]          fail / Failure semantics          0   fail produces Failure.
-   [OK]          fail / Failure semantics          1   Failure punches through...
-   [OK]          fail / Failure semantics          2   Expected caught by or_.
-   [OK]          fail / Failure semantics          3   Failure punches through...
-   [OK]          fail / Failure semantics          4   Failure punches through...
-   [OK]          fail / Failure semantics          5   Failure punches through...
-   [OK]          fail / Failure semantics          6   Failure punches through...
-   [OK]          fail / Failure semantics          7   Failure punches through...
-   [OK]          fail / Failure semantics          8   consume produces Expected.
-   [OK]          fail / Failure semantics          9   satisfy produces Expected.
-   [OK]          fail / Failure semantics         10   one_of produces Expected.
-   [OK]          fail / Failure semantics         11   take_while at_least pro...
-   [OK]          fail / Failure semantics         12   Failure with streaming.
-   [OK]          fail / Failure semantics         13   Failure punches through...
-   [OK]          catch                             0   recovers from Failure.
-   [OK]          catch                             1   passthrough on success.
-   [OK]          catch                             2   does not catch Expected.
-   [OK]          catch                             3   enables backtracking.
-   [OK]          catch                             4   handler receives message.
-   [OK]          catch                             5   works with streaming.
-   [OK]          whitespace                        0   whitespace.
-   [OK]          whitespace                        1   whitespace empty.
-   [OK]          whitespace                        2   whitespace1 success.
-   [OK]          whitespace                        3   whitespace1 failure.
-   [OK]          match_regex                       0   success.
-   [OK]          match_regex                       1   failure.
-   [OK]          match_regex                       2   anchored at position.
-   [OK]          fused operations                  0   sep_by_take empty.
-   [OK]          fused operations                  1   sep_by_take single.
-   [OK]          fused operations                  2   sep_by_take several.
-   [OK]          fused operations                  3   sep_by_take_span empty.
-   [OK]          fused operations                  4   sep_by_take_span several.
-   [OK]          fused operations                  5   fused_sep_take success.
-   [OK]          fused operations                  6   fused_sep_take missing ...
-   [OK]          fused operations                  7   fused_sep_take missing ...
-   [OK]          fused operations                  8   take_while_span.
-   [OK]          fused operations                  9   take_while_span empty.
-   [OK]          diagnostics                       0   parse non-enforcing.
-   [OK]          diagnostics                       1   parse_until_end require...
-   [OK]          diagnostics                       2   collect diagnostics.
-   [OK]          diagnostics                       3   rollback on or.
-   [OK]          diagnostics                       4   rollback on look_ahead.
-   [OK]          diagnostics                       5   rollback on many stop.
-   [OK]          diagnostics                       6   error includes diagnost...
-   [OK]          diagnostics                       7   preserves end_of_input ...
-   [OK]          diagnostics                       8   warn_at nonzero pos.
-   [OK]          location                          0   at start.
-   [OK]          location                          1   after consume.
-   [OK]          location                          2   multiline.
-   [OK]          location                          3   column resets after new...
-   [OK]          location                          4   multiple calls.
-   [OK]          location                          5   at newline boundary.
-   [OK]          location                          6   after backtracking.
-   [OK]          location                          7   empty input.
-   [OK]          location                          8   with position.
-   [OK]          location_of_position              0   basic.
-   [OK]          location_of_position              1   empty input.
-   [OK]          location_of_position              2   single line.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Parseff Primitives'.
- Test Successful in 0.007s. 118 tests run.
-> compiled  parseff.0.3.0
-> removed   parseff.0.3.0
-> installed parseff.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-24 14:45.25 ---> saved as "f6d4911bce31441dc615e054db16b95e59322b12313dbeccd27a39428e937f15"
Job succeeded
2026-03-24 14:45.30: Job succeeded