Build:
- 0
2026-01-13 04:05.00: New job: test httpun.0.1.0 with dune.3.21.0, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29216/head (001b427da21d4d746e124eaaffab7b4134813f6d)
on debian-13-ocaml-4.14/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/29216/head" && git reset --hard 001b427d
git fetch origin master
git merge --no-edit 1c361fac36225534ee877701522e296785f9a9db
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.14@sha256:d765b54c014ef238f3a84185055fd22f6a5e5bea6d6bbe9ec94a1c7ac9087afa
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /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 dune.3.21.0 3.21.0
RUN opam reinstall dune.3.21.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" != 'dune.3.21.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN opam reinstall httpun.0.1.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" != 'httpun.0.1.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 httpun.0.1.0) || true
RUN opam reinstall --with-test --verbose httpun.0.1.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" != 'httpun.0.1.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-01-13 04:05.00: Using cache hint "ocaml/opam:debian-13-ocaml-4.14@sha256:d765b54c014ef238f3a84185055fd22f6a5e5bea6d6bbe9ec94a1c7ac9087afa-dune.3.21.0-httpun.0.1.0-001b427da21d4d746e124eaaffab7b4134813f6d"
2026-01-13 04:05.00: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.14@sha256:d765b54c014ef238f3a84185055fd22f6a5e5bea6d6bbe9ec94a1c7ac9087afa)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/bin/opam-dev /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 dune.3.21.0 3.21.0"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall dune.3.21.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\" != 'dune.3.21.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 (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall httpun.0.1.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\" != 'httpun.0.1.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 httpun.0.1.0) || true"))
(run (shell "opam reinstall --with-test --verbose httpun.0.1.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\" != 'httpun.0.1.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-01-13 04:05.00: Waiting for resource in pool OCluster
2026-01-13 18:23.40: Waiting for worker…
2026-01-13 18:26.21: Got resource from pool OCluster
Building on asteria.caelum.ci.dev
All commits already cached
Updating files: 99% (19132/19211)
Updating files: 100% (19211/19211)
Updating files: 100% (19211/19211), done.
HEAD is now at 1c361fac36 Merge pull request #29210 from dinosaure/release-miou-v0.5.1
Merge made by the 'ort' strategy.
packages/chrome-trace/chrome-trace.3.21.0/opam | 41 ++++++++++++
.../dune-action-plugin.3.21.0/opam | 54 ++++++++++++++++
.../dune-build-info/dune-build-info.3.21.0/opam | 47 ++++++++++++++
.../dune-configurator.3.21.0/opam | 51 +++++++++++++++
packages/dune-glob/dune-glob.3.21.0/opam | 44 +++++++++++++
.../dune-private-libs.3.21.0/opam | 52 +++++++++++++++
packages/dune-rpc-lwt/dune-rpc-lwt.3.21.0/opam | 43 +++++++++++++
packages/dune-rpc/dune-rpc.3.21.0/opam | 46 +++++++++++++
packages/dune-site/dune-site.3.21.0/opam | 39 +++++++++++
packages/dune/dune.3.21.0/opam | 75 ++++++++++++++++++++++
packages/dyn/dyn.3.21.0/opam | 42 ++++++++++++
packages/fs-io/fs-io.3.21.0/opam | 41 ++++++++++++
packages/ocamlc-loc/ocamlc-loc.3.21.0/opam | 45 +++++++++++++
packages/ordering/ordering.3.21.0/opam | 40 ++++++++++++
packages/stdune/stdune.3.21.0/opam | 48 ++++++++++++++
packages/top-closure/top-closure.3.21.0/opam | 40 ++++++++++++
packages/xdg/xdg.3.21.0/opam | 41 ++++++++++++
17 files changed, 789 insertions(+)
create mode 100644 packages/chrome-trace/chrome-trace.3.21.0/opam
create mode 100644 packages/dune-action-plugin/dune-action-plugin.3.21.0/opam
create mode 100644 packages/dune-build-info/dune-build-info.3.21.0/opam
create mode 100644 packages/dune-configurator/dune-configurator.3.21.0/opam
create mode 100644 packages/dune-glob/dune-glob.3.21.0/opam
create mode 100644 packages/dune-private-libs/dune-private-libs.3.21.0/opam
create mode 100644 packages/dune-rpc-lwt/dune-rpc-lwt.3.21.0/opam
create mode 100644 packages/dune-rpc/dune-rpc.3.21.0/opam
create mode 100644 packages/dune-site/dune-site.3.21.0/opam
create mode 100644 packages/dune/dune.3.21.0/opam
create mode 100644 packages/dyn/dyn.3.21.0/opam
create mode 100644 packages/fs-io/fs-io.3.21.0/opam
create mode 100644 packages/ocamlc-loc/ocamlc-loc.3.21.0/opam
create mode 100644 packages/ordering/ordering.3.21.0/opam
create mode 100644 packages/stdune/stdune.3.21.0/opam
create mode 100644 packages/top-closure/top-closure.3.21.0/opam
create mode 100644 packages/xdg/xdg.3.21.0/opam
(from ocaml/opam:debian-13-ocaml-4.14@sha256:d765b54c014ef238f3a84185055fd22f6a5e5bea6d6bbe9ec94a1c7ac9087afa)
2026-01-13 18:26.42 ---> using "2ecda48447fc68e8dcd256d2898af0a11126a077e05d747a0dcdff2845100de1" from cache
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-01-13 18:26.42 ---> using "79eb1218297339daa5e94be48ad16ae73f417b872defa106efeff5b5f3323e6e" 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-01-13 18:26.42 ---> using "bf81485066c79fc9faf7a51b95869ba9d998fe2bf3de5ff7f59b253fc915122f" 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 4.14
# invariant ["ocaml-base-compiler" {= "4.14.2"}]
# compiler-packages ocaml-base-compiler.4.14.2, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 4.14.2
2026-01-13 18:26.42 ---> using "f7c0c02658daf7a6d6c7671a8028e0e553264100bd569724894645b7844f6d7f" 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-01-13 18:26.42 ---> using "9b3e592c65565b9b3dc8b88c605e54ddba818eb105df981d794040a64c2f9916" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-01-13 18:26.43 ---> using "09c39d7126e88ed573ca8f78acbffb48c0088baecebf7a9155a91c3290ace20b" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-01-13 18:26.43 ---> using "1f9ebb837e22c3f42b1c3f6e7178a2aa2fcb8206685e62bba70fde550083c584" from cache
/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 [9670 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [95.5 kB]
- Fetched 9997 kB in 1s (9884 kB/s)
- Reading package lists...
2026-01-13 18:26.43 ---> using "bc5a313c83583d746179a868806b410c236b5a3d4895b7d8bc464eed6cfe706e" from cache
/home/opam: (run (shell "opam pin add -k version -yn dune.3.21.0 3.21.0"))
dune is now pinned to version 3.21.0
2026-01-13 18:26.43 ---> using "448b2b0e77526967dc1d84c9cd1fd4fdf010f08d862d127b94c63a52bbc324d1" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall dune.3.21.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\" != 'dune.3.21.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
dune.3.21.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
- install dune 3.21.0 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.21.0 (cached)
-> installed dune.3.21.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-01-13 18:26.43 ---> using "5acb627376dc8b6ecaceedd8635589b9dfb44ea06abcf3fc03092c3e94ea4126" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall httpun.0.1.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\" != 'httpun.0.1.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
httpun.0.1.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 8 packages
- install angstrom 0.16.1 [required by httpun]
- install bigstringaf 0.10.0 [required by httpun]
- install csexp 1.5.2 [required by dune-configurator]
- install dune-configurator 3.21.0 [required by bigstringaf]
- install faraday 0.8.2 [required by httpun]
- install httpun 0.1.0
- install httpun-types 0.1.0 [required by httpun]
- install ocaml-syntax-shims 1.0.0 [required by angstrom]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> installed csexp.1.5.2
-> retrieved dune-configurator.3.21.0 (cached)
-> retrieved faraday.0.8.2 (cached)
-> retrieved httpun.0.1.0, httpun-types.0.1.0 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> installed ocaml-syntax-shims.1.0.0
-> installed dune-configurator.3.21.0
-> installed bigstringaf.0.10.0
-> installed faraday.0.8.2
-> installed angstrom.0.16.1
-> installed httpun-types.0.1.0
-> installed httpun.0.1.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-01-13 18:26.56 ---> saved as "195c1718d220d9d5ff4f9ba04dce1084514b32b5f86dc661fafdf52b95c547d6"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test httpun.0.1.0) || true"))
The following actions will be performed:
=== recompile 1 package
- recompile httpun 0.1.0
=== install 10 packages
- install alcotest 1.9.1 [required by httpun]
- install astring 0.8.5 [required by alcotest]
- install cmdliner 2.1.0 [required by alcotest]
- install fmt 0.11.0 [required by alcotest]
- install ocamlbuild 0.16.1 [required by fmt, astring, uutf]
- install ocamlfind 1.9.8 [required by fmt, astring, uutf]
- install re 1.14.0 [required by alcotest]
- install stdlib-shims 0.3.0 [required by alcotest]
- install topkg 1.1.1 [required by fmt, astring, uutf]
- install uutf 1.0.4 [required by alcotest]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1 (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5 (https://opam.ocaml.org/cache)
-> retrieved cmdliner.2.1.0 (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0 (https://opam.ocaml.org/cache)
-> retrieved httpun.0.1.0 (https://opam.ocaml.org/cache)
-> retrieved ocamlbuild.0.16.1 (https://opam.ocaml.org/cache)
-> retrieved ocamlfind.1.9.8 (https://opam.ocaml.org/cache)
-> retrieved re.1.14.0 (https://opam.ocaml.org/cache)
-> retrieved stdlib-shims.0.3.0 (https://opam.ocaml.org/cache)
-> retrieved topkg.1.1.1 (https://opam.ocaml.org/cache)
-> retrieved uutf.1.0.4 (https://opam.ocaml.org/cache)
-> installed stdlib-shims.0.3.0
-> installed re.1.14.0
-> installed cmdliner.2.1.0
-> installed ocamlfind.1.9.8
-> removed httpun.0.1.0
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed alcotest.1.9.1
-> installed httpun.0.1.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-01-13 18:27.17 ---> saved as "5cb9f693024c37c927acd8d6cddfff57e1bc477609003a92f35eb86686e26262"
/home/opam: (run (shell "opam reinstall --with-test --verbose httpun.0.1.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\" != 'httpun.0.1.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 httpun 0.1.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/4: [httpun.0.1.0: extract]
-> retrieved httpun.0.1.0 (cached)
Processing 2/4: [httpun: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "httpun" "-j" "255" (CWD=/home/opam/.opam/4.14/.opam-switch/build/httpun.0.1.0)
Processing 2/4: [httpun: dune runtest]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "runtest" "-p" "httpun" (CWD=/home/opam/.opam/4.14/.opam-switch/build/httpun.0.1.0)
- (cd _build/default/lib_test && ./test_httpun.exe)
- Testing `httpun unit tests'.
- This run has ID `JM8QKOKJ'.
-
- [OK] version 0 compare.
- [OK] version 1 to_string.
- [OK] method 0 is_safe.
- [OK] method 1 is_cacheable.
- [OK] method 2 is_idempotent.
- [OK] iovec 0 lengthv.
- [OK] iovec 1 shiftv.
- [OK] iovec 2 shiftv raises .
- [OK] headers 0 remove.
- [OK] headers 1 replace.
- [OK] headers 2 CI equal.
- [OK] request 0 parse valid.
- [OK] request 1 parse invalid errors.
- [OK] request 2 body length.
- [OK] response 0 parse valid.
- [OK] response 1 parse invalid error.
- [OK] response 2 body length.
- [OK] client connection 0 commit parse after every heade...
- [OK] client connection 1 GET.
- [OK] client connection 2 HEAD.
- [OK] client connection 3 send streaming body.
- [OK] client connection 4 Response EOF.
- [OK] client connection 5 Response header order preserved.
- [OK] client connection 6 report_exn.
- [OK] client connection 7 input_shrunk.
- [OK] client connection 8 multiple GET, last request clo...
- [OK] client connection 9 Persistent connection, multipl...
- [OK] client connection 10 Persistent connection, request...
- [OK] client connection 11 Persistent connection, first r...
- [OK] client connection 12 Persistent connections, read r...
- [OK] client connection 13 Partial input.
- [OK] client connection 14 Empty fixed body shuts down wr...
- [OK] client connection 15 Empty fixed body in a persiste...
- [OK] client connection 16 Fixed body shuts down writer i...
- [OK] client connection 17 Fixed body doesn't shut down t...
- [OK] client connection 18 Client support for upgrading a...
- [OK] client connection 19 test yield when read isn't sch...
- [OK] client connection 20 test yield when read isn't sch...
- [OK] client connection 21 EOF while a request is in the ...
- [OK] client connection 22 EOF after handler response bod...
- [OK] client connection 23 EOF after handler closed respo...
- [OK] client connection 24 Exception closes the reader (o...
- [OK] client connection 25 Exception closes the reader (o...
- [OK] client connection 26 Exception while reading the re...
- [OK] client connection 27 Exception while reading the re...
- [OK] client connection 28 Aynchronous exception while re...
- [OK] client connection 29 failed response parse.
- [OK] client connection 30 shutdown delivers eof to respo...
- [OK] client connection 31 full response arrives before u...
- [OK] client connection 32 reader EOF race condition caus...
- [OK] client connection 33 multiple responses in single r...
- [OK] client connection 34 test chunked error.
- [OK] client connection 35 304 Not Modified with Content-...
- [OK] client connection 36 body for a request with no pay...
- [OK] client connection 37 schedule read with data availa...
- [OK] client connection 38 don't flush headers immediately.
- [OK] client connection 39 pipelining + don't flush heade...
- [OK] client connection 40 flushing on close with ~set_he...
- [OK] client connection 41 request pipelining flushes req...
- [OK] client connection 42 request pipelining both respon...
- [OK] client connection 43 shutting down closes request b...
- [OK] server connection 0 initial reader state.
- [OK] server connection 1 shutdown reader closed.
- [OK] server connection 2 commit parse after every heade...
- [OK] server connection 3 single GET.
- [OK] server connection 4 multiple GETs.
- [OK] server connection 5 asynchronous response.
- [OK] server connection 6 asynchronous response, asynchr...
- [OK] server connection 7 asynchronous response, asynchr...
- [OK] server connection 8 echo POST.
- [OK] server connection 9 streaming response.
- [OK] server connection 10 asynchronous streaming response.
- [OK] server connection 11 asynchronous streaming respons...
- [OK] server connection 12 empty fixed streaming response.
- [OK] server connection 13 empty chunked streaming response.
- [OK] server connection 14 connection error.
- [OK] server connection 15 synchronous error, synchronous...
- [OK] server connection 16 synchronous error, asynchronou...
- [OK] server connection 17 asynchronous error, synchronou...
- [OK] server connection 18 asynchronous error, asynchrono...
- [OK] server connection 19 asynchronous error, asynchrono...
- [OK] server connection 20 error while parsing.
- [OK] server connection 21 error before read.
- [OK] server connection 22 error left unhandled.
- [OK] server connection 23 chunked encoding.
- [OK] server connection 24 chunked encoding for error.
- [OK] server connection 25 blocked write on chunked encod...
- [OK] server connection 26 respond with upgrade.
- [OK] server connection 27 writer unexpected eof.
- [OK] server connection 28 input shrunk.
- [OK] server connection 29 malformed request.
- [OK] server connection 30 malformed request (async).
- [OK] server connection 31 multiple malformed requests?.
- [OK] server connection 32 malformed request, chunked err...
- [OK] server connection 33 malformed request, double repo...
- [OK] server connection 34 malformed request (EOF).
- [OK] server connection 35 malformed request, streaming r...
- [OK] server connection 36 `flush_headers_immediately` wi...
- [OK] server connection 37 empty body with no immediate f...
- [OK] server connection 38 yield before starting a response.
- [OK] server connection 39 respond before body has been r...
- [OK] server connection 40 test yield when read isn't sch...
- [OK] server connection 41 test yield when read isn't sch...
- [OK] server connection 42 test partial input chunked body.
- [OK] server connection 43 respond before reading request...
- [OK] server connection 44 request body EOFs before closi...
- [OK] server connection 45 respond before reading entire ...
- [OK] server connection 46 respond before reading entire ...
- [OK] server connection 47 failed request parse.
- [OK] server connection 48 bad request.
- [OK] server connection 49 shutdown delivers eof to reque...
- [OK] server connection 50 request body eof, finish respo...
- [OK] server connection 51 request body eof, async respon...
- [OK] server connection 52 request body response not sent.
- [OK] server connection 53 request body response not sent...
- [OK] server connection 54 reader EOF race condition caus...
- [OK] server connection 55 multiple requests in single read.
- [OK] server connection 56 multiple async requests in sin...
- [OK] server connection 57 chunked-encoding streaming error.
- [OK] server connection 58 content-length streaming error.
- [OK] server connection 59 chunked-encoding async streami...
- [OK] server connection 60 multiple requests with connect...
- [OK] server connection 61 multiple requests with eof.
- [OK] server connection 62 parse failure after checkpoint.
- [OK] server connection 63 parse failure at eof.
- [OK] server connection 64 response finished before body ...
- [OK] server connection 65 pipelined.
- [OK] server connection 66 body has a chance to flush bef...
- [OK] server connection 67 shutdown in request handler.
- [OK] server connection 68 shutdown during asynchronous r...
- [OK] server connection 69 flush response before shutdown.
- [OK] server connection 70 schedule read with data availa...
- [OK] server connection 71 read body eof called multiple ...
- [OK] server connection 72 eof called for empty bodies.
- [OK] server connection 73 error handler with chunked tra...
- [OK] server connection 74 pipelined requests in single r...
- [OK] server connection 75 multiple pipelined requests.
- [OK] server connection 76 Body.Writer.flush waits for by...
- [OK] server connection 77 input consumed before closing ...
-
- Full test results in `~/.opam/4.14/.opam-switch/build/httpun.0.1.0/_build/default/lib_test/_build/_tests/httpun unit tests'.
- Test Successful in 0.246s. 139 tests run.
-> compiled httpun.0.1.0
-> removed httpun.0.1.0
-> installed httpun.0.1.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-01-13 18:27.24 ---> saved as "b50b47916e5c456fd030c57a249c2dabc8e938537f1a2fcd48582a5c3ee48b97"
Job succeeded
2026-01-13 18:27.50: Job succeeded