(for PR #29582)
2026-03-25 13:14.48: New job: test emile.1.1 with ocaml-compiler.5.4.0, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29582/head (fa5fb3a6a806e832e4c7791145889a6bbe8b64ef)
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/29582/head" && git reset --hard fa5fb3a6
git fetch origin master
git merge --no-edit 2f93e9d4614d6376ed929fc2cee7c59cb9d5833b
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-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 ocaml-compiler.5.4.0 5.4.0
RUN opam reinstall --update-invariant ocaml-compiler.5.4.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" != 'ocaml-compiler.5.4.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN opam reinstall emile.1.1; \
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" != 'emile.1.1' && 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 emile.1.1) || true
RUN opam reinstall --with-test --verbose emile.1.1; \
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" != 'emile.1.1' && 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-25 13:14.48: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6-ocaml-compiler.5.4.0-emile.1.1-fa5fb3a6a806e832e4c7791145889a6bbe8b64ef"
2026-03-25 13:14.48: 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-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 ocaml-compiler.5.4.0 5.4.0"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall --update-invariant ocaml-compiler.5.4.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\" != 'ocaml-compiler.5.4.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 emile.1.1;\
\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\" != 'emile.1.1' && 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 emile.1.1) || true"))
(run (shell "opam reinstall --with-test --verbose emile.1.1;\
\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\" != 'emile.1.1' && 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-25 13:14.48: Waiting for resource in pool OCluster
2026-03-25 19:21.11: Waiting for worker…
2026-03-25 19:25.12: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
Updating files: 69% (12894/18520)
Updating files: 70% (12964/18520)
Updating files: 71% (13150/18520)
Updating files: 72% (13335/18520)
Updating files: 73% (13520/18520)
Updating files: 74% (13705/18520)
Updating files: 75% (13890/18520)
Updating files: 76% (14076/18520)
Updating files: 77% (14261/18520)
Updating files: 78% (14446/18520)
Updating files: 79% (14631/18520)
Updating files: 80% (14816/18520)
Updating files: 81% (15002/18520)
Updating files: 82% (15187/18520)
Updating files: 83% (15372/18520)
Updating files: 84% (15557/18520)
Updating files: 85% (15742/18520)
Updating files: 86% (15928/18520)
Updating files: 87% (16113/18520)
Updating files: 88% (16298/18520)
Updating files: 89% (16483/18520)
Updating files: 90% (16668/18520)
Updating files: 91% (16854/18520)
Updating files: 92% (17039/18520)
Updating files: 93% (17224/18520)
Updating files: 94% (17409/18520)
Updating files: 95% (17594/18520)
Updating files: 96% (17780/18520)
Updating files: 97% (17965/18520)
Updating files: 98% (18150/18520)
Updating files: 99% (18335/18520)
Updating files: 100% (18520/18520)
Updating files: 100% (18520/18520), done.
HEAD is now at 2f93e9d461 Merge pull request #29592 from dinosaure/release-miou-v0.5.5
Merge made by the 'ort' strategy.
packages/ocaml-compiler/ocaml-compiler.5.3.0/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.3/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.0/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~alpha1/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~beta1/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~beta2/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.0~rc1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.5.0~alpha1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.5/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.6/opam | 5 ++++-
packages/ocaml-option-llvm/ocaml-option-llvm.1/opam | 18 ++++++++++++++++++
.../ocaml-options-vanilla/ocaml-options-vanilla.1/opam | 1 +
packages/ocaml-variants/ocaml-variants.5.2.0+msvc/opam | 2 ++
15 files changed, 69 insertions(+), 12 deletions(-)
create mode 100644 packages/ocaml-option-llvm/ocaml-option-llvm.1/opam
(from ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6' locally
docker.io/ocaml/opam@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6: Pulling from ocaml/opam
866771c43bf5: Already exists
1e49bea09367: Already exists
e793768537e6: Already exists
ed323d3d481a: Already exists
7df34a5cd5f1: Already exists
fd712d3eb935: Already exists
4b9fb8c99118: Already exists
9d9a01948b94: Already exists
0f1514f90b32: Already exists
e1ec5a753447: Already exists
03cc323e2f71: Already exists
c09c08ea9749: Already exists
b36b619f8e6b: Already exists
195344ca5274: Already exists
228ee78582a6: Already exists
504bde1c25b3: Already exists
9d8b1356c89f: Already exists
9d8b1356c89f: Already exists
568fb6dda155: Already exists
c499c9198aea: Already exists
048e5e358118: Already exists
871ca48eb45d: Already exists
4f4fb700ef54: Already exists
a5a2568b9df9: Already exists
068cf3106ac8: Already exists
559f54ec9b29: Already exists
798ffd96fde5: Already exists
e9a891bf80d7: Already exists
d720cfe12674: Already exists
c81c932f4a91: Already exists
79f24fa3bb11: Already exists
8c1debcd8c20: Already exists
1bb2cfea7250: Already exists
2b3d3ca75e4c: Already exists
557cacaf263c: Already exists
d10483022eef: Already exists
7b62a90d8223: Already exists
28ce8ea66e72: Already exists
d975909ea717: Already exists
5c215c69c247: Already exists
e7c082452a54: Already exists
f6cbd774d654: Pulling fs layer
b40777a84cca: Pulling fs layer
7bb5edb9c889: Pulling fs layer
020670bcefab: Pulling fs layer
46df05d0db83: Pulling fs layer
45bde7b38933: Pulling fs layer
b4d63fa01ada: Pulling fs layer
020670bcefab: Waiting
46df05d0db83: Waiting
45bde7b38933: Waiting
b4d63fa01ada: Waiting
f6cbd774d654: Download complete
b40777a84cca: Verifying Checksum
b40777a84cca: Download complete
f6cbd774d654: Pull complete
7bb5edb9c889: Download complete
b40777a84cca: Pull complete
7bb5edb9c889: Pull complete
46df05d0db83: Verifying Checksum
46df05d0db83: Download complete
45bde7b38933: Verifying Checksum
45bde7b38933: Download complete
b4d63fa01ada: Verifying Checksum
b4d63fa01ada: Download complete
020670bcefab: Verifying Checksum
020670bcefab: Download complete
020670bcefab: Pull complete
46df05d0db83: Pull complete
45bde7b38933: Pull complete
b4d63fa01ada: Pull complete
Digest: sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6
Status: Downloaded newer image for ocaml/opam@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6
2026-03-25 19:25.15 ---> using "41eea30e3f639c18d8cf57c309ec76919ec7b2398036f7e41744cbce59a133d3" 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-03-25 19:25.15 ---> using "4ad7f430d684c40cedc651267e0edf890c044fe4e624255de377c471b4526bac" 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-03-25 19:25.15 ---> using "71fa58e52457bf6a7eac317c6a6ef1e2bdf53e533a1e4fd04b90c9349347e038" 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.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-25 19:25.15 ---> using "ed86081cb38ca125a920162bfe6a4bb7b1c27c6973c917551687c83cf44dbfdf" 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-25 19:25.15 ---> using "04a48515eea40c32b96da0c71328b4bba0edb66eed83d4f78554b39097cf1f25" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-03-25 19:25.16 ---> using "034191995d824300f355cbba1072d6e5fe6d815701f24eb84d82c75009d73829" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-25 19:25.16 ---> using "8232259ea36ea8848dc29ae49703acf145fd27b40f3ebd8fb785db7f8da1b9d4" 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 [9671 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [114 kB]
- Fetched 10.0 MB in 2s (6318 kB/s)
- Reading package lists...
-
2026-03-25 19:25.16 ---> using "a75782a571df4fc8f8933e94c681af881015ee87cdd4c652f8ae9af1d8cfad37" from cache
/home/opam: (run (shell "opam pin add -k version -yn ocaml-compiler.5.4.0 5.4.0"))
ocaml-compiler is now pinned to version 5.4.0
2026-03-25 19:25.17 ---> using "60e129f7398974b5fa5afc8f56ec09bd24a9182f5e9834464bfc959db1aa6b14" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall --update-invariant ocaml-compiler.5.4.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\" != 'ocaml-compiler.5.4.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 8 packages
- recompile base-domains base [uses ocaml]
- recompile base-effects base [uses ocaml]
- recompile base-nnp base [uses base-domains]
- recompile ocaml 5.4.0 [uses ocaml-base-compiler]
- recompile ocaml-base-compiler 5.4.0 (pinned) [uses ocaml-compiler]
- recompile ocaml-compiler 5.4.0 (pinned)
- recompile ocaml-config 3 [uses ocaml-base-compiler]
- recompile opam-depext 1.2.3 [uses ocaml]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-compiler.5.4.0 (cached)
-> retrieved ocaml-config.3 (cached)
-> retrieved opam-depext.1.2.3 (cached)
-> removed base-effects.base
-> removed base-nnp.base
-> removed base-domains.base
-> removed opam-depext.1.2.3
-> removed ocaml.5.4.0
-> removed ocaml-config.3
-> removed ocaml-base-compiler.5.4.0
-> removed ocaml-compiler.5.4.0
-> installed ocaml-compiler.5.4.0
-> installed ocaml-base-compiler.5.4.0
-> installed ocaml-config.3
-> installed ocaml.5.4.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
-> installed opam-depext.1.2.3
Done.
<><> opam-depext.1.2.3 installed successfully <><><><><><><><><><><><><><><><><>
=> opam-depext is unnecessary when used with opam >= 2.1. Please use opam install directly instead
# To update the current shell environment, run: eval $(opam env)
2026-03-25 19:25.17 ---> using "efbc92fc0c607605c8bb33f9e4c8fe340a48c67e14d2f61592db8a4edc5c0b15" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall emile.1.1;\
\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\" != 'emile.1.1' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
emile.1.1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 16 packages
- install angstrom 0.16.1 [required by emile]
- install base64 3.5.2 [required by emile]
- install bigstringaf 0.10.0 [required by emile]
- install csexp 1.5.2 [required by dune-configurator]
- install domain-name 0.5.0 [required by ipaddr]
- install dune 3.22.0 [required by emile]
- install dune-configurator 3.22.0 [required by bigstringaf]
- install emile 1.1
- install ipaddr 5.6.2 [required by emile]
- install macaddr 5.6.2 [required by ipaddr]
- install ocaml-syntax-shims 1.0.0 [required by angstrom]
- install ocamlbuild 0.16.1 [required by uutf]
- install ocamlfind 1.9.8 [required by uutf]
- install pecu 0.7 [required by emile]
- install topkg 1.1.1 [required by uutf]
- install uutf 1.0.4 [required by emile]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved base64.3.5.2 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved domain-name.0.5.0 (cached)
-> retrieved dune.3.22.0, dune-configurator.3.22.0 (cached)
-> retrieved emile.1.1 (cached)
-> retrieved ipaddr.5.6.2, macaddr.5.6.2 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved pecu.0.7 (cached)
-> retrieved topkg.1.1.1 (cached)
-> retrieved uutf.1.0.4 (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed dune.3.22.0
-> installed domain-name.0.5.0
-> installed base64.3.5.2
-> installed csexp.1.5.2
-> installed macaddr.5.6.2
-> installed ocaml-syntax-shims.1.0.0
-> installed pecu.0.7
-> installed ipaddr.5.6.2
-> installed dune-configurator.3.22.0
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed emile.1.1
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 19:27.27 ---> saved as "b3c0a1a9db160ff06ecbe1c31eb36673705967fe090fd175c81db94a195faaf7"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test emile.1.1) || true"))
The following actions will be performed:
=== recompile 2 packages
- recompile emile 1.1
- recompile uutf 1.0.4 [uses cmdliner]
=== install 6 packages
- install alcotest 1.9.1 [required by emile]
- install astring 0.8.5 [required by alcotest]
- install cmdliner 2.1.0 [required by emile]
- install fmt 0.11.0 [required by alcotest]
- install re 1.14.0 [required by alcotest]
- install stdlib-shims 0.3.0 [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 emile.1.1 (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0 (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 uutf.1.0.4 (https://opam.ocaml.org/cache)
-> installed stdlib-shims.0.3.0
-> installed astring.0.8.5
-> installed re.1.14.0
-> removed emile.1.1
-> removed uutf.1.0.4
-> installed cmdliner.2.1.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed alcotest.1.9.1
-> installed emile.1.1
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 19:28.03 ---> saved as "5fa6d4b1685c7b54bc2d8980f86319f06262fd54f4834ff68f201df626cfd6e6"
/home/opam: (run (shell "opam reinstall --with-test --verbose emile.1.1;\
\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\" != 'emile.1.1' && 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 emile 1.1
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/4: [emile.1.1: extract]
-> retrieved emile.1.1 (cached)
Processing 2/4: [emile: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "emile" "-j" "71" (CWD=/home/opam/.opam/5.4/.opam-switch/build/emile.1.1)
Processing 2/4: [emile: dune runtest]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "runtest" "-p" "emile" "-j" "71" (CWD=/home/opam/.opam/5.4/.opam-switch/build/emile.1.1)
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -w -14 -g -bin-annot -bin-annot-occurrences -I test/.test.eobjs/byte -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/alcotest/engine -I /home/opam/.opam/5.4/lib/alcotest/stdlib_ext -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/cmdliner -I /home/opam/.opam/5.4/lib/domain-name -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/fmt/cli -I /home/opam/.opam/5.4/lib/fmt/tty -I /home/opam/.opam/5.4/lib/ipaddr -I /home/opam/.opam/5.4/lib/macaddr -I /home/opam/.opam/5.4/lib/ocaml/unix -I /home/opam/.opam/5.4/lib/pecu -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/stdlib-shims -I /home/opam/.opam/5.4/lib/uutf -I lib/.emile.objs/byte -no-alias-deps -o test/.test.eobjs/byte/test.cmo -c -impl test/test.ml)
- File "test/test.ml", line 16, characters 14-22:
- 16 | Some (Fmt.strf "Expected error: %a" Fmt.(Dump.list Emile.pp) t)
- ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -w -14 -g -I test/.test.eobjs/byte -I test/.test.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/alcotest/engine -I /home/opam/.opam/5.4/lib/alcotest/stdlib_ext -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/cmdliner -I /home/opam/.opam/5.4/lib/domain-name -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/fmt/cli -I /home/opam/.opam/5.4/lib/fmt/tty -I /home/opam/.opam/5.4/lib/ipaddr -I /home/opam/.opam/5.4/lib/macaddr -I /home/opam/.opam/5.4/lib/ocaml/unix -I /home/opam/.opam/5.4/lib/pecu -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/stdlib-shims -I /home/opam/.opam/5.4/lib/uutf -I lib/.emile.objs/byte -I lib/.emile.objs/native -cmi-file test/.test.eobjs/byte/test.cmi -no-alias-deps -o test/.test.eobjs/native/test.cmx -c -impl test/test.ml)
- File "test/test.ml", line 16, characters 14-22:
- 16 | Some (Fmt.strf "Expected error: %a" Fmt.(Dump.list Emile.pp) t)
- ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default/test && ./test.exe --color=always)
- Testing `Address test'.
- This run has ID `N09PG9F9'.
-
- [OK] good 0 "Mary Smith <mary@example.net>".
- [OK] good 1 "Mary Smith <mary@x.test>, jdoe@e...
- [OK] good 2 "A Group:Ed Jones <c@a.test>,joe@...
- [OK] good 3 "Undisclosed recipients:;".
- [OK] good 4 "\"Mary Smith: Personal Account\"...
- [OK] good 5 "John Doe <jdoe@machine.example>".
- [OK] good 6 "Pete(A nice \\) chap) <pete(his ...
- [OK] good 7 "A Group(Some people) :Chris J...
- [OK] good 8 "(Empty list)(start)Hidden recipi...
- [OK] good 9 "Mary Smith <@node.test:mary@exam...
- [OK] good 10 "Joe Q. Public <john.q.public@exa...
- [OK] good 11 "John Doe <jdoe@machine(comment)....
- [OK] good 12 "Mary Smith <mary@example.net>".
- [OK] good 13 "<boss@nil.test>, \"Giant; \\\"Bi...
- [OK] good 14 "!#$%&`*+/=?^`{|}~@iana.org".
- [OK] good 15 "(\007;)mary@example.net".
- [OK] good 16 "\"\\\n\"@x.test".
- [OK] good 17 "\"\\a\"@x.test".
- [OK] good 18 "\"\007\"@x.test".
- [OK] good 19 "\"\\\007\"@x.test".
- [OK] good 20 "pete@[255.255.255.255]".
- [OK] good 21 "\"mary\"@example.net".
- [OK] good 22 "\"\\\"\"@example.net".
- [OK] good 23 "\"john\".\"public\"@example.com".
- [OK] good 24 "\"mary smith\"@home.example".
- [OK] good 25 "\"mary\".smith@home.example".
- [OK] good 26 "\"mary\\\000\"@home.example".
- [OK] good 27 " richard @home.example".
- [OK] good 28 "richar@ home .example".
- [OK] good 29 "mary . smith@y.test".
- [OK] good 30 " jdoe@example.net".
- [OK] good 31 " jdoe@example.net".
- [OK] good 32 "(comment)smith@home.example".
- [OK] good 33 "(comment(comment))smith@home.exa...
- [OK] good 34 "smith@(comment)home.example".
- [OK] good 35 "smith@(comment)[255.255.255.255]".
- [OK] good 36 "robert@xn--hxajbheg2az3al.xn--jx...
- [OK] good 37 "xn--robert@x.test".
- [OK] good 38 "stephane+blog@bortzmeyer.org".
- [OK] good 39 "{tropdur}@example.org".
- [OK] good 40 "c&a@hotmail.com".
- [OK] good 41 "directeur@arts-premiers.museum".
- [OK] good 42 "\"Stephane[Bortzmeyer]\"@laposte...
- [OK] good 43 "first.last@iana.org".
- [OK] good 44 "12345678901234567890123456789012...
- [OK] good 45 "\"first\\\"last\"@iana.org".
- [OK] good 46 "\"first@last\"@iana.org".
- [OK] good 47 "\"first\\last\"@iana.org".
- [OK] good 48 "first.last@[12.34.56.78]".
- [OK] good 49 "first.last@[IPv6:::12.34.56.78]".
- [OK] good 50 "first.last@[IPv6:1111:2222:3333:...
- [OK] good 51 "first.last@[IPv6:1111:2222:3333:...
- [OK] good 52 "first.last@[IPv6:::1111:2222:333...
- [OK] good 53 "first.last@[IPv6:1111:2222:3333:...
- [OK] good 54 "first.last@[IPv6:1111:2222:3333:...
- [OK] good 55 "first.last@[IPv6:1111:2222:3333:...
- [OK] good 56 "first.last@x23456789012345678901...
- [OK] good 57 "first.last@3com.com".
- [OK] good 58 "first.last@123.iana.org".
- [OK] good 59 "first.last@[IPv6:1111:2222:3333:...
- [OK] good 60 "first.last@[IPv6:1111:2222:3333:...
- [OK] good 61 "first.last@example.123".
- [OK] good 62 "first.last@com".
- [OK] good 63 "!#$%&'*+-/=?^_`.{|}~@example.com".
- [OK] good 64 "\"Abc@def\"@example.com".
- [OK] good 65 "\"Abc\\@def\"@iana.org".
- [OK] good 66 "\"Fred\\ Bloggs\"@iana.org".
- [OK] good 67 "\"Joe.\\Blow\"@iana.org".
- [OK] good 68 "\"Abc@def\"@iana.org".
- [OK] good 69 "\"Fred Bloggs\"@iana.org".
- [OK] good 70 "user+mailbox@iana.org".
- [OK] good 71 "customer/department=shipping@ian...
- [OK] good 72 "$A12345@iana.org".
- [OK] good 73 "!def!xyz%abc@iana.org".
- [OK] good 74 "_somename@iana.org".
- [OK] good 75 "dclo@us.ibm.com".
- [OK] good 76 "peter.piper@iana.org".
- [OK] good 77 "\"Doug \\\"Ace\\\" L.\"@iana.org".
- [OK] good 78 "test@iana.org".
- [OK] good 79 "TEST@iana.org".
- [OK] good 80 "1234567890@iana.org".
- [OK] good 81 "test+test@iana.org".
- [OK] good 82 "test-test@iana.org".
- [OK] good 83 "t*est@iana.org".
- [OK] good 84 "+1~1+@iana.org".
- [OK] good 85 "{_test_}@iana.org".
- [OK] good 86 "\"[[ test ]]\"@iana.org".
- [OK] good 87 "test.test@iana.org".
- [OK] good 88 "\"test.test\"@iana.org".
- [OK] good 89 "test.\"test\"@iana.org".
- [OK] good 90 "\"test@test\"@iana.org".
- [OK] good 91 "test@123.123.123.x123".
- [OK] good 92 "test@123.123.123.123".
- [OK] good 93 "test@[123.123.123.123]".
- [OK] good 94 "test@example.iana.org".
- [OK] good 95 "test@example.example.iana.org".
- [OK] good 96 "\"test\\test\"@iana.org".
- [OK] good 97 "test@example".
- [OK] good 98 "\"test\\blah\"@iana.org".
- [OK] good 99 "\"test\\\"blah\"@iana.org".
- [OK] good 100 "customer/department@iana.org".
- [OK] good 101 "_Yosemite.Sam@iana.org".
- [OK] good 102 "~@iana.org".
- [OK] good 103 "\"Austin@Powers\"@iana.org".
- [OK] good 104 "Ima.Fool@iana.org".
- [OK] good 105 "\"Ima.Fool\"@iana.org".
- [OK] good 106 "\"Ima Fool\"@iana.org".
- [OK] good 107 "\"first\".\"last\"@iana.org".
- [OK] good 108 "\"first\".middle.\"last\"@iana.o...
- [OK] good 109 "\"first\".last@iana.org".
- [OK] good 110 "first.\"last\"@iana.org".
- [OK] good 111 "\"first\".\"middle\".\"last\"@ia...
- [OK] good 112 "\"first.middle\".\"last\"@iana.o...
- [OK] good 113 "\"first.middle.last\"@iana.org".
- [OK] good 114 "\"first..last\"@iana.org".
- [OK] good 115 "\"first\\\\\\\"last\"@iana.org".
- [OK] good 116 "first.\"mid\\dle\".\"last\"@iana...
- [OK] good 117 "\"test blah\"@iana.org".
- [OK] good 118 "(foo)cal(bar)@(baz)iamcal.com(qu...
- [OK] good 119 "cal@iamcal(woo).(yay)com".
- [OK] good 120 "cal(woo(yay)hoopla)@iamcal.com".
- [OK] good 121 "cal(foo\\@bar)@iamcal.com".
- [OK] good 122 "cal(foo\\)bar)@iamcal.com".
- [OK] good 123 "first().last@iana.org".
- [OK] good 124 "pete(his account)@silly.test(his...
- [OK] good 125 "c@(Chris's host.)public.example".
- [OK] good 126 "jdoe@machine(comment). example".
- [OK] good 127 "1234 @ local(blah) .machine .exa...
- [OK] good 128 "first(abc.def).last@iana.org".
- [OK] good 129 "first(a\"bc.def).last@iana.org".
- [OK] good 130 "first.(\")middle.last(\")@iana.o...
- [OK] good 131 "first(abc\\(def)@iana.org".
- [OK] good 132 "first.last@x(1234567890123456789...
- [OK] good 133 "a(a(b(c)d(e(f))g)h(i)j)@iana.org".
- [OK] good 134 "name.lastname@domain.com".
- [OK] good 135 "a@b".
- [OK] good 136 "a@bar.com".
- [OK] good 137 "aaa@[123.123.123.123]".
- [OK] good 138 "a@bar".
- [OK] good 139 "a-b@bar.com".
- [OK] good 140 "+@b.c".
- [OK] good 141 "+@b.com".
- [OK] good 142 "a@b.co-foo.uk".
- [OK] good 143 "\"hello my name is\"@stutter.com".
- [OK] good 144 "\"Romain \" <romain@github.com>".
- [OK] good 145 "\"Test \\\"Fail\\\" Ing\"@iana.o...
- [OK] good 146 "valid@about.museum".
- [OK] good 147 "shaitan@my-domain.thisisminekthx".
- [OK] good 148 "foobar@192.168.0.1".
- [OK] good 149 "\"Joe\\Blow\"@iana.org".
- [OK] good 150 "HM2Kinsists@(that comments are a...
- [OK] good 151 "user%uucp!path@berkeley.edu".
- [OK] good 152 "first.last @iana.org".
- [OK] good 153 "cdburgess+!#$%&'*-/=?+_{}|~test@...
- [OK] good 154 "first.last@[IPv6:a1:a2:a3:a4:b1:...
- [OK] good 155 "first.last@[IPv6:::]".
- [OK] good 156 "first.last@[IPv6:::b4]".
- [OK] good 157 "first.last@[IPv6:::b3:b4]".
- [OK] good 158 "first.last@[IPv6:a1::b4]".
- [OK] good 159 "first.last@[IPv6:a1::]".
- [OK] good 160 "first.last@[IPv6:a1:a2::]".
- [OK] good 161 "first.last@[IPv6:0123:4567:89ab:...
- [OK] good 162 "first.last@[IPv6:0123:4567:89ab:...
- [OK] good 163 "first.last@[IPv6:::a3:a4:b1:ffff...
- [OK] good 164 "first.last@[IPv6:a1:a2:a3:a4::11...
- [OK] good 165 "first.last@[IPv6:a1:a2:a3:a4:b1:...
- [OK] good 166 "first.last@[IPv6:a1::11.22.33.44]".
- [OK] good 167 "first.last@[IPv6:a1:a2::11.22.33...
- [OK] good 168 "first.last@[IPv6:0123:4567:89ab:...
- [OK] good 169 "first.last@[IPv6:0123:4567:89ab:...
- [OK] good 170 "first.last@[IPv6:a1::b2:11.22.33...
- [OK] good 171 "first.last@[IPv6:::a2:a3:a4:b1:b...
- [OK] good 172 "first.last@[IPv6:::a2:a3:a4:b1:f...
- [OK] good 173 "test@test.com".
- [OK] good 174 "test@xn--example.com".
- [OK] good 175 "test@example.com".
- [OK] good 176 "\231\148\168\230\136\183@\228\19...
- [OK] good 177 "\224\164\133\224\164\156\224\164...
- [OK] good 178 "\208\186\208\178\209\150\209\130...
- [OK] good 179 "\206\184\207\131\206\181\207\129...
- [OK] good 180 "D\195\182rte@S\195\182rensen.exa...
- [OK] good 181 "\208\186\208\190\208\187\209\143...
- [OK] bad 0 "".
- [OK] bad 1 "mary".
- [OK] bad 2 "@".
- [OK] bad 3 "mary@".
- [OK] bad 4 "@io".
- [OK] bad 5 "@example.net".
- [OK] bad 6 ".mary@example.net".
- [OK] bad 7 "jdoe.@example.net".
- [OK] bad 8 "pete..silly.test".
- [OK] bad 9 "sm_i-th.com".
- [OK] bad 10 "mary\\@jdoe@one.test".
- [OK] bad 11 "jdoe@.one.test".
- [OK] bad 12 "jdon@one.test.".
- [OK] bad 13 "boss@nil..test".
- [OK] bad 14 "\"\"\"@example.net".
- [OK] bad 15 "\"\\\"@example.net".
- [OK] bad 16 "jdoe\"@machine.example".
- [OK] bad 17 "\"jdoe@machine.example".
- [OK] bad 18 "\"john\"public@example.com".
- [OK] bad 19 "john\"public\"@example.com".
- [OK] bad 20 "\"john\"\"public\"@example.com".
- [OK] bad 21 "\"mary\000\"@home.example".
- [OK] bad 22 "pete@a[255.255.255.255]".
- [OK] bad 23 "((comment)smith@home.example".
- [OK] bad 24 "smith(coment)doe@home.example".
- [OK] bad 25 "robert@henry.com\r".
- [OK] bad 26 "(smith@home.example".
- [OK] bad 27 "robert@[1.2.3.4".
- [OK] bad 28 "\"john\\\"@example.com".
- [OK] bad 29 "(comment\\)smith@home.example".
- [OK] bad 30 "smith@home.example(comment\\)".
- [OK] bad 31 "smith@home.example(comment\\".
- [OK] bad 32 "robert@[RFC5322-[domain-literal\...
- [OK] bad 33 "robert@[RFC5322-[domain-literal]".
- [OK] bad 34 "robert@[RFC5322-[domain-literal\\".
- [OK] bad 35 "marx@capitalism.ru\r".
- [OK] bad 36 "\rmarx@capitalism.ru".
- [OK] bad 37 "\"\rmarx\"@capitalism.ru".
- [OK] bad 38 "(\r)marx@capitalism.ru".
- [OK] bad 39 "marx@capitalism.ru(\r)".
- [OK] bad 40 "smith@communism.uk\n".
- [OK] bad 41 "\nsmith@communism.uk".
- [OK] bad 42 "\"\nsmith\"@communism.uk".
- [OK] bad 43 "(\n)smith@communism.uk".
- [OK] bad 44 "smith@communism.uk(\n)".
- [OK] bad 45 "first.last@sub.do,com".
- [OK] bad 46 "first\\@last@iana.org".
- [OK] bad 47 "first.last".
- [OK] bad 48 ".first.last@iana.org".
- [OK] bad 49 "first.last.@iana.org".
- [OK] bad 50 "first..last@iana.org".
- [OK] bad 51 "\"first\"last\"@iana.org".
- [OK] bad 52 "\"\"\"@iana.org".
- [OK] bad 53 "\"\\\"@iana.org".
- [OK] bad 54 "\"\"@iana.org".
- [OK] bad 55 "first\\@last@iana.org".
- [OK] bad 56 "first.last@".
- [OK] bad 57 "first.last@[.12.34.56.78]".
- [OK] bad 58 "first.last@[12.34.56.789]".
- [OK] bad 59 "first.last@[::12.34.56.78]".
- [OK] bad 60 "first.last@[IPv5:::12.34.56.78]".
- [OK] bad 61 "first.last@[IPv6:1111:2222:3333:...
- [OK] bad 62 "first.last@[IPv6:1111:2222:3333:...
- [OK] bad 63 "first.last@[IPv6:1111:2222:3333:...
- [OK] bad 64 "first.last@[IPv6:1111:2222:3333:...
- [OK] bad 65 "first.last@[IPv6:1111:2222::3333...
- [OK] bad 66 "first.last@[IPv6:1111:2222:333x:...
- [OK] bad 67 "first.last@[IPv6:1111:2222:33333...
- [OK] bad 68 "abc\\@def@iana.org".
- [OK] bad 69 "abc\\@iana.org".
- [OK] bad 70 "@iana.org".
- [OK] bad 71 "doug@".
- [OK] bad 72 "\"qu@iana.org".
- [OK] bad 73 "ote\"@iana.org".
- [OK] bad 74 ".dot@iana.org".
- [OK] bad 75 "dot.@iana.org".
- [OK] bad 76 "two..dot@iana.org".
- [OK] bad 77 "\"Doug \"Ace\" L.\"@iana.org".
- [OK] bad 78 "Doug\\ \\\"Ace\\\"\\ L\\.@iana.o...
- [OK] bad 79 "hello world@iana.org".
- [OK] bad 80 "gatsby@f.sc.ot.t.f.i.tzg.era.l.d.".
- [OK] bad 81 "test.iana.org".
- [OK] bad 82 "test.@iana.org".
- [OK] bad 83 "test..test@iana.org".
- [OK] bad 84 ".test@iana.org".
- [OK] bad 85 "test@test@iana.org".
- [OK] bad 86 "test@@iana.org".
- [OK] bad 87 "-- test --@iana.org".
- [OK] bad 88 "[test]@iana.org".
- [OK] bad 89 "\"test\"test\"@iana.org".
- [OK] bad 90 "()[]\\;:,><@iana.org".
- [OK] bad 91 "test@.".
- [OK] bad 92 "test@example.".
- [OK] bad 93 "test@.org".
- [OK] bad 94 "test@[123.123.123.123".
- [OK] bad 95 "test@123.123.123.123]".
- [OK] bad 96 "NotAnEmail".
- [OK] bad 97 "NotAnEmail".
- [OK] bad 98 "\"test\"blah\"@iana.org".
- [OK] bad 99 ".wooly@iana.org".
- [OK] bad 100 "wo..oly@iana.org".
- [OK] bad 101 "pootietang.@iana.org".
- [OK] bad 102 ".@iana.org".
- [OK] bad 103 "Ima Fool@iana.org".
- [OK] bad 104 "phil.h\\@\\@ck@haacked.com".
- [OK] bad 105 "first\\last@iana.org".
- [OK] bad 106 "Abc\\@def@iana.org".
- [OK] bad 107 "Fred\\ Bloggs@iana.org".
- [OK] bad 108 "Joe.\\Blow@iana.org".
- [OK] bad 109 "first.last@[IPv6:1111:2222:3333:...
- [OK] bad 110 "{^c\\@**Dog^}@cartoon.com".
- [OK] bad 111 "cal(foo(bar)@iamcal.com".
- [OK] bad 112 "cal(foo\\)@iamcal.com".
- [OK] bad 113 "cal(foo)bar)@iamcal.com".
- [OK] bad 114 "first(middle)last@iana.org".
- [OK] bad 115 "a(a(b(c)d(e(f))g)(h(i)j)@iana.org".
- [OK] bad 116 ".@".
- [OK] bad 117 "@bar.com".
- [OK] bad 118 "@@bar.com".
- [OK] bad 119 "aaa.com".
- [OK] bad 120 "aaa@.com".
- [OK] bad 121 "aaa@.com".
- [OK] bad 122 "aaa@.123".
- [OK] bad 123 "aaa@[123.123.123.123]a".
- [OK] bad 124 "aaa@[123.123.123.333]".
- [OK] bad 125 "a@bar.com.".
- [OK] bad 126 "-@..com".
- [OK] bad 127 "-@a..com".
- [OK] bad 128 "test@...........com".
- [OK] bad 129 "\"\000 \"@char.com".
- [OK] bad 130 "\000@char.com".
- [OK] bad 131 "first.last@[IPv6::]".
- [OK] bad 132 "first.last@[IPv6::::]".
- [OK] bad 133 "first.last@[IPv6::b4]".
- [OK] bad 134 "first.last@[IPv6::::b4]".
- [OK] bad 135 "first.last@[IPv6::b3:b4]".
- [OK] bad 136 "first.last@[IPv6::::b3:b4]".
- [OK] bad 137 "first.last@[IPv6:a1:::b4]".
- [OK] bad 138 "first.last@[IPv6:a1:]".
- [OK] bad 139 "first.last@[IPv6:a1:::]".
- [OK] bad 140 "first.last@[IPv6:a1:a2:]".
- [OK] bad 141 "first.last@[IPv6:a1:a2:::]".
- [OK] bad 142 "first.last@[IPv6::11.22.33.44]".
- [OK] bad 143 "first.last@[IPv6::::11.22.33.44]".
- [OK] bad 144 "first.last@[IPv6:a1:11.22.33.44]".
- [OK] bad 145 "first.last@[IPv6:a1:::11.22.33.4...
- [OK] bad 146 "first.last@[IPv6:a1:a2:::11.22.3...
- [OK] bad 147 "first.last@[IPv6:0123:4567:89ab:...
- [OK] bad 148 "first.last@[IPv6:0123:4567:89ab:...
- [OK] bad 149 "first.last@[IPv6:a1::a4:b1::b4:1...
- [OK] bad 150 "first.last@[IPv6:a1::11.22.33]".
- [OK] bad 151 "first.last@[IPv6:a1::11.22.33.44...
- [OK] bad 152 "first.last@[IPv6:a1::b211.22.33....
- [OK] bad 153 "first.last@[IPv6:a1::11.22.33]".
- [OK] bad 154 "first.last@[IPv6:a1::11.22.33.44...
- [OK] bad 155 "first.last@[IPv6:a1::b211.22.33....
- [OK] bad 156 "first.last@[IPv6:a1::b2::11.22.3...
- [OK] bad 157 "first.last@[IPv6:a1::b3:]".
- [OK] bad 158 "first.last@[IPv6::a2::b4]".
- [OK] bad 159 "first.last@[IPv6:a1:a2:a3:a4:b1:...
- [OK] bad 160 "first.last@[IPv6::a2:a3:a4:b1:b2...
- [OK] bad 161 "first.last@[IPv6:a1:a2:a3:a4::b1...
- [OK] bad 162 "=?us-ascii?Q?Chri's_Smith?= =?us...
- [OK] bad 163 "jdoe@[RFC-5322-\\a-domain-litera...
- [OK] bad 164 "jdoe@[RFC-5322-\\t-domain-litera...
- [OK] bad 165 "jdoe@[RFC-5322-\\]-domain-litera...
- [OK] bad 166 "jdoe@[RFC-5322-domain-literal] (...
- [OK] order 0 [gmail.com; x25519.net].
- [OK] order 1 [x25519.net; gmail.com].
- [OK] order 2 [foo; foo.bar].
- [OK] order 3 [foo.bar; foo].
- [OK] order 4 [[0.0.0.0]; [127.0.0.1]].
- [OK] order 5 [[0.0.0.0]; foo].
- [OK] order 6 [foo; [0.0.0.0]].
- [OK] order 7 [[foo]; [bar]].
- [OK] order 8 [[foo]; foo; [0.0.0.0]].
- [OK] order 9 [[foo]; foo].
- [OK] order 10 [foo; [foo]].
- [OK] order 11 [[127.0.0.1]; [foo]].
- [OK] order 12 [[foo]; [127.0.0.1]].
- [OK] order 13 [foo."bar"; "bar".foo].
- [OK] order 14 [bar.foo; "foo"."bar"].
- [OK] order 15 [foo; foo.bar].
- [OK] order 16 [foo.bar; foo].
- [OK] str 0 "Mary Smith <mary@example.net>".
- [OK] str 1 "Mary Smith <mary@x.test>, jdoe@e...
- [OK] str 2 "A Group:Ed Jones <c@a.test>,joe@...
- [OK] str 3 "Undisclosed recipients:;".
- [OK] str 4 "\"Mary Smith: Personal Account\"...
- [OK] str 5 "John Doe <jdoe@machine.example>".
- [OK] str 6 "Pete(A nice \\) chap) <pete(his ...
- [OK] str 7 "A Group(Some people) :Chris J...
- [OK] str 8 "(Empty list)(start)Hidden recipi...
- [OK] str 9 "Mary Smith <@node.test:mary@exam...
- [OK] str 10 "Joe Q. Public <john.q.public@exa...
- [OK] str 11 "John Doe <jdoe@machine(comment)....
- [OK] str 12 "Mary Smith <mary@example.net>".
- [OK] str 13 "<boss@nil.test>, \"Giant; \\\"Bi...
- [OK] str 14 "!#$%&`*+/=?^`{|}~@iana.org".
- [OK] str 15 "(\007;)mary@example.net".
- [OK] str 16 "\"\\\n\"@x.test".
- [OK] str 17 "\"\\a\"@x.test".
- [OK] str 18 "\"\007\"@x.test".
- [OK] str 19 "\"\\\007\"@x.test".
- [OK] str 20 "pete@[255.255.255.255]".
- [OK] str 21 "\"mary\"@example.net".
- [OK] str 22 "\"\\\"\"@example.net".
- [OK] str 23 "\"john\".\"public\"@example.com".
- [OK] str 24 "\"mary smith\"@home.example".
- [OK] str 25 "\"mary\".smith@home.example".
- [OK] str 26 "\"mary\\\000\"@home.example".
- [OK] str 27 " richard @home.example".
- [OK] str 28 "richar@ home .example".
- [OK] str 29 "mary . smith@y.test".
- [OK] str 30 " jdoe@example.net".
- [OK] str 31 " jdoe@example.net".
- [OK] str 32 "(comment)smith@home.example".
- [OK] str 33 "(comment(comment))smith@home.exa...
- [OK] str 34 "smith@(comment)home.example".
- [OK] str 35 "smith@(comment)[255.255.255.255]".
- [OK] str 36 "robert@xn--hxajbheg2az3al.xn--jx...
- [OK] str 37 "xn--robert@x.test".
- [OK] str 38 "stephane+blog@bortzmeyer.org".
- [OK] str 39 "{tropdur}@example.org".
- [OK] str 40 "c&a@hotmail.com".
- [OK] str 41 "directeur@arts-premiers.museum".
- [OK] str 42 "\"Stephane[Bortzmeyer]\"@laposte...
- [OK] str 43 "first.last@iana.org".
- [OK] str 44 "12345678901234567890123456789012...
- [OK] str 45 "\"first\\\"last\"@iana.org".
- [OK] str 46 "\"first@last\"@iana.org".
- [OK] str 47 "\"first\\last\"@iana.org".
- [OK] str 48 "first.last@[12.34.56.78]".
- [OK] str 49 "first.last@[IPv6:::12.34.56.78]".
- [OK] str 50 "first.last@[IPv6:1111:2222:3333:...
- [OK] str 51 "first.last@[IPv6:1111:2222:3333:...
- [OK] str 52 "first.last@[IPv6:::1111:2222:333...
- [OK] str 53 "first.last@[IPv6:1111:2222:3333:...
- [OK] str 54 "first.last@[IPv6:1111:2222:3333:...
- [OK] str 55 "first.last@[IPv6:1111:2222:3333:...
- [OK] str 56 "first.last@x23456789012345678901...
- [OK] str 57 "first.last@3com.com".
- [OK] str 58 "first.last@123.iana.org".
- [OK] str 59 "first.last@[IPv6:1111:2222:3333:...
- [OK] str 60 "first.last@[IPv6:1111:2222:3333:...
- [OK] str 61 "first.last@example.123".
- [OK] str 62 "first.last@com".
- [OK] str 63 "!#$%&'*+-/=?^_`.{|}~@example.com".
- [OK] str 64 "\"Abc@def\"@example.com".
- [OK] str 65 "\"Abc\\@def\"@iana.org".
- [OK] str 66 "\"Fred\\ Bloggs\"@iana.org".
- [OK] str 67 "\"Joe.\\Blow\"@iana.org".
- [OK] str 68 "\"Abc@def\"@iana.org".
- [OK] str 69 "\"Fred Bloggs\"@iana.org".
- [OK] str 70 "user+mailbox@iana.org".
- [OK] str 71 "customer/department=shipping@ian...
- [OK] str 72 "$A12345@iana.org".
- [OK] str 73 "!def!xyz%abc@iana.org".
- [OK] str 74 "_somename@iana.org".
- [OK] str 75 "dclo@us.ibm.com".
- [OK] str 76 "peter.piper@iana.org".
- [OK] str 77 "\"Doug \\\"Ace\\\" L.\"@iana.org".
- [OK] str 78 "test@iana.org".
- [OK] str 79 "TEST@iana.org".
- [OK] str 80 "1234567890@iana.org".
- [OK] str 81 "test+test@iana.org".
- [OK] str 82 "test-test@iana.org".
- [OK] str 83 "t*est@iana.org".
- [OK] str 84 "+1~1+@iana.org".
- [OK] str 85 "{_test_}@iana.org".
- [OK] str 86 "\"[[ test ]]\"@iana.org".
- [OK] str 87 "test.test@iana.org".
- [OK] str 88 "\"test.test\"@iana.org".
- [OK] str 89 "test.\"test\"@iana.org".
- [OK] str 90 "\"test@test\"@iana.org".
- [OK] str 91 "test@123.123.123.x123".
- [OK] str 92 "test@123.123.123.123".
- [OK] str 93 "test@[123.123.123.123]".
- [OK] str 94 "test@example.iana.org".
- [OK] str 95 "test@example.example.iana.org".
- [OK] str 96 "\"test\\test\"@iana.org".
- [OK] str 97 "test@example".
- [OK] str 98 "\"test\\blah\"@iana.org".
- [OK] str 99 "\"test\\\"blah\"@iana.org".
- [OK] str 100 "customer/department@iana.org".
- [OK] str 101 "_Yosemite.Sam@iana.org".
- [OK] str 102 "~@iana.org".
- [OK] str 103 "\"Austin@Powers\"@iana.org".
- [OK] str 104 "Ima.Fool@iana.org".
- [OK] str 105 "\"Ima.Fool\"@iana.org".
- [OK] str 106 "\"Ima Fool\"@iana.org".
- [OK] str 107 "\"first\".\"last\"@iana.org".
- [OK] str 108 "\"first\".middle.\"last\"@iana.o...
- [OK] str 109 "\"first\".last@iana.org".
- [OK] str 110 "first.\"last\"@iana.org".
- [OK] str 111 "\"first\".\"middle\".\"last\"@ia...
- [OK] str 112 "\"first.middle\".\"last\"@iana.o...
- [OK] str 113 "\"first.middle.last\"@iana.org".
- [OK] str 114 "\"first..last\"@iana.org".
- [OK] str 115 "\"first\\\\\\\"last\"@iana.org".
- [OK] str 116 "first.\"mid\\dle\".\"last\"@iana...
- [OK] str 117 "\"test blah\"@iana.org".
- [OK] str 118 "(foo)cal(bar)@(baz)iamcal.com(qu...
- [OK] str 119 "cal@iamcal(woo).(yay)com".
- [OK] str 120 "cal(woo(yay)hoopla)@iamcal.com".
- [OK] str 121 "cal(foo\\@bar)@iamcal.com".
- [OK] str 122 "cal(foo\\)bar)@iamcal.com".
- [OK] str 123 "first().last@iana.org".
- [OK] str 124 "pete(his account)@silly.test(his...
- [OK] str 125 "c@(Chris's host.)public.example".
- [OK] str 126 "jdoe@machine(comment). example".
- [OK] str 127 "1234 @ local(blah) .machine .exa...
- [OK] str 128 "first(abc.def).last@iana.org".
- [OK] str 129 "first(a\"bc.def).last@iana.org".
- [OK] str 130 "first.(\")middle.last(\")@iana.o...
- [OK] str 131 "first(abc\\(def)@iana.org".
- [OK] str 132 "first.last@x(1234567890123456789...
- [OK] str 133 "a(a(b(c)d(e(f))g)h(i)j)@iana.org".
- [OK] str 134 "name.lastname@domain.com".
- [OK] str 135 "a@b".
- [OK] str 136 "a@bar.com".
- [OK] str 137 "aaa@[123.123.123.123]".
- [OK] str 138 "a@bar".
- [OK] str 139 "a-b@bar.com".
- [OK] str 140 "+@b.c".
- [OK] str 141 "+@b.com".
- [OK] str 142 "a@b.co-foo.uk".
- [OK] str 143 "\"hello my name is\"@stutter.com".
- [OK] str 144 "\"Romain \" <romain@github.com>".
- [OK] str 145 "\"Test \\\"Fail\\\" Ing\"@iana.o...
- [OK] str 146 "valid@about.museum".
- [OK] str 147 "shaitan@my-domain.thisisminekthx".
- [OK] str 148 "foobar@192.168.0.1".
- [OK] str 149 "\"Joe\\Blow\"@iana.org".
- [OK] str 150 "HM2Kinsists@(that comments are a...
- [OK] str 151 "user%uucp!path@berkeley.edu".
- [OK] str 152 "first.last @iana.org".
- [OK] str 153 "cdburgess+!#$%&'*-/=?+_{}|~test@...
- [OK] str 154 "first.last@[IPv6:a1:a2:a3:a4:b1:...
- [OK] str 155 "first.last@[IPv6:::]".
- [OK] str 156 "first.last@[IPv6:::b4]".
- [OK] str 157 "first.last@[IPv6:::b3:b4]".
- [OK] str 158 "first.last@[IPv6:a1::b4]".
- [OK] str 159 "first.last@[IPv6:a1::]".
- [OK] str 160 "first.last@[IPv6:a1:a2::]".
- [OK] str 161 "first.last@[IPv6:0123:4567:89ab:...
- [OK] str 162 "first.last@[IPv6:0123:4567:89ab:...
- [OK] str 163 "first.last@[IPv6:::a3:a4:b1:ffff...
- [OK] str 164 "first.last@[IPv6:a1:a2:a3:a4::11...
- [OK] str 165 "first.last@[IPv6:a1:a2:a3:a4:b1:...
- [OK] str 166 "first.last@[IPv6:a1::11.22.33.44]".
- [OK] str 167 "first.last@[IPv6:a1:a2::11.22.33...
- [OK] str 168 "first.last@[IPv6:0123:4567:89ab:...
- [OK] str 169 "first.last@[IPv6:0123:4567:89ab:...
- [OK] str 170 "first.last@[IPv6:a1::b2:11.22.33...
- [OK] str 171 "first.last@[IPv6:::a2:a3:a4:b1:b...
- [OK] str 172 "first.last@[IPv6:::a2:a3:a4:b1:f...
- [OK] str 173 "test@test.com".
- [OK] str 174 "test@xn--example.com".
- [OK] str 175 "test@example.com".
- [OK] str 176 "\231\148\168\230\136\183@\228\19...
- [OK] str 177 "\224\164\133\224\164\156\224\164...
- [OK] str 178 "\208\186\208\178\209\150\209\130...
- [OK] str 179 "\206\184\207\131\206\181\207\129...
- [OK] str 180 "D\195\182rte@S\195\182rensen.exa...
- [OK] str 181 "\208\186\208\190\208\187\209\143...
- [OK] pretty-printer 0 "K." <k.j@a.net>.
- [OK] pretty-printer 1 "K. " <k.j@a.net>.
- [OK] pretty-printer 2 a@b.com.
- [OK] pretty-printer 3 A <a@b.net>.
- [OK] pretty-printer 4 <@a.net:x@b.net>.
- [OK] pretty-printer 5 A <@a.net:x@b.net>.
- [OK] pretty-printer 6 <@a.net,@b.net:x@c.net>.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/emile.1.1/_build/default/test/_build/_tests/Address test'.
- Test Successful in 0.105s. 555 tests run.
-> compiled emile.1.1
-> removed emile.1.1
-> installed emile.1.1
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 19:28.14 ---> saved as "81d6d3dc62a93b5023edfddc91ab85f685c7096de34af2f1e9d8662e81e6266c"
Job succeeded
2026-03-25 19:28.36: Job succeeded