- github
- ocaml
- opam-repository
- 3e0c39
- compilers,5.4,dune.3.22.2,revdeps,testo.0.4.0
(not at the head of any monitored branch or PR)
2026-04-10 17:47.49: New job: test testo.0.4.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 testo.0.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" != 'testo.0.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 --with-test testo.0.4.0) || true
RUN opam reinstall --with-test --verbose testo.0.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" != 'testo.0.4.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.49: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03-dune.3.22.2-testo.0.4.0-3e0c395e7b1393a792367f8edca3654dac71e6fd"
2026-04-10 17:47.49: 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 testo.0.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\" != 'testo.0.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 (network host)
(shell "(opam reinstall --with-test testo.0.4.0) || true"))
(run (shell "opam reinstall --with-test --verbose testo.0.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\" != 'testo.0.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"))
)
2026-04-10 17:47.49: Waiting for resource in pool OCluster
2026-04-11 00:43.47: Waiting for worker…
2026-04-11 00:45.29: Got resource from pool OCluster
Building on bremusa.ocamllabs.io
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 00:45.31 ---> 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 00:45.31 ---> 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 00:45.31 ---> 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 00:45.31 ---> 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 00:45.31 ---> using "8be7be6786c965fdad4454d936ba98cc5fa516f8de8fee90f280618661533faa" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-04-11 00:45.32 ---> using "c0553ba1781e82471f38f012874b6b7341f662c325cc75285bfd7972f7a6ff87" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-11 00:45.32 ---> 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 (1725 kB/s)
- Reading package lists...
-
2026-04-11 00:45.32 ---> 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 00:45.32 ---> 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 00:45.32 ---> using "6f94ccb4a18327fa9742ec042c4183209005d455af95ec03af9e9453c8a8c9d1" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall testo.0.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\" != 'testo.0.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"))
testo.0.4.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 17 packages
- install astring 0.8.5 [required by fpath]
- install cmdliner 2.1.0 [required by testo]
- install cppo 1.8.0 [required by ppx_deriving]
- install fpath 0.7.3 [required by testo]
- install ocaml-compiler-libs v0.17.0 [required by ppxlib]
- install ocamlbuild 0.16.1 [required by fpath]
- install ocamlfind 1.9.8 [required by fpath]
- install ppx_derivers 1.2.1 [required by ppx_deriving]
- install ppx_deriving 6.1.1 [required by testo-util]
- install ppxlib 0.38.0 [required by ppx_deriving]
- install re 1.14.0 [required by testo]
- install sexplib0 v0.17.0 [required by ppxlib]
- install stdlib-shims 0.3.0 [required by ppxlib]
- install testo 0.4.0
- install testo-diff 0.4.0 [required by testo-util]
- install testo-util 0.4.0 [required by testo]
- install topkg 1.1.1 [required by fpath]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.5 (cached)
-> retrieved cmdliner.2.1.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved fpath.0.7.3 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppx_deriving.6.1.1 (cached)
-> installed ppx_derivers.1.2.1
-> retrieved ppxlib.0.38.0 (cached)
-> retrieved re.1.14.0 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> installed stdlib-shims.0.3.0
-> retrieved testo.0.4.0, testo-diff.0.4.0, testo-util.0.4.0 (cached)
-> installed cppo.1.8.0
-> installed sexplib0.v0.17.0
-> installed ocaml-compiler-libs.v0.17.0
-> retrieved topkg.1.1.1 (cached)
-> installed re.1.14.0
-> installed ocamlfind.1.9.8
-> installed cmdliner.2.1.0
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed ppxlib.0.38.0
-> installed ppx_deriving.6.1.1
-> installed testo-diff.0.4.0
-> installed testo-util.0.4.0
-> installed testo.0.4.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 00:46.10 ---> saved as "2eb2c534e1a2612401f789bec00ab8c20c698c639945bd7d31553d35312795ea"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test testo.0.4.0) || true"))
The following actions will be performed:
=== recompile 1 package
- recompile testo 0.4.0
=== install 4 packages
- install alcotest 1.9.1 [required by testo]
- install fmt 0.11.0 [required by alcotest]
- install ocaml-syntax-shims 1.0.0 [required by alcotest]
- install uutf 1.0.4 [required by alcotest]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1 (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0 (https://opam.ocaml.org/cache)
-> retrieved ocaml-syntax-shims.1.0.0 (https://opam.ocaml.org/cache)
-> retrieved testo.0.4.0 (https://opam.ocaml.org/cache)
-> retrieved uutf.1.0.4 (https://opam.ocaml.org/cache)
-> installed ocaml-syntax-shims.1.0.0
-> installed fmt.0.11.0
-> removed testo.0.4.0
-> installed uutf.1.0.4
-> installed alcotest.1.9.1
-> installed testo.0.4.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 00:46.22 ---> saved as "f694487367385a1f95db5ce8cfd3e3f7ddc96c1006e665e09a4434adf2c49e68"
/home/opam: (run (shell "opam reinstall --with-test --verbose testo.0.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\" != 'testo.0.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 1 package
- recompile testo 0.4.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/4: [testo.0.4.0: extract]
-> retrieved testo.0.4.0 (cached)
Processing 2/4: [testo: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "testo" "-j" "71" "@install" "@runtest" (CWD=/home/opam/.opam/5.4/.opam-switch/build/testo.0.4.0)
- (cd _build/default/tests && ./test_alcotest.exe -C ../../..)
- Legend:
- • [PASS]: a successful test that was expected to succeed (good);
- • [FAIL]: a failing test that was expected to succeed (needs fixing);
- • [XFAIL]: a failing test that was expected to fail (tolerated failure);
- • [XPASS]: a successful test that was expected to fail (progress?).
- • [MISS]: a test that never ran;
- • [SKIP]: a test that is always skipped but kept around for some reason;
- • [xxxx*]: a new test for which there's no expected output yet.
- In this case, you should review the test output and run the 'approve'
- subcommand once you're satisfied with the output.
- Try '--help' for options. Use '--expert' to hide this legend.
- [RUN] f17aaabc20bf basic
- [RUN] 85349a4a9157 xfail
- [RUN] d1a055429711 capture stdout
- [RUN] bf36d37e7d10 check stdout (ignored by alcotest)
- [PASS] bf36d37e7d10 check stdout (ignored by alcotest)
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/test-alcotest/bf36d37e7d10/stdout
- • Path to captured stdout: _build/testo/status/test-alcotest/bf36d37e7d10/stdout
- • Path to captured log: _build/testo/status/test-alcotest/bf36d37e7d10/log
- [PASS] d1a055429711 capture stdout
- • Path to captured log: _build/testo/status/test-alcotest/d1a055429711/log
- [XFAIL] 85349a4a9157 xfail
- • Expected to fail: the test function raises an exception
- • Path to captured log: _build/testo/status/test-alcotest/85349a4a9157/log
- [PASS] f17aaabc20bf basic
- • Path to captured log: _build/testo/status/test-alcotest/f17aaabc20bf/log
- 4/4 selected tests:
- 4 successful (3 pass, 1 xfail)
- 0 unsuccessful (0 fail, 0 xpass)
- overall status: success
- Testo exit code: 0
- Testing `test-alcotest'.
- This run has ID `H2YMT707'.
-
- [OK] f17aaabc20bf basic 0 ...
- [OK] 85349a4a9157 [xfail] xfail 0 ...
- [OK] d1a055429711 capture stdout 0 ...
- [OK] bf36d37e7d10 check stdout (ignored by alcotest) 0 ...
-
- Full test results in `~/.opam/5.4/.opam-switch/build/testo.0.4.0/_build/_tests/test-alcotest'.
- Test Successful in 0.001s. 4 tests run.
- (cd _build/default/tests && ./test.exe -C ../../..)
- Legend:
- • [PASS]: a successful test that was expected to succeed (good);
- • [FAIL]: a failing test that was expected to succeed (needs fixing);
- • [XFAIL]: a failing test that was expected to fail (tolerated failure);
- • [XPASS]: a successful test that was expected to fail (progress?).
- • [MISS]: a test that never ran;
- • [SKIP]: a test that is always skipped but kept around for some reason;
- • [xxxx*]: a new test for which there's no expected output yet.
- In this case, you should review the test output and run the 'approve'
- subcommand once you're satisfied with the output.
- Try '--help' for options. Use '--expert' to hide this legend.
- [RUN SOLO: testing] 9213dcc500f4 solo 1/2
- [PASS] 9213dcc500f4 solo 1/2
- • This is a solo test, set to not run concurrently with other tests. Reason: testing
- • Path to captured log: _build/testo/status/testo_tests/9213dcc500f4/log
- [RUN SOLO: testing] b10dcbd5d4b9 solo 2/2
- [PASS] b10dcbd5d4b9 solo 2/2
- • This is a solo test, set to not run concurrently with other tests. Reason: testing
- • Path to captured log: _build/testo/status/testo_tests/b10dcbd5d4b9/log
- [RUN SOLO: run in same process so as to share context] 2e4063b681b3 shared context merged output 1
- [PASS] 2e4063b681b3 shared context merged output 1
- • This is a solo test, set to not run concurrently with other tests. Reason: run in same process so as to share context
- • Path to captured log: _build/testo/status/testo_tests/2e4063b681b3/log
- [RUN SOLO: run in same process so as to share context] 1ca04c6d775f shared context merged output 2
- [PASS] 1ca04c6d775f shared context merged output 2
- • This is a solo test, set to not run concurrently with other tests. Reason: run in same process so as to share context
- • Path to captured log: _build/testo/status/testo_tests/1ca04c6d775f/log
- [RUN SOLO: run in same process so as to share context] bf55db9dc3f0 shared context split output 1
- [PASS] bf55db9dc3f0 shared context split output 1
- • This is a solo test, set to not run concurrently with other tests. Reason: run in same process so as to share context
- • Path to captured log: _build/testo/status/testo_tests/bf55db9dc3f0/log
- [RUN SOLO: run in same process so as to share context] cb28cacab289 shared context split output 2
- [PASS] cb28cacab289 shared context split output 2
- • This is a solo test, set to not run concurrently with other tests. Reason: run in same process so as to share context
- • Path to captured log: _build/testo/status/testo_tests/cb28cacab289/log
- [RUN] 8dbdda48fb87 simple
- [RUN] bd1c5167dc34 category > subcategory > category
- [RUN] a885dcf169da checked output file names
- [RUN] c97a5036c7e6 string list fail if DEMO is set
- [RUN] 0c2f56ef73e6 text fail if DEMO is set
- [RUN] 2c57c8917bfb unchecked stdout
- [RUN] 68358d78cb0b unchecked stderr
- [RUN] d0fb18eaf104 capture one file
- [RUN] 894b5f5931fd fail to capture one file
- [RUN] c86c9fc3ac85 show exception on xfail
- [RUN] 0ac34585feff auto show exception on xfail
- [RUN] d01c1bdbafaa don't show exception on xfail
- [RUN] 85349a4a9157 xfail
- [RUN] e52e279299e9 skipped
- [RUN] a55170a13733 tracking URL
- [RUN] 91a3c9030236 chdir
- [RUN] c10b96c9a177 with environment variables ok
- [RUN] df3dde6aa501 with environment variables bad
- [RUN] a3e1a604f579 masked
- [RUN] 3b24997d50c8 mask_pcre_pattern
- [RUN] e8a3ba3cf9b4 mask_temp_paths
- [RUN] cb1a0033f274 mask exotic temp paths
- [RUN] 59046838dc2d contains substring
- [RUN] 130a6f0e870f contains pcre pattern
- [RUN] df76b0fc2d37 filter_map_lines
- [RUN] d07f2170491b remove matching lines
- [RUN] 2f713596bc5a keep matching lines
- [RUN] d5b0041ea8f4 check for substring in stdout
- [RUN] 99746f633129 check words in stdout
- [RUN] 7e7e7c09bfff check for substrings in stdout
- [RUN] 0c9b830b2217 error formatting
- [RUN] 4afe6ca04afb error formatting text
- [RUN] 10daafb2d3e3 error formatting multiline quoted string
- [RUN] c960c2c6dd09 error formatting short list
- [RUN] de010ee95914 error formatting long list
- [RUN] 8ffa228d38e7 error formatting long tuple
- [RUN] afc104393bac temporary files
- [RUN] 1f85f39d5e9a user output capture
- [RUN] bf116ef3934b diff > hello
- [RUN] c0c423c0300c diff > six-lines
- [RUN] 8e08941de3ba diff > leading-context
- [RUN] 7d073a531ccf diff > leading-context-short
- [RUN] 1cf5a6371f59 diff > trailing-context
- [RUN] 8ae0ad03ce59 diff > joined-context
- [RUN] 360c4b690be4 diff > gap-in-context
- [RUN] e9a14b7e5dd9 (unix_only) diff > lf-crlf-only
- [RUN] 8f4b9e56ac4d (unix_only) diff > crlf-lf-only
- [RUN] 8339c60608b4 (unix_only) diff > lf-crlf
- [RUN] ee1aad685657 (unix_only) diff > crlf-lf
- [RUN] b23196a133ca diff > missing-eol-only
- [RUN] af675587c5e7 (windows_only) roundtrip lf from text channel
- [RUN] 6f04dbd84794 roundtrip crlf from binary channel
- [RUN] ca552d6359ef diff > missing-eol
- [RUN] 08e4221951ee current test
- [RUN] e06ba5b7f0ea write/read/map file
- [RUN] 76465929ce2f write/read/map file in place
- [RUN] 33a93d234d01 biohazard > fruit > apple
- [RUN] ec7514c8554d biohazard > fruit > kiwi
- [RUN] b8cd199f2e62 biohazard > animal > banana slug
- [RUN] 4a0adc56173a Slice > empty 1/1
- [RUN] 2ae5c882730e Slice > empty 1/5
- [RUN] 5290cda648b1 Slice > empty 5/5
- [RUN] 69942982f070 Slice > short 1/5
- [RUN] c7e9d9cc5ced Slice > short 3/5
- [RUN] 880486950fd4 Slice > short 4/5
- [RUN] c7cf03355e3e Slice > short 5/5
- [RUN] c248034012cb Slice > even 1/3
- [RUN] b0f035899167 Slice > even 2/3
- [RUN] 89fe151186d4 Slice > even 3/3
- [RUN] 5a01ad65d512 Slice > long 1/3
- [RUN] 913605e2d932 Slice > long 2/3
- [RUN] 6adba8fe4ac9 Slice > long 3/3
- [SKIP: This test does not make sense on Unix] af675587c5e7 (windows_only) roundtrip lf from text channel
- [RUN] 8a4a3d95651b Slice > chained 1/3 2/2
- [PASS] 4a0adc56173a Slice > empty 1/1
- • Path to captured log: _build/testo/status/testo_tests/4a0adc56173a/log
- [RUN] a8cc405c1f92 Slice > chained 2/3 1/2
- [PASS] c960c2c6dd09 error formatting short list
- • Checked output: stderr
- • Path to expected stderr: tests/snapshots/testo_tests/c960c2c6dd09/stderr
- • Path to captured stderr: _build/testo/status/testo_tests/c960c2c6dd09/stderr
- • Path to captured log: _build/testo/status/testo_tests/c960c2c6dd09/log
- [RUN] 74333515fe26 Slice > chained 2/3 2/2
- [PASS] de010ee95914 error formatting long list
- • Checked output: stderr
- • Path to expected stderr: tests/snapshots/testo_tests/de010ee95914/stderr
- • Path to captured stderr: _build/testo/status/testo_tests/de010ee95914/stderr
- • Path to captured log: _build/testo/status/testo_tests/de010ee95914/log
- [RUN] f53b982bad4a tag selection > simple in
- [PASS] c7cf03355e3e Slice > short 5/5
- • Path to captured log: _build/testo/status/testo_tests/c7cf03355e3e/log
- [RUN] fede921dbdf2 tag selection > simple out
- [PASS] c7e9d9cc5ced Slice > short 3/5
- • Path to captured log: _build/testo/status/testo_tests/c7e9d9cc5ced/log
- [RUN] 76f34458096c tag selection > complex in
- [PASS] 69942982f070 Slice > short 1/5
- • Path to captured log: _build/testo/status/testo_tests/69942982f070/log
- [RUN] b347f3932e7d tag selection > complex out
- [PASS] 5290cda648b1 Slice > empty 5/5
- • Path to captured log: _build/testo/status/testo_tests/5290cda648b1/log
- [RUN] 0e636dc9c20f tag selection > not
- [PASS] fede921dbdf2 tag selection > simple out
- • Path to captured log: _build/testo/status/testo_tests/fede921dbdf2/log
- [RUN] 45f32faa1917 tag selection > all
- [PASS] c248034012cb Slice > even 1/3
- • Path to captured log: _build/testo/status/testo_tests/c248034012cb/log
- [RUN] f81bfc072e53 tag selection > none
- [PASS] b0f035899167 Slice > even 2/3
- • Path to captured log: _build/testo/status/testo_tests/b0f035899167/log
- [PASS] 913605e2d932 Slice > long 2/3
- • Path to captured log: _build/testo/status/testo_tests/913605e2d932/log
- [PASS] 6adba8fe4ac9 Slice > long 3/3
- • Path to captured log: _build/testo/status/testo_tests/6adba8fe4ac9/log
- [PASS] 5a01ad65d512 Slice > long 1/3
- • Path to captured log: _build/testo/status/testo_tests/5a01ad65d512/log
- [PASS] 89fe151186d4 Slice > even 3/3
- • Path to captured log: _build/testo/status/testo_tests/89fe151186d4/log
- [PASS] f81bfc072e53 tag selection > none
- • Path to captured log: _build/testo/status/testo_tests/f81bfc072e53/log
- [PASS] 45f32faa1917 tag selection > all
- • Path to captured log: _build/testo/status/testo_tests/45f32faa1917/log
- [PASS] 880486950fd4 Slice > short 4/5
- • Path to captured log: _build/testo/status/testo_tests/880486950fd4/log
- [PASS] 76f34458096c tag selection > complex in
- • Path to captured log: _build/testo/status/testo_tests/76f34458096c/log
- [PASS] b347f3932e7d tag selection > complex out
- • Path to captured log: _build/testo/status/testo_tests/b347f3932e7d/log
- [PASS] 0e636dc9c20f tag selection > not
- • Path to captured log: _build/testo/status/testo_tests/0e636dc9c20f/log
- [PASS] 2ae5c882730e Slice > empty 1/5
- • Path to captured log: _build/testo/status/testo_tests/2ae5c882730e/log
- [PASS] a8cc405c1f92 Slice > chained 2/3 1/2
- • Path to captured log: _build/testo/status/testo_tests/a8cc405c1f92/log
- [PASS] b8cd199f2e62 biohazard > animal > banana slug
- • Path to captured log: _build/testo/status/testo_tests/b8cd199f2e62/log
- [PASS] ec7514c8554d biohazard > fruit > kiwi
- • Path to captured log: _build/testo/status/testo_tests/ec7514c8554d/log
- [PASS] 33a93d234d01 biohazard > fruit > apple
- • Path to captured log: _build/testo/status/testo_tests/33a93d234d01/log
- [PASS] 76465929ce2f write/read/map file in place
- • Path to captured log: _build/testo/status/testo_tests/76465929ce2f/log
- [PASS] e06ba5b7f0ea write/read/map file
- • Path to captured log: _build/testo/status/testo_tests/e06ba5b7f0ea/log
- [PASS] 08e4221951ee current test
- • Path to captured log: _build/testo/status/testo_tests/08e4221951ee/log
- [PASS] ca552d6359ef diff > missing-eol
- • Checked output: stdout
- • Path to expected missing-eol.diff: tests/diff-data/missing-eol.diff
- • Path to captured missing-eol.diff: _build/testo/status/testo_tests/ca552d6359ef/stdout
- • Path to captured log: _build/testo/status/testo_tests/ca552d6359ef/log
- [PASS] 6f04dbd84794 roundtrip crlf from binary channel
- • Path to captured log: _build/testo/status/testo_tests/6f04dbd84794/log
- [PASS] 8a4a3d95651b Slice > chained 1/3 2/2
- • Path to captured log: _build/testo/status/testo_tests/8a4a3d95651b/log
- [PASS] b23196a133ca diff > missing-eol-only
- • Checked output: stdout
- • Path to expected missing-eol-only.diff: tests/diff-data/missing-eol-only.diff
- • Path to captured missing-eol-only.diff: _build/testo/status/testo_tests/b23196a133ca/stdout
- • Path to captured log: _build/testo/status/testo_tests/b23196a133ca/log
- [PASS] ee1aad685657 (unix_only) diff > crlf-lf
- • Checked output: stdout
- • Path to expected crlf-lf.diff: tests/diff-data/crlf-lf.diff
- • Path to captured crlf-lf.diff: _build/testo/status/testo_tests/ee1aad685657/stdout
- • Path to captured log: _build/testo/status/testo_tests/ee1aad685657/log
- [PASS] 8339c60608b4 (unix_only) diff > lf-crlf
- • Checked output: stdout
- • Path to expected lf-crlf.diff: tests/diff-data/lf-crlf.diff
- • Path to captured lf-crlf.diff: _build/testo/status/testo_tests/8339c60608b4/stdout
- • Path to captured log: _build/testo/status/testo_tests/8339c60608b4/log
- [PASS] 8f4b9e56ac4d (unix_only) diff > crlf-lf-only
- • Checked output: stdout
- • Path to expected crlf-lf-only.diff: tests/diff-data/crlf-lf-only.diff
- • Path to captured crlf-lf-only.diff: _build/testo/status/testo_tests/8f4b9e56ac4d/stdout
- • Path to captured log: _build/testo/status/testo_tests/8f4b9e56ac4d/log
- [PASS] e9a14b7e5dd9 (unix_only) diff > lf-crlf-only
- • Checked output: stdout
- • Path to expected lf-crlf-only.diff: tests/diff-data/lf-crlf-only.diff
- • Path to captured lf-crlf-only.diff: _build/testo/status/testo_tests/e9a14b7e5dd9/stdout
- • Path to captured log: _build/testo/status/testo_tests/e9a14b7e5dd9/log
- [PASS] 360c4b690be4 diff > gap-in-context
- • Checked output: stdout
- • Path to expected gap-in-context.diff: tests/diff-data/gap-in-context.diff
- • Path to captured gap-in-context.diff: _build/testo/status/testo_tests/360c4b690be4/stdout
- • Path to captured log: _build/testo/status/testo_tests/360c4b690be4/log
- [PASS] 8ae0ad03ce59 diff > joined-context
- • Checked output: stdout
- • Path to expected joined-context.diff: tests/diff-data/joined-context.diff
- • Path to captured joined-context.diff: _build/testo/status/testo_tests/8ae0ad03ce59/stdout
- • Path to captured log: _build/testo/status/testo_tests/8ae0ad03ce59/log
- [PASS] 1cf5a6371f59 diff > trailing-context
- • Checked output: stdout
- • Path to expected trailing-context.diff: tests/diff-data/trailing-context.diff
- • Path to captured trailing-context.diff: _build/testo/status/testo_tests/1cf5a6371f59/stdout
- • Path to captured log: _build/testo/status/testo_tests/1cf5a6371f59/log
- [PASS] 7d073a531ccf diff > leading-context-short
- • Checked output: stdout
- • Path to expected leading-context-short.diff: tests/diff-data/leading-context-short.diff
- • Path to captured leading-context-short.diff: _build/testo/status/testo_tests/7d073a531ccf/stdout
- • Path to captured log: _build/testo/status/testo_tests/7d073a531ccf/log
- [PASS] 8e08941de3ba diff > leading-context
- • Checked output: stdout
- • Path to expected leading-context.diff: tests/diff-data/leading-context.diff
- • Path to captured leading-context.diff: _build/testo/status/testo_tests/8e08941de3ba/stdout
- • Path to captured log: _build/testo/status/testo_tests/8e08941de3ba/log
- [PASS] c0c423c0300c diff > six-lines
- • Checked output: stdout
- • Path to expected six-lines.diff: tests/diff-data/six-lines.diff
- • Path to captured six-lines.diff: _build/testo/status/testo_tests/c0c423c0300c/stdout
- • Path to captured log: _build/testo/status/testo_tests/c0c423c0300c/log
- [PASS] bf116ef3934b diff > hello
- • Checked output: stdout
- • Path to expected hello.diff: tests/diff-data/hello.diff
- • Path to captured hello.diff: _build/testo/status/testo_tests/bf116ef3934b/stdout
- • Path to captured log: _build/testo/status/testo_tests/bf116ef3934b/log
- [PASS] 1f85f39d5e9a user output capture
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/testo_tests/1f85f39d5e9a/stdout
- • Path to captured stdout: _build/testo/status/testo_tests/1f85f39d5e9a/stdout
- • Path to captured log: _build/testo/status/testo_tests/1f85f39d5e9a/log
- [PASS] afc104393bac temporary files
- • Path to captured log: _build/testo/status/testo_tests/afc104393bac/log
- [PASS] 8ffa228d38e7 error formatting long tuple
- • Checked output: stderr
- • Path to expected stderr: tests/snapshots/testo_tests/8ffa228d38e7/stderr
- • Path to captured stderr: _build/testo/status/testo_tests/8ffa228d38e7/stderr
- • Path to captured log: _build/testo/status/testo_tests/8ffa228d38e7/log
- [PASS] f53b982bad4a tag selection > simple in
- • Path to captured log: _build/testo/status/testo_tests/f53b982bad4a/log
- [PASS] 74333515fe26 Slice > chained 2/3 2/2
- • Path to captured log: _build/testo/status/testo_tests/74333515fe26/log
- [PASS] 10daafb2d3e3 error formatting multiline quoted string
- • Checked output: stderr
- • Path to expected stderr: tests/snapshots/testo_tests/10daafb2d3e3/stderr
- • Path to captured stderr: _build/testo/status/testo_tests/10daafb2d3e3/stderr
- • Path to captured log: _build/testo/status/testo_tests/10daafb2d3e3/log
- [PASS] 4afe6ca04afb error formatting text
- • Checked output: stderr
- • Path to expected stderr: tests/snapshots/testo_tests/4afe6ca04afb/stderr
- • Path to captured stderr: _build/testo/status/testo_tests/4afe6ca04afb/stderr
- • Path to captured log: _build/testo/status/testo_tests/4afe6ca04afb/log
- [PASS] 0c9b830b2217 error formatting
- • Checked output: stderr
- • Path to expected stderr: tests/snapshots/testo_tests/0c9b830b2217/stderr
- • Path to captured stderr: _build/testo/status/testo_tests/0c9b830b2217/stderr
- • Path to captured log: _build/testo/status/testo_tests/0c9b830b2217/log
- [PASS] 7e7e7c09bfff check for substrings in stdout
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/testo_tests/7e7e7c09bfff/stdout
- • Path to captured stdout: _build/testo/status/testo_tests/7e7e7c09bfff/stdout [.orig]
- • Path to captured log: _build/testo/status/testo_tests/7e7e7c09bfff/log
- [PASS] 99746f633129 check words in stdout
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/testo_tests/99746f633129/stdout
- • Path to captured stdout: _build/testo/status/testo_tests/99746f633129/stdout [.orig]
- • Path to captured log: _build/testo/status/testo_tests/99746f633129/log
- [PASS] d5b0041ea8f4 check for substring in stdout
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/testo_tests/d5b0041ea8f4/stdout
- • Path to captured stdout: _build/testo/status/testo_tests/d5b0041ea8f4/stdout [.orig]
- • Path to captured log: _build/testo/status/testo_tests/d5b0041ea8f4/log
- [PASS] 2f713596bc5a keep matching lines
- • Path to captured log: _build/testo/status/testo_tests/2f713596bc5a/log
- [PASS] d07f2170491b remove matching lines
- • Path to captured log: _build/testo/status/testo_tests/d07f2170491b/log
- [PASS] df76b0fc2d37 filter_map_lines
- • Path to captured log: _build/testo/status/testo_tests/df76b0fc2d37/log
- [PASS] 130a6f0e870f contains pcre pattern
- • Path to captured log: _build/testo/status/testo_tests/130a6f0e870f/log
- [PASS] 59046838dc2d contains substring
- • Path to captured log: _build/testo/status/testo_tests/59046838dc2d/log
- [PASS] cb1a0033f274 mask exotic temp paths
- • Path to captured log: _build/testo/status/testo_tests/cb1a0033f274/log
- [PASS] e8a3ba3cf9b4 mask_temp_paths
- • Path to captured log: _build/testo/status/testo_tests/e8a3ba3cf9b4/log
- [PASS] 3b24997d50c8 mask_pcre_pattern
- • Path to captured log: _build/testo/status/testo_tests/3b24997d50c8/log
- [PASS] a3e1a604f579 masked
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/testo_tests/a3e1a604f579/stdout
- • Path to captured stdout: _build/testo/status/testo_tests/a3e1a604f579/stdout [.orig]
- • Path to captured log: _build/testo/status/testo_tests/a3e1a604f579/log
- [XFAIL] df3dde6aa501 with environment variables bad
- • Expected to fail: fail to restore environment variable
- • Path to captured log: _build/testo/status/testo_tests/df3dde6aa501/log
- [PASS] c10b96c9a177 with environment variables ok
- • Path to captured log: _build/testo/status/testo_tests/c10b96c9a177/log
- [PASS] 91a3c9030236 chdir
- • Path to captured log: _build/testo/status/testo_tests/91a3c9030236/log
- [PASS] a55170a13733 tracking URL
- • Tracking URL: https://example.com/issue/1234
- • Path to captured log: _build/testo/status/testo_tests/a55170a13733/log
- [SKIP: some reason] e52e279299e9 skipped
- [XFAIL] 85349a4a9157 xfail
- • Expected to fail: raises exception on purpose
- • Path to captured log: _build/testo/status/testo_tests/85349a4a9157/log
- [XFAIL] d01c1bdbafaa don't show exception on xfail
- • Expected to fail: raises Failure exception on purpose
- • Path to captured log: _build/testo/status/testo_tests/d01c1bdbafaa/log
- [XFAIL] 0ac34585feff auto show exception on xfail
- • Expected to fail: raises Failure exception on purpose
- • Path to captured log: _build/testo/status/testo_tests/0ac34585feff/log
- [XFAIL] c86c9fc3ac85 show exception on xfail
- • Expected to fail: raises Failure exception on purpose
- • Path to captured log: _build/testo/status/testo_tests/c86c9fc3ac85/log
- • Log (stdout, stderr) is empty.
- • Exception raised by the test:
- Failure("This exception was raised on purpose")
- Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33
- Called from Testo__Promise.protect.(fun) in file "core/Promise.ml", line 31, characters 6-13
- Called from Testo__Monad.catch in file "core/Monad.ml", line 14, characters 6-13
- Re-raised at Testo__Promise.protect.(fun) in file "core/Promise.ml", line 34, characters 36-75
- Called from Testo__Promise.protect.(fun) in file "core/Promise.ml", line 31, characters 6-13
- ... (for the full stack backtrace, use --stack-backtrace, -v, or --verbose)
- [XFAIL*] 894b5f5931fd fail to capture one file
- • Expected to fail: must raise exception
- • Checked output file: results.txt
- • Missing captured output file: _build/testo/status/testo_tests/894b5f5931fd/file-results.txt [cwd: /home/opam/.opam/5.4/.opam-switch/build/testo.0.4.0]
- • If you ran the test already, you may have forgotten to call 'Testo.stash_output_file' in the test function.
- • Missing file containing the expected output: tests/snapshots/testo_tests/894b5f5931fd/file-results.txt [cwd: /home/opam/.opam/5.4/.opam-switch/build/testo.0.4.0]
- • Path to captured log: _build/testo/status/testo_tests/894b5f5931fd/log
- • Path to expected results.txt: tests/snapshots/testo_tests/894b5f5931fd/file-results.txt
- • Path to captured results.txt: _build/testo/status/testo_tests/894b5f5931fd/file-results.txt
- [PASS] d0fb18eaf104 capture one file
- • Checked output file: results.txt
- • Path to captured log: _build/testo/status/testo_tests/d0fb18eaf104/log
- • Path to expected results.txt: tests/snapshots/testo_tests/d0fb18eaf104/file-results.txt
- • Path to captured results.txt: _build/testo/status/testo_tests/d0fb18eaf104/file-results.txt
- [PASS] 68358d78cb0b unchecked stderr
- • Path to captured log: _build/testo/status/testo_tests/68358d78cb0b/log
- [PASS] 2c57c8917bfb unchecked stdout
- • Path to captured log: _build/testo/status/testo_tests/2c57c8917bfb/log
- [PASS] 0c2f56ef73e6 text fail if DEMO is set
- • Path to captured log: _build/testo/status/testo_tests/0c2f56ef73e6/log
- [PASS] c97a5036c7e6 string list fail if DEMO is set
- • Path to captured log: _build/testo/status/testo_tests/c97a5036c7e6/log
- [PASS] a885dcf169da checked output file names
- • Path to captured log: _build/testo/status/testo_tests/a885dcf169da/log
- [PASS] bd1c5167dc34 category > subcategory > category
- • Path to captured log: _build/testo/status/testo_tests/bd1c5167dc34/log
- [PASS] 8dbdda48fb87 simple
- • Path to captured log: _build/testo/status/testo_tests/8dbdda48fb87/log
- 88/88 selected tests:
- 2 skipped
- 86 successful (80 pass, 6 xfail)
- 0 unsuccessful (0 fail, 0 xpass)
- overall status: success
- (cd _build/default/tests && ./meta_test.exe -C ../../..)
- Legend:
- • [PASS]: a successful test that was expected to succeed (good);
- • [FAIL]: a failing test that was expected to succeed (needs fixing);
- • [XFAIL]: a failing test that was expected to fail (tolerated failure);
- • [XPASS]: a successful test that was expected to fail (progress?).
- • [MISS]: a test that never ran;
- • [SKIP]: a test that is always skipped but kept around for some reason;
- • [xxxx*]: a new test for which there's no expected output yet.
- In this case, you should review the test output and run the 'approve'
- subcommand once you're satisfied with the output.
- Try '--help' for options. Use '--expert' to hide this legend.
- [RUN] fccf02a5c37e standard flow
- [PASS] fccf02a5c37e standard flow
- • Checked output: merged stdout and stderr
- • Path to expected stdxxx: tests/snapshots/testo_meta_tests/fccf02a5c37e/stdxxx
- • Path to captured stdxxx: _build/testo/status/testo_meta_tests/fccf02a5c37e/stdxxx [.orig]
- [RUN] a1982e6b3f31 fewer workers than tests
- [PASS] a1982e6b3f31 fewer workers than tests
- • Checked output: merged stdout and stderr
- • Path to expected stdxxx: tests/snapshots/testo_meta_tests/a1982e6b3f31/stdxxx
- • Path to captured stdxxx: _build/testo/status/testo_meta_tests/a1982e6b3f31/stdxxx [.orig]
- [RUN] f69772f11d92 more workers than tests
- [PASS] f69772f11d92 more workers than tests
- • Checked output: merged stdout and stderr
- • Path to expected stdxxx: tests/snapshots/testo_meta_tests/f69772f11d92/stdxxx
- • Path to captured stdxxx: _build/testo/status/testo_meta_tests/f69772f11d92/stdxxx [.orig]
- [RUN] e08f1a2376cc failing flow run
- [XFAIL] e08f1a2376cc failing flow run
- • Expected to fail: the invoked test suite is designed to fail
- • Path to captured log: _build/testo/status/testo_meta_tests/e08f1a2376cc/log
- [RUN] aab772337325 failing flow status
- [XFAIL] aab772337325 failing flow status
- • Expected to fail: the invoked test suite is designed to fail
- • Path to captured log: _build/testo/status/testo_meta_tests/aab772337325/log
- [RUN] 596c793ae5e2 timeout flow run
- [PASS] 596c793ae5e2 timeout flow run
- • Path to captured log: _build/testo/status/testo_meta_tests/596c793ae5e2/log
- [RUN] 7f655ecdf1f2 timeout flow status
- [PASS] 7f655ecdf1f2 timeout flow status
- • Checked output: merged stdout and stderr
- • Path to expected stdxxx: tests/snapshots/testo_meta_tests/7f655ecdf1f2/stdxxx
- • Path to captured stdxxx: _build/testo/status/testo_meta_tests/7f655ecdf1f2/stdxxx [.orig]
- [RUN] 293e6233c5a2 output masking for failing tests
- [XFAIL] 293e6233c5a2 output masking for failing tests
- • Expected to fail: expected to fail
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/testo_meta_tests/293e6233c5a2/stdout
- • Path to captured stdout: _build/testo/status/testo_meta_tests/293e6233c5a2/stdout [.orig]
- • Path to captured log: _build/testo/status/testo_meta_tests/293e6233c5a2/log
- [RUN] 14c5e5fd13eb approve xfail
- [PASS] 14c5e5fd13eb approve xfail
- • Checked output: merged stdout and stderr
- • Path to expected stdxxx: tests/snapshots/testo_meta_tests/14c5e5fd13eb/stdxxx
- • Path to captured stdxxx: _build/testo/status/testo_meta_tests/14c5e5fd13eb/stdxxx
- [RUN] 1915e1b1e032 multi selection
- [PASS] 1915e1b1e032 multi selection
- • Path to captured log: _build/testo/status/testo_meta_tests/1915e1b1e032/log
- [RUN] c381881a6f9a new output file capture
- [PASS] c381881a6f9a new output file capture
- • Path to captured log: _build/testo/status/testo_meta_tests/c381881a6f9a/log
- [RUN] dab7f8a516ce updated output file capture
- [PASS] dab7f8a516ce updated output file capture
- • Path to captured log: _build/testo/status/testo_meta_tests/dab7f8a516ce/log
- [RUN] 09a1af4a20b0 max inline log size
- [PASS] 09a1af4a20b0 max inline log size
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/testo_meta_tests/09a1af4a20b0/stdout
- • Path to captured stdout: _build/testo/status/testo_meta_tests/09a1af4a20b0/stdout [.orig]
- • Path to captured log: _build/testo/status/testo_meta_tests/09a1af4a20b0/log
- [RUN] b44050392a05 no max inline log size
- [PASS] b44050392a05 no max inline log size
- • Checked output: stdout
- • Path to expected stdout: tests/snapshots/testo_meta_tests/b44050392a05/stdout
- • Path to captured stdout: _build/testo/status/testo_meta_tests/b44050392a05/stdout [.orig]
- • Path to captured log: _build/testo/status/testo_meta_tests/b44050392a05/log
- 1 folder no longer belongs to the test suite and can be removed manually or with '--autoclean':
- tests/snapshots/testo_meta_tests/a6f0e8152651 approve output that used to be incorrect but tolerated: XFAIL -> XPASS
- 14/14 selected tests:
- 14 successful (11 pass, 3 xfail)
- 0 unsuccessful (0 fail, 0 xpass)
- overall status: success
-> compiled testo.0.4.0
-> removed testo.0.4.0
-> installed testo.0.4.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 00:46.30 ---> saved as "bc4ec652a7b1fea8cabe1ea501ae0b7c5e4eb2e9f4db77e53c8c2fbd48a5cc9a"
Job succeeded
2026-04-11 00:46.39: Job succeeded