- github
- ocaml
- opam-repository
- 3e0c39
- compilers,5.4,dune.3.22.2,revdeps,httpun.0.1.0
(not at the head of any monitored branch or PR)
2026-04-10 17:47.53: New job: test httpun.0.1.0 with dune.3.22.2, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29704/head (3e0c395e7b1393a792367f8edca3654dac71e6fd)
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/29704/head" && git reset --hard 3e0c395e
git fetch origin master
git merge --no-edit 9d8ceab8e9f49f5671cf459997c8a47cf0e675ca
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03
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.22.2 3.22.2
RUN opam reinstall dune.3.22.2; \
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.22.2' && 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-04-10 17:47.53: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03-dune.3.22.2-httpun.0.1.0-3e0c395e7b1393a792367f8edca3654dac71e6fd"
2026-04-10 17:47.53: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03)
(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.22.2 3.22.2"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall dune.3.22.2;\
\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.22.2' && 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-04-10 17:47.53: Waiting for resource in pool OCluster
2026-04-11 01:18.07: Waiting for worker…
2026-04-11 01:20.10: Got resource from pool OCluster
Building on phoebe.caelum.ci.dev
All commits already cached
HEAD is now at 9d8ceab8e9 Merge pull request #29697 from filipeom/opam-publish-smtml.0.25.0
Updating 9d8ceab8e9..3e0c395e7b
Fast-forward
packages/chrome-trace/chrome-trace.3.22.2/opam | 39 +++++++++++
.../dune-action-plugin.3.22.2/opam | 52 +++++++++++++++
.../dune-action-trace.3.22.2/opam | 39 +++++++++++
.../dune-build-info/dune-build-info.3.22.2/opam | 45 +++++++++++++
.../dune-configurator.3.22.2/opam | 49 ++++++++++++++
packages/dune-glob/dune-glob.3.22.2/opam | 42 ++++++++++++
.../dune-private-libs.3.22.2/opam | 50 +++++++++++++++
packages/dune-rpc-lwt/dune-rpc-lwt.3.22.2/opam | 41 ++++++++++++
packages/dune-rpc/dune-rpc.3.22.2/opam | 44 +++++++++++++
packages/dune-site/dune-site.3.22.2/opam | 37 +++++++++++
packages/dune/dune.3.22.2/opam | 75 ++++++++++++++++++++++
packages/dyn/dyn.3.22.2/opam | 40 ++++++++++++
packages/fs-io/fs-io.3.22.2/opam | 39 +++++++++++
packages/ocamlc-loc/ocamlc-loc.3.22.2/opam | 43 +++++++++++++
packages/ordering/ordering.3.22.2/opam | 38 +++++++++++
packages/stdune/stdune.3.22.2/opam | 46 +++++++++++++
packages/top-closure/top-closure.3.22.2/opam | 38 +++++++++++
packages/xdg/xdg.3.22.2/opam | 39 +++++++++++
18 files changed, 796 insertions(+)
create mode 100644 packages/chrome-trace/chrome-trace.3.22.2/opam
create mode 100644 packages/dune-action-plugin/dune-action-plugin.3.22.2/opam
create mode 100644 packages/dune-action-trace/dune-action-trace.3.22.2/opam
create mode 100644 packages/dune-build-info/dune-build-info.3.22.2/opam
create mode 100644 packages/dune-configurator/dune-configurator.3.22.2/opam
create mode 100644 packages/dune-glob/dune-glob.3.22.2/opam
create mode 100644 packages/dune-private-libs/dune-private-libs.3.22.2/opam
create mode 100644 packages/dune-rpc-lwt/dune-rpc-lwt.3.22.2/opam
create mode 100644 packages/dune-rpc/dune-rpc.3.22.2/opam
create mode 100644 packages/dune-site/dune-site.3.22.2/opam
create mode 100644 packages/dune/dune.3.22.2/opam
create mode 100644 packages/dyn/dyn.3.22.2/opam
create mode 100644 packages/fs-io/fs-io.3.22.2/opam
create mode 100644 packages/ocamlc-loc/ocamlc-loc.3.22.2/opam
create mode 100644 packages/ordering/ordering.3.22.2/opam
create mode 100644 packages/stdune/stdune.3.22.2/opam
create mode 100644 packages/top-closure/top-closure.3.22.2/opam
create mode 100644 packages/xdg/xdg.3.22.2/opam
(from ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03)
2026-04-11 01:20.36 ---> using "4e852d2e6c9ac39a43c0cb8d1ef92ecff46d16da630bff560bb4811e0bb278c3" 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-04-11 01:20.36 ---> using "c82a131037ae9ff29ac79f02306f126bd36264ccb683d2324f553289b0d4a496" 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
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-04-11 01:20.36 ---> using "983e4dc58d26f7046c0fe6fbe642bc66995d2abecd6409a14b0c538d3f1a7bd2" 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 71
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 5.4
# invariant ["ocaml-base-compiler" {= "5.4.1"}]
# compiler-packages ocaml-base-compiler.5.4.1, ocaml-compiler.5.4.1, 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.1
2026-04-11 01:20.36 ---> using "8b346866360ce3a934df95a88d3a1520ccbf589f659a7e26aa97be0b96b1083a" 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-04-11 01:20.36 ---> using "8be7be6786c965fdad4454d936ba98cc5fa516f8de8fee90f280618661533faa" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-04-11 01:20.37 ---> using "c0553ba1781e82471f38f012874b6b7341f662c325cc75285bfd7972f7a6ff87" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-11 01:20.37 ---> using "e05b19873f9cb2918bf114246a81e8bf23cb51c80d627ed2b044915e44a942dd" from cache
/home/opam: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [121 kB]
- Fetched 211 kB in 0s (692 kB/s)
- Reading package lists...
-
2026-04-11 01:20.37 ---> using "dc69cd977951bdc4dffcc68622bf3ea65b4d02db568ca1f8bd5ab395f414a24f" from cache
/home/opam: (run (shell "opam pin add -k version -yn dune.3.22.2 3.22.2"))
dune is now pinned to version 3.22.2
2026-04-11 01:20.37 ---> using "d2dbab2e673d61aa25772ad855c91b371a83246b8bcc8859d8fc280f9fcf9826" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall dune.3.22.2;\
\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.22.2' && 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.22.2 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
- install dune 3.22.2 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.22.2 (cached)
-> installed dune.3.22.2
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 01:20.37 ---> using "6f94ccb4a18327fa9742ec042c4183209005d455af95ec03af9e9453c8a8c9d1" 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.22.2 [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.22.2 (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.22.2
-> 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-04-11 01:20.56 ---> saved as "94d08b4cc00080979d0543458ea8066d19ce09fc92365d29817d1dbb5725bb05"
/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 ocamlfind.1.9.8
-> installed cmdliner.2.1.0
-> 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-04-11 01:21.33 ---> saved as "750a3f9265502da6df7d5727bbe9b1d8d2439157c9ee855253eabc31e3c4619f"
/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" "71" (CWD=/home/opam/.opam/5.4/.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/5.4/.opam-switch/build/httpun.0.1.0)
- (cd _build/default/lib_test && ./test_httpun.exe)
- Testing `httpun unit tests'.
- This run has ID `RETZWWBE'.
-
- [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/5.4/.opam-switch/build/httpun.0.1.0/_build/default/lib_test/_build/_tests/httpun unit tests'.
- Test Successful in 0.404s. 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-04-11 01:21.43 ---> saved as "51653e8c8d6c20fe611ae21643d96262414442bc16a10a5f502205482c4aa3fb"
Job succeeded
2026-04-11 01:22.09: Job succeeded