Organisationsmbarbinvcs8d8913 ()debian-12-5.2_opam-2.3

debian-12-5.2_opam-2.3

Link Copied
Code Copied

Logs

2025-06-10 08:50.23: New job: test mbarbin/vcs https://github.com/mbarbin/vcs.git#refs/heads/main (8d8913bc99a139272cf08ab4820be955364c7d3f) (linux-x86_64:debian-12-5.2_opam-2.3)
Base: ocaml/opam:debian-12-ocaml-5.2@sha256:a17317e9abe385dc16b4390c64a374046d6dd562e80aea838d91c6c1335da357
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/mbarbin/vcs.git" -b "main" && cd "vcs" && git reset --hard 8d8913bc
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-5.2@sha256:a17317e9abe385dc16b4390c64a374046d6dd562e80aea838d91c6c1335da357
# debian-12-5.2_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 1a11c92ed328069e79caabba3776e1f3862c8f71 || git fetch origin master) && git reset -q --hard 1a11c92ed328069e79caabba3776e1f3862c8f71 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 volgo.opam volgo-vcs.opam volgo-tests.opam volgo-hg-unix.opam volgo-hg-eio.opam volgo-hg-backend.opam volgo-git-unix.opam volgo-git-eio.opam volgo-git-backend.opam volgo-dev.opam volgo-base.opam vcs-test-helpers.opam ./
RUN opam pin add -yn volgo.dev './' && \
opam pin add -yn volgo-vcs.dev './' && \
opam pin add -yn volgo-tests.dev './' && \
opam pin add -yn volgo-hg-unix.dev './' && \
opam pin add -yn volgo-hg-eio.dev './' && \
opam pin add -yn volgo-hg-backend.dev './' && \
opam pin add -yn volgo-git-unix.dev './' && \
opam pin add -yn volgo-git-eio.dev './' && \
opam pin add -yn volgo-git-backend.dev './' && \
opam pin add -yn volgo-dev.dev './' && \
opam pin add -yn volgo-base.dev './' && \
opam pin add -yn vcs-test-helpers.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="astring.0.8.5 base.v0.17.2 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base base_bigstring.v0.17.0 base_quickcheck.v0.17.0 bigstringaf.0.10.0 bin_prot.v0.17.0-1 camlp-streams.5.0.1 capitalization.v0.17.0 cmdlang.0.0.9 cmdlang-to-cmdliner.0.0.9 cmdliner.1.3.0 conf-git.1.1 core.v0.17.1 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 domain-local-await.1.0.1 dune.3.19.0 dune-configurator.3.19.0 dyn.3.19.0 eio.1.2 eio_linux.1.2 eio_main.1.2 eio_posix.1.2 expect_test_helpers_core.v0.17.0 fieldslib.v0.17.0 fmt.0.10.0 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 gel.v0.17.0 hmap.0.8.1 int_repr.v0.17.0 iomux.0.3 jane-street-headers.v0.17.0 jst-config.v0.17.0 loc.0.2.2 logs.0.8.0 lwt-dllist.1.1.0 mdx.2.5.0 mtime.2.1.0 num.1.5-1 ocaml.5.2.1 ocaml-base-compiler.5.2.1 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 optint.0.3.0 ordering.3.19.0 parsexp.v0.17.0 pp.2.0.0 pplumbing.0.0.14 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_bench.v0.17.0 ppx_bin_prot.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_custom_printf.v0.17.0 ppx_derivers.1.2.1 ppx_diff.v0.17.0 ppx_disable_unused_warnings.v0.17.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_fixed_literal.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_ignore_instrumentation.v0.17.0 ppx_inline_test.v0.17.0 ppx_jane.v0.17.0 ppx_let.v0.17.0 ppx_log.v0.17.0 ppx_module_timer.v0.17.0 ppx_optcomp.v0.17.0 ppx_optional.v0.17.0 ppx_pipebang.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_sexp_message.v0.17.0 ppx_sexp_value.v0.17.0 ppx_stable.v0.17.0 ppx_stable_witness.v0.17.0 ppx_string.v0.17.0 ppx_string_conv.v0.17.0 ppx_tydi.v0.17.0 ppx_typerep_conv.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.0 psq.0.2.1 re.1.12.0 result.1.5 seq.base sexp_pretty.v0.17.0 sexplib.v0.17.0 sexplib0.v0.17.0 spawn.v0.17.0 splittable_random.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 stdune.3.19.0 thread-table.1.0.0 time_now.v0.17.0 topkg.1.0.8 typerep.v0.17.1 uring.0.9 variantslib.v0.17.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y volgo.dev volgo-vcs.dev volgo-tests.dev volgo-hg-unix.dev volgo-hg-eio.dev volgo-hg-backend.dev volgo-git-unix.dev volgo-git-eio.dev volgo-git-backend.dev volgo-dev.dev volgo-base.dev vcs-test-helpers.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build


END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK


2025-06-10 08:50.23: Using cache hint "mbarbin/vcs-ocaml/opam:debian-12-ocaml-5.2@sha256:a17317e9abe385dc16b4390c64a374046d6dd562e80aea838d91c6c1335da357-debian-12-5.2_opam-2.3-0ebca1252229a2ba791c01371000cdc2"
2025-06-10 08:50.23: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-5.2@sha256:a17317e9abe385dc16b4390c64a374046d6dd562e80aea838d91c6c1335da357)
(comment debian-12-5.2_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 1a11c92ed328069e79caabba3776e1f3862c8f71 || git fetch origin master) && git reset -q --hard 1a11c92ed328069e79caabba3776e1f3862c8f71 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src volgo.opam volgo-vcs.opam volgo-tests.opam volgo-hg-unix.opam volgo-hg-eio.opam volgo-hg-backend.opam volgo-git-unix.opam volgo-git-eio.opam volgo-git-backend.opam volgo-dev.opam volgo-base.opam vcs-test-helpers.opam)
(dst ./))
(run (network host)
(shell  "opam pin add -yn volgo.dev './' && \
\nopam pin add -yn volgo-vcs.dev './' && \
\nopam pin add -yn volgo-tests.dev './' && \
\nopam pin add -yn volgo-hg-unix.dev './' && \
\nopam pin add -yn volgo-hg-eio.dev './' && \
\nopam pin add -yn volgo-hg-backend.dev './' && \
\nopam pin add -yn volgo-git-unix.dev './' && \
\nopam pin add -yn volgo-git-eio.dev './' && \
\nopam pin add -yn volgo-git-backend.dev './' && \
\nopam pin add -yn volgo-dev.dev './' && \
\nopam pin add -yn volgo-base.dev './' && \
\nopam pin add -yn vcs-test-helpers.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "astring.0.8.5 base.v0.17.2 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base base_bigstring.v0.17.0 base_quickcheck.v0.17.0 bigstringaf.0.10.0 bin_prot.v0.17.0-1 camlp-streams.5.0.1 capitalization.v0.17.0 cmdlang.0.0.9 cmdlang-to-cmdliner.0.0.9 cmdliner.1.3.0 conf-git.1.1 core.v0.17.1 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 domain-local-await.1.0.1 dune.3.19.0 dune-configurator.3.19.0 dyn.3.19.0 eio.1.2 eio_linux.1.2 eio_main.1.2 eio_posix.1.2 expect_test_helpers_core.v0.17.0 fieldslib.v0.17.0 fmt.0.10.0 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 gel.v0.17.0 hmap.0.8.1 int_repr.v0.17.0 iomux.0.3 jane-street-headers.v0.17.0 jst-config.v0.17.0 loc.0.2.2 logs.0.8.0 lwt-dllist.1.1.0 mdx.2.5.0 mtime.2.1.0 num.1.5-1 ocaml.5.2.1 ocaml-base-compiler.5.2.1 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 optint.0.3.0 ordering.3.19.0 parsexp.v0.17.0 pp.2.0.0 pplumbing.0.0.14 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_bench.v0.17.0 ppx_bin_prot.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_custom_printf.v0.17.0 ppx_derivers.1.2.1 ppx_diff.v0.17.0 ppx_disable_unused_warnings.v0.17.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_fixed_literal.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_ignore_instrumentation.v0.17.0 ppx_inline_test.v0.17.0 ppx_jane.v0.17.0 ppx_let.v0.17.0 ppx_log.v0.17.0 ppx_module_timer.v0.17.0 ppx_optcomp.v0.17.0 ppx_optional.v0.17.0 ppx_pipebang.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_sexp_message.v0.17.0 ppx_sexp_value.v0.17.0 ppx_stable.v0.17.0 ppx_stable_witness.v0.17.0 ppx_string.v0.17.0 ppx_string_conv.v0.17.0 ppx_tydi.v0.17.0 ppx_typerep_conv.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.0 psq.0.2.1 re.1.12.0 result.1.5 seq.base sexp_pretty.v0.17.0 sexplib.v0.17.0 sexplib0.v0.17.0 spawn.v0.17.0 splittable_random.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 stdune.3.19.0 thread-table.1.0.0 time_now.v0.17.0 topkg.1.0.8 typerep.v0.17.1 uring.0.9 variantslib.v0.17.0")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y volgo.dev volgo-vcs.dev volgo-tests.dev volgo-hg-unix.dev volgo-hg-eio.dev volgo-hg-backend.dev volgo-git-unix.dev volgo-git-eio.dev volgo-git-backend.dev volgo-dev.dev volgo-base.dev vcs-test-helpers.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(copy (src .) (dst /src))
(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)


2025-06-10 08:50.23: Waiting for resource in pool OCluster
2025-06-10 08:50.23: Waiting for worker…
2025-06-10 08:50.24: Got resource from pool OCluster
Building on toxis.caelum.ci.dev
All commits already cached
HEAD is now at 8d8913b Merge pull request #76 from mbarbin/spawn


(from ocaml/opam:debian-12-ocaml-5.2@sha256:a17317e9abe385dc16b4390c64a374046d6dd562e80aea838d91c6c1335da357)
2025-06-10 08:50.25 ---> using "54ec013a6f149facc0d7142b09647559c040b9be9f10f3b28aedc92eb0aa3eda" from cache


/: (comment debian-12-5.2_opam-2.3)


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


/: (env CLICOLOR_FORCE 1)


/: (env OPAMCOLOR always)


/: (workdir /src)


/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-06-10 08:50.25 ---> using "c2927949a690e79730c631d7a8829146d4d2b9a42c6543f46b7f5eb020a6256d" from cache


/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then 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.


Continue? [y/n] y
This development 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.


[NOTE] The 'jobs' option was reset, its value was 39 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=39 --global
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-06-10 08:50.25 ---> using "a7fd5cacf3665fbb975eef60f5b8ef985d00ea4b339eac782682eead64b75f01" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-134-generic
The OCaml toplevel, version 5.2.1
2.3.0
2025-06-10 08:50.25 ---> using "7adba0ccf89541c88b795935f2449fd37f815bccab093d57590be9ba50021241" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2025-06-10 08:50.25 ---> using "b491f791e6cf8593356bc2c9bd1da33ed7889986fb1cee97a62247171886e89a" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 1a11c92ed328069e79caabba3776e1f3862c8f71 || git fetch origin master) && git reset -q --hard 1a11c92ed328069e79caabba3776e1f3862c8f71 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
0d013e603b..6db96b377f  master     -> origin/master
1a11c92ed3 Merge pull request #27953 from ocaml/mseri-patch-1


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository


Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-06-10 08:50.25 ---> using "81773a2251c40abff07117c5ff1286b24fd15b9bc29170c3eb23d777c33d729f" from cache


/src: (copy (src volgo.opam volgo-vcs.opam volgo-tests.opam volgo-hg-unix.opam volgo-hg-eio.opam volgo-hg-backend.opam volgo-git-unix.opam volgo-git-eio.opam volgo-git-backend.opam volgo-dev.opam volgo-base.opam vcs-test-helpers.opam)
(dst ./))
2025-06-10 08:50.25 ---> using "9144af9a7b4648fc82a5c56485f166d3fdc286378a1bb434ac56b4d2d0ff7bd5" from cache


/src: (run (network host)
(shell  "opam pin add -yn volgo.dev './' && \
\nopam pin add -yn volgo-vcs.dev './' && \
\nopam pin add -yn volgo-tests.dev './' && \
\nopam pin add -yn volgo-hg-unix.dev './' && \
\nopam pin add -yn volgo-hg-eio.dev './' && \
\nopam pin add -yn volgo-hg-backend.dev './' && \
\nopam pin add -yn volgo-git-unix.dev './' && \
\nopam pin add -yn volgo-git-eio.dev './' && \
\nopam pin add -yn volgo-git-backend.dev './' && \
\nopam pin add -yn volgo-dev.dev './' && \
\nopam pin add -yn volgo-base.dev './' && \
\nopam pin add -yn vcs-test-helpers.dev './'"))
Package volgo does not exist, create as a NEW package? [y/n] y
[volgo.dev] synchronised (file:///src)
volgo is now pinned to file:///src (version dev)
Package volgo-vcs does not exist, create as a NEW package? [y/n] y
[volgo-vcs.dev] synchronised (file:///src)
volgo-vcs is now pinned to file:///src (version dev)
Package volgo-tests does not exist, create as a NEW package? [y/n] y
[volgo-tests.dev] synchronised (file:///src)
volgo-tests is now pinned to file:///src (version dev)
Package volgo-hg-unix does not exist, create as a NEW package? [y/n] y
[volgo-hg-unix.dev] synchronised (file:///src)
volgo-hg-unix is now pinned to file:///src (version dev)
Package volgo-hg-eio does not exist, create as a NEW package? [y/n] y
[volgo-hg-eio.dev] synchronised (file:///src)
volgo-hg-eio is now pinned to file:///src (version dev)
Package volgo-hg-backend does not exist, create as a NEW package? [y/n] y
[volgo-hg-backend.dev] synchronised (file:///src)
volgo-hg-backend is now pinned to file:///src (version dev)
Package volgo-git-unix does not exist, create as a NEW package? [y/n] y
[volgo-git-unix.dev] synchronised (file:///src)
volgo-git-unix is now pinned to file:///src (version dev)
Package volgo-git-eio does not exist, create as a NEW package? [y/n] y
[volgo-git-eio.dev] synchronised (file:///src)
volgo-git-eio is now pinned to file:///src (version dev)
Package volgo-git-backend does not exist, create as a NEW package? [y/n] y
[volgo-git-backend.dev] synchronised (file:///src)
volgo-git-backend is now pinned to file:///src (version dev)
Package volgo-dev does not exist, create as a NEW package? [y/n] y
[volgo-dev.dev] synchronised (file:///src)
volgo-dev is now pinned to file:///src (version dev)
Package volgo-base does not exist, create as a NEW package? [y/n] y
[volgo-base.dev] synchronised (file:///src)
volgo-base is now pinned to file:///src (version dev)
Package vcs-test-helpers does not exist, create as a NEW package? [y/n] y
[vcs-test-helpers.dev] synchronised (file:///src)
vcs-test-helpers is now pinned to file:///src (version dev)
2025-06-10 08:50.25 ---> using "2f1ec9f975042af2f8a5e680b77f41201da344865d89d7b3a10d43b7cc3e0569" from cache


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-06-10 08:50.25 ---> using "24242c87df3838fd1040bc7676886e415c7208073d9c9730998cb45665123026" from cache


/src: (env DEPS "astring.0.8.5 base.v0.17.2 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base base_bigstring.v0.17.0 base_quickcheck.v0.17.0 bigstringaf.0.10.0 bin_prot.v0.17.0-1 camlp-streams.5.0.1 capitalization.v0.17.0 cmdlang.0.0.9 cmdlang-to-cmdliner.0.0.9 cmdliner.1.3.0 conf-git.1.1 core.v0.17.1 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 domain-local-await.1.0.1 dune.3.19.0 dune-configurator.3.19.0 dyn.3.19.0 eio.1.2 eio_linux.1.2 eio_main.1.2 eio_posix.1.2 expect_test_helpers_core.v0.17.0 fieldslib.v0.17.0 fmt.0.10.0 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 gel.v0.17.0 hmap.0.8.1 int_repr.v0.17.0 iomux.0.3 jane-street-headers.v0.17.0 jst-config.v0.17.0 loc.0.2.2 logs.0.8.0 lwt-dllist.1.1.0 mdx.2.5.0 mtime.2.1.0 num.1.5-1 ocaml.5.2.1 ocaml-base-compiler.5.2.1 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 optint.0.3.0 ordering.3.19.0 parsexp.v0.17.0 pp.2.0.0 pplumbing.0.0.14 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_bench.v0.17.0 ppx_bin_prot.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_custom_printf.v0.17.0 ppx_derivers.1.2.1 ppx_diff.v0.17.0 ppx_disable_unused_warnings.v0.17.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_fixed_literal.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_ignore_instrumentation.v0.17.0 ppx_inline_test.v0.17.0 ppx_jane.v0.17.0 ppx_let.v0.17.0 ppx_log.v0.17.0 ppx_module_timer.v0.17.0 ppx_optcomp.v0.17.0 ppx_optional.v0.17.0 ppx_pipebang.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_sexp_message.v0.17.0 ppx_sexp_value.v0.17.0 ppx_stable.v0.17.0 ppx_stable_witness.v0.17.0 ppx_string.v0.17.0 ppx_string_conv.v0.17.0 ppx_tydi.v0.17.0 ppx_typerep_conv.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.0 psq.0.2.1 re.1.12.0 result.1.5 seq.base sexp_pretty.v0.17.0 sexplib.v0.17.0 sexplib0.v0.17.0 spawn.v0.17.0 splittable_random.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 stdune.3.19.0 thread-table.1.0.0 time_now.v0.17.0 topkg.1.0.8 typerep.v0.17.1 uring.0.9 variantslib.v0.17.0")


/src: (env CI true)


/src: (env OCAMLCI true)


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y volgo.dev volgo-vcs.dev volgo-tests.dev volgo-hg-unix.dev volgo-hg-eio.dev volgo-hg-backend.dev volgo-git-unix.dev volgo-git-eio.dev volgo-git-backend.dev volgo-dev.dev volgo-base.dev vcs-test-helpers.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8793 kB]
- Get:5 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [266 kB]
- Fetched 9313 kB in 2s (4750 kB/s)
- Reading package lists...
- 


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[vcs-test-helpers.dev] synchronised (file:///src)
[volgo.dev] synchronised (file:///src)
[volgo-base.dev] synchronised (file:///src)
[volgo-dev.dev] synchronised (file:///src)
[volgo-git-backend.dev] synchronised (file:///src)
[volgo-git-eio.dev] synchronised (file:///src)
[volgo-git-unix.dev] synchronised (file:///src)
[volgo-hg-backend.dev] synchronised (file:///src)
[volgo-hg-eio.dev] synchronised (file:///src)
[volgo-hg-unix.dev] synchronised (file:///src)
[volgo-tests.dev] synchronised (file:///src)
[volgo-vcs.dev] synchronised (file:///src)


[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.2.1).
[NOTE] Package ocaml is already installed (current version is 5.2.1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
2025-06-10 08:50.25 ---> using "a6aed0d6d0a8d253076cbed578f8117a8ee6df589bec4d665921d291af792b9e" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.2.1).
[NOTE] Package ocaml is already installed (current version is 5.2.1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 108 packages
- install astring                     0.8.5
- install base                        v0.17.2
- install base_bigstring              v0.17.0
- install base_quickcheck             v0.17.0
- install bigstringaf                 0.10.0
- install bin_prot                    v0.17.0-1
- install camlp-streams               5.0.1
- install capitalization              v0.17.0
- install cmdlang                     0.0.9
- install cmdlang-to-cmdliner         0.0.9
- install cmdliner                    1.3.0
- install conf-git                    1.1
- install core                        v0.17.1
- install cppo                        1.8.0
- install csexp                       1.5.2
- install cstruct                     6.2.0
- install domain-local-await          1.0.1
- install dune                        3.19.0
- install dune-configurator           3.19.0
- install dyn                         3.19.0
- install eio                         1.2
- install eio_linux                   1.2
- install eio_main                    1.2
- install eio_posix                   1.2
- install expect_test_helpers_core    v0.17.0
- install fieldslib                   v0.17.0
- install fmt                         0.10.0
- install fpath                       0.7.3
- install fpath-base                  0.3.1
- install fpath-sexp0                 0.3.1
- install gel                         v0.17.0
- install hmap                        0.8.1
- install int_repr                    v0.17.0
- install iomux                       0.3
- install jane-street-headers         v0.17.0
- install jst-config                  v0.17.0
- install loc                         0.2.2
- install logs                        0.8.0
- install lwt-dllist                  1.1.0
- install mdx                         2.5.0
- install mtime                       2.1.0
- install num                         1.5-1
- install ocaml-compiler-libs         v0.17.0
- install ocaml-version               4.0.1
- install ocaml_intrinsics_kernel     v0.17.1
- install ocamlbuild                  0.16.1
- install ocamlfind                   1.9.8
- install optint                      0.3.0
- install ordering                    3.19.0
- install parsexp                     v0.17.0
- install pp                          2.0.0
- install pplumbing                   0.0.14
- install ppx_assert                  v0.17.0
- install ppx_base                    v0.17.0
- install ppx_bench                   v0.17.0
- install ppx_bin_prot                v0.17.0
- install ppx_cold                    v0.17.0
- install ppx_compare                 v0.17.0
- install ppx_custom_printf           v0.17.0
- install ppx_derivers                1.2.1
- install ppx_diff                    v0.17.0
- install ppx_disable_unused_warnings v0.17.0
- install ppx_enumerate               v0.17.0
- install ppx_expect                  v0.17.2
- install ppx_fields_conv             v0.17.0
- install ppx_fixed_literal           v0.17.0
- install ppx_globalize               v0.17.0
- install ppx_hash                    v0.17.0
- install ppx_here                    v0.17.0
- install ppx_ignore_instrumentation  v0.17.0
- install ppx_inline_test             v0.17.0
- install ppx_jane                    v0.17.0
- install ppx_let                     v0.17.0
- install ppx_log                     v0.17.0
- install ppx_module_timer            v0.17.0
- install ppx_optcomp                 v0.17.0
- install ppx_optional                v0.17.0
- install ppx_pipebang                v0.17.0
- install ppx_sexp_conv               v0.17.0
- install ppx_sexp_message            v0.17.0
- install ppx_sexp_value              v0.17.0
- install ppx_stable                  v0.17.0
- install ppx_stable_witness          v0.17.0
- install ppx_string                  v0.17.0
- install ppx_string_conv             v0.17.0
- install ppx_tydi                    v0.17.0
- install ppx_typerep_conv            v0.17.0
- install ppx_variants_conv           v0.17.0
- install ppxlib                      0.35.0
- install ppxlib_jane                 v0.17.0
- install psq                         0.2.1
- install re                          1.12.0
- install result                      1.5
- install seq                         base
- install sexp_pretty                 v0.17.0
- install sexplib                     v0.17.0
- install sexplib0                    v0.17.0
- install spawn                       v0.17.0
- install splittable_random           v0.17.0
- install stdio                       v0.17.0
- install stdlib-shims                0.3.0
- install stdune                      3.19.0
- install thread-table                1.0.0
- install time_now                    v0.17.0
- install topkg                       1.0.8
- install typerep                     v0.17.1
- install uring                       0.9
- install variantslib                 v0.17.0


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved base_bigstring.v0.17.0  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved base.v0.17.2  (cached)
-> retrieved base_quickcheck.v0.17.0  (cached)
-> retrieved bin_prot.v0.17.0-1  (cached)
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved capitalization.v0.17.0  (cached)
-> installed conf-git.1.1
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved core.v0.17.1  (cached)
-> retrieved cmdlang.0.0.9, cmdlang-to-cmdliner.0.0.9  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved cstruct.6.2.0  (cached)
-> retrieved domain-local-await.1.0.1  (cached)
-> retrieved expect_test_helpers_core.v0.17.0  (cached)
-> retrieved fieldslib.v0.17.0  (cached)
-> retrieved fmt.0.10.0  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved eio.1.2, eio_linux.1.2, eio_main.1.2, eio_posix.1.2  (cached)
-> retrieved fpath-base.0.3.1, fpath-sexp0.0.3.1  (cached)
-> retrieved gel.v0.17.0  (cached)
-> retrieved hmap.0.8.1  (cached)
-> retrieved int_repr.v0.17.0  (cached)
-> retrieved iomux.0.3  (cached)
-> retrieved jane-street-headers.v0.17.0  (cached)
-> retrieved jst-config.v0.17.0  (cached)
-> retrieved loc.0.2.2  (cached)
-> retrieved logs.0.8.0  (cached)
-> retrieved lwt-dllist.1.1.0  (cached)
-> retrieved mtime.2.1.0  (cached)
-> retrieved num.1.5-1  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved mdx.2.5.0  (cached)
-> retrieved ocaml-version.4.0.1  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved optint.0.3.0  (cached)
-> retrieved parsexp.v0.17.0  (cached)
-> retrieved dune.3.19.0, dune-configurator.3.19.0, dyn.3.19.0, ordering.3.19.0, stdune.3.19.0  (cached)
-> retrieved pp.2.0.0  (cached)
-> retrieved pplumbing.0.0.14  (cached)
-> retrieved ppx_assert.v0.17.0  (cached)
-> retrieved ppx_base.v0.17.0  (cached)
-> retrieved ppx_bench.v0.17.0  (cached)
-> retrieved ppx_bin_prot.v0.17.0  (cached)
-> installed cmdliner.1.3.0
-> installed num.1.5-1
-> retrieved ppx_cold.v0.17.0  (cached)
-> retrieved ppx_compare.v0.17.0  (cached)
-> retrieved ppx_custom_printf.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_diff.v0.17.0  (cached)
-> retrieved ppx_disable_unused_warnings.v0.17.0  (cached)
-> retrieved ppx_enumerate.v0.17.0  (cached)
-> retrieved ppx_fields_conv.v0.17.0  (cached)
-> retrieved ppx_expect.v0.17.2  (cached)
-> retrieved ppx_fixed_literal.v0.17.0  (cached)
-> retrieved ppx_globalize.v0.17.0  (cached)
-> retrieved ppx_hash.v0.17.0  (cached)
-> retrieved ppx_here.v0.17.0  (cached)
-> retrieved ppx_ignore_instrumentation.v0.17.0  (cached)
-> retrieved ppx_inline_test.v0.17.0  (cached)
-> retrieved ppx_jane.v0.17.0  (cached)
-> retrieved ppx_let.v0.17.0  (cached)
-> retrieved ppx_log.v0.17.0  (cached)
-> retrieved ppx_module_timer.v0.17.0  (cached)
-> retrieved ppx_optcomp.v0.17.0  (cached)
-> retrieved ppx_optional.v0.17.0  (cached)
-> retrieved ppx_pipebang.v0.17.0  (cached)
-> retrieved ppx_sexp_message.v0.17.0  (cached)
-> retrieved ppx_sexp_conv.v0.17.0  (cached)
-> retrieved ppx_sexp_value.v0.17.0  (cached)
-> retrieved ppx_stable.v0.17.0  (cached)
-> retrieved ppx_stable_witness.v0.17.0  (cached)
-> retrieved ppx_string.v0.17.0  (cached)
-> retrieved ppx_string_conv.v0.17.0  (cached)
-> retrieved ppx_tydi.v0.17.0  (cached)
-> retrieved ppx_typerep_conv.v0.17.0  (cached)
-> retrieved ppx_variants_conv.v0.17.0  (cached)
-> retrieved ppxlib_jane.v0.17.0  (cached)
-> retrieved psq.0.2.1  (cached)
-> retrieved result.1.5  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved sexp_pretty.v0.17.0  (cached)
-> retrieved re.1.12.0  (cached)
-> retrieved sexplib.v0.17.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved spawn.v0.17.0  (cached)
-> retrieved splittable_random.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved thread-table.1.0.0  (cached)
-> retrieved ppxlib.0.35.0  (cached)
-> retrieved time_now.v0.17.0  (cached)
-> retrieved topkg.1.0.8  (cached)
-> retrieved typerep.v0.17.1  (cached)
-> retrieved variantslib.v0.17.0  (cached)
-> retrieved uring.0.9  (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.0.8
-> installed hmap.0.8.1
-> installed mtime.2.1.0
-> installed fmt.0.10.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed logs.0.8.0
-> installed dune.3.19.0
-> installed camlp-streams.5.0.1
-> installed cmdlang.0.0.9
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed cstruct.6.2.0
-> installed jane-street-headers.v0.17.0
-> installed lwt-dllist.1.1.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-version.4.0.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed optint.0.3.0
-> installed pp.2.0.0
-> installed ppx_derivers.1.2.1
-> installed psq.0.2.1
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed spawn.v0.17.0
-> installed re.1.12.0
-> installed stdlib-shims.0.3.0
-> installed thread-table.1.0.0
-> installed cmdlang-to-cmdliner.0.0.9
-> installed fpath-sexp0.0.3.1
-> installed domain-local-await.1.0.1
-> installed ordering.3.19.0
-> installed parsexp.v0.17.0
-> installed dune-configurator.3.19.0
-> installed mdx.2.5.0
-> installed bigstringaf.0.10.0
-> installed iomux.0.3
-> installed sexplib.v0.17.0
-> installed dyn.3.19.0
-> installed uring.0.9
-> installed eio.1.2
-> installed eio_linux.1.2
-> installed eio_posix.1.2
-> installed eio_main.1.2
-> installed stdune.3.19.0
-> installed loc.0.2.2
-> installed pplumbing.0.0.14
-> installed base.v0.17.2
-> installed fieldslib.v0.17.0
-> installed variantslib.v0.17.0
-> installed fpath-base.0.3.1
-> installed stdio.v0.17.0
-> installed typerep.v0.17.1
-> installed ppxlib.0.35.0
-> installed ppxlib_jane.v0.17.0
-> installed ppx_optcomp.v0.17.0
-> installed ppx_tydi.v0.17.0
-> installed ppx_disable_unused_warnings.v0.17.0
-> installed ppx_cold.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_stable_witness.v0.17.0
-> installed ppx_typerep_conv.v0.17.0
-> installed ppx_variants_conv.v0.17.0
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_stable.v0.17.0
-> installed ppx_pipebang.v0.17.0
-> installed ppx_ignore_instrumentation.v0.17.0
-> installed ppx_fixed_literal.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_globalize.v0.17.0
-> installed ppx_compare.v0.17.0
-> installed ppx_optional.v0.17.0
-> installed ppx_sexp_conv.v0.17.0
-> installed ppx_let.v0.17.0
-> installed ppx_hash.v0.17.0
-> installed ppx_sexp_value.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_sexp_message.v0.17.0
-> installed ppx_custom_printf.v0.17.0
-> installed ppx_base.v0.17.0
-> installed capitalization.v0.17.0
-> installed jst-config.v0.17.0
-> installed sexp_pretty.v0.17.0
-> installed bin_prot.v0.17.0-1
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_bin_prot.v0.17.0
-> installed ppx_module_timer.v0.17.0
-> installed ppx_string_conv.v0.17.0
-> installed ppx_inline_test.v0.17.0
-> installed ppx_bench.v0.17.0
-> installed ppx_expect.v0.17.2
-> installed splittable_random.v0.17.0
-> installed base_quickcheck.v0.17.0
-> installed ppx_log.v0.17.0
-> installed ppx_jane.v0.17.0
-> installed gel.v0.17.0
-> installed int_repr.v0.17.0
-> installed base_bigstring.v0.17.0
-> installed ppx_diff.v0.17.0
-> installed core.v0.17.1
-> installed expect_test_helpers_core.v0.17.0
Done.
# To update the current shell environment, run: eval $(opam env)
2025-06-10 08:50.25 ---> using "9436e7c10e627e90e034146bf093d0178f85e2f3f5541423e4ac3545c92e4fd6" from cache


/src: (copy (src .) (dst /src))
2025-06-10 08:50.25 ---> using "045d24b27de8827e555a86d6067eaf63dbce1440f4b5f11cf147a6f5db5d9fee" from cache


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "test/cram/run-hg.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/.sandbox/6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/run-hg.t _build/.sandbox/6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/run-hg.t.corrected
diff --git a/_build/.sandbox/6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/run-hg.t b/_build/.sandbox/6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/run-hg.t.corrected
index 46a90c6..66584c0 100644
--- a/_build/.sandbox/6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/run-hg.t
+++ b/_build/.sandbox/6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/run-hg.t.corrected
@@ -2,6 +2,8 @@ First we need to setup a repo in a way that satisfies the test environment. This
includes specifics required by the GitHub Actions environment.


$ hg init
+  hg: not found
+  [127]


$ cat > hello << EOF
> Hello World
@@ -11,22 +13,41 @@ includes specifics required by the GitHub Actions environment.
Hello World


$ volgo-vcs add hello
+  Context:
+  (Vcs.add (repo_root /src/_build/.sandbox)
+   (path 6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/hello))
+  ((prog /usr/bin/git)
+   (args (add 6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/hello))
+   (exit_status (Exited 128)) (cwd /src/_build/.sandbox) (stdout "")
+   (stderr "fatal: invalid gitfile format: /src/_build/.sandbox/.git"))
+  Error: Expected exit code 0.
+  [123]
$ rev0=$(volgo-vcs commit -m "Initial commit")
+  Context: (Vcs.commit (repo_root /src/_build/.sandbox))
+  ((prog /usr/bin/git) (args (commit -m "Initial commit"))
+   (exit_status (Exited 128)) (cwd /src/_build/.sandbox) (stdout "")
+   (stderr "fatal: invalid gitfile format: /src/_build/.sandbox/.git"))
+  Error: Expected exit code 0.
+  [123]


Rev-parse.


$ hg log -r . --template "{node}\n" | sed -e "s/$rev0/rev0/g"
-  rev0
+  hg: not found


$ volgo-vcs current-revision | sed -e "s/$rev0/rev0/g"
-  rev0
+  Context: (Vcs.current_revision (repo_root /src/_build/.sandbox))
+  ((prog /usr/bin/git) (args (rev-parse --verify HEAD^{commit}))
+   (exit_status (Exited 128)) (cwd /src/_build/.sandbox) (stdout "")
+   (stderr "fatal: invalid gitfile format: /src/_build/.sandbox/.git"))
+  Error: Expected exit code 0.


$ volgo-vcs current-branch
-  Context:
-  (Vcs.current_branch
-   (repo_root
-    $TESTCASE_ROOT))
-  Error: Branches are not implemented in [vcs-hg].
+  Context: (Vcs.current_branch (repo_root /src/_build/.sandbox))
+  ((prog /usr/bin/git) (args (rev-parse --abbrev-ref HEAD))
+   (exit_status (Exited 128)) (cwd /src/_build/.sandbox) (stdout "")
+   (stderr "fatal: invalid gitfile format: /src/_build/.sandbox/.git"))
+  Error: Expected exit code 0.
[123]


Adding a new file under a directory.
@@ -35,14 +56,42 @@ Adding a new file under a directory.
$ echo "New file" > dir/hello


$ volgo-vcs add dir/hello
+  Context:
+  (Vcs.add (repo_root /src/_build/.sandbox)
+   (path 6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/dir/hello))
+  ((prog /usr/bin/git)
+   (args (add 6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/dir/hello))
+   (exit_status (Exited 128)) (cwd /src/_build/.sandbox) (stdout "")
+   (stderr "fatal: invalid gitfile format: /src/_build/.sandbox/.git"))
+  Error: Expected exit code 0.
+  [123]
$ rev1=$(volgo-vcs commit -m "Added dir/hello")
+  Context: (Vcs.commit (repo_root /src/_build/.sandbox))
+  ((prog /usr/bin/git) (args (commit -m "Added dir/hello"))
+   (exit_status (Exited 128)) (cwd /src/_build/.sandbox) (stdout "")
+   (stderr "fatal: invalid gitfile format: /src/_build/.sandbox/.git"))
+  Error: Expected exit code 0.
+  [123]


$ volgo-vcs ls-files
-  dir/hello
-  hello
+  Context: (Vcs.ls_files (repo_root /src/_build/.sandbox) (below ./))
+  ((prog /usr/bin/git) (args (ls-files --full-name)) (exit_status (Exited 128))
+   (cwd /src/_build/.sandbox/) (stdout "")
+   (stderr "fatal: invalid gitfile format: /src/_build/.sandbox/.git"))
+  Error: Expected exit code 0.
+  [123]


$ volgo-vcs ls-files --below dir
-  dir/hello
+  Context:
+  (Vcs.ls_files (repo_root /src/_build/.sandbox)
+   (below 6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/dir))
+  ((prog /usr/bin/git) (args (ls-files --full-name)) (exit_status (Exited 128))
+   (cwd
+    $TESTCASE_ROOT/dir)
+   (stdout "")
+   (stderr "fatal: invalid gitfile format: /src/_build/.sandbox/.git"))
+  Error: Expected exit code 0.
+  [123]


$ volgo-vcs ls-files --below /dir
Error: Path is not in repo. (path /dir)
@@ -50,34 +99,29 @@ Adding a new file under a directory.


$ volgo-vcs ls-files --below foo
Context:
-  (Vcs.ls_files
-   (repo_root
-    $TESTCASE_ROOT)
-   (below foo))
-  ((prog /usr/bin/hg) (args (files --include ./foo/)) (exit_status (Exited 1))
+  (Vcs.ls_files (repo_root /src/_build/.sandbox)
+   (below 6e45f7ba9ab358add7ea692d8f09b826/default/test/cram/foo))
+  ((prog /usr/bin/git) (args (ls-files --full-name)) (exit_status Unknown)
(cwd
-    $TESTCASE_ROOT)
+    $TESTCASE_ROOT/foo)
(stdout "") (stderr ""))
-  Error: Expected exit code 0.
+  Error:
+  "Unix.Unix_error(Unix.ENOENT, \"chdir\", \"$TESTCASE_ROOT/foo\")"
[123]


Vcs allows to run the git command line directly if the backend supports it.


$ volgo-vcs hg -- log -r . --template "{node}" | sed -e "s/$rev1/rev1/g"
-  rev1
+  Context:
+  (Vcs.hg (repo_root /src/_build/.sandbox) (args (log -r . --template {node})))
+  Error: Trait [Vcs.Trait.hg] method [hg] is not available in this repository.


$ volgo-vcs hg invalid-command 2> /dev/null
-  [255]
+  [123]


When running in a repository of a certain kind, some operations may not be
supported. Below we attempt to run an Mercurial command in this Git repository.


$ volgo-vcs git not-run
-  Context:
-  (Vcs.git
-   (repo_root
-    $TESTCASE_ROOT)
-   (args not-run))
-  Error: Trait [Vcs.Trait.git] method [git] is not available in this
-  repository.
-  [123]
+  git: 'not-run' is not a git command. See 'git --help'.
+  [1]
File "test/mdx/process_output.md", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/mdx/process_output.md _build/default/test/mdx/.mdx/process_output.md.corrected
diff --git a/_build/default/test/mdx/process_output.md b/_build/default/test/mdx/.mdx/process_output.md.corrected
index 5c04ee7..c2ef78a 100644
--- a/_build/default/test/mdx/process_output.md
+++ b/_build/default/test/mdx/.mdx/process_output.md.corrected
@@ -11,6 +11,6 @@ let () =
```
```mdx-error
Line 5, characters 24-33:
-Error: The value hg_output has type Vcs.Hg.Output.t
+Error: This expression has type Vcs.Hg.Output.t
but an expression was expected of type Vcs.Git.Output.t
```
File "lib/volgo_hg_unix/test/test__hello_commit.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/lib/volgo_hg_unix/test/test__hello_commit.ml _build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/test__hello_commit.ml.corrected
diff --git a/_build/default/lib/volgo_hg_unix/test/test__hello_commit.ml b/_build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/test__hello_commit.ml.corrected
index 1f4f462..57c9388 100644
--- a/_build/default/lib/volgo_hg_unix/test/test__hello_commit.ml
+++ b/_build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/test__hello_commit.ml.corrected
@@ -39,14 +39,14 @@ let%expect_test "hello commit" =
Vcs.load_file vcs ~path:(Vcs.Repo_root.append repo_root hello_file)
in
print_string (Vcs.File_contents.to_string file_contents);
-  [%expect {| Hello World! |}];
+  [%expect.unreachable];
Vcs.add vcs ~repo_root ~path:hello_file;
let rev =
Vcs.commit vcs ~repo_root ~commit_message:(Vcs.Commit_message.v "hello commit")
in
let mock_rev = Vcs.Mock_revs.to_mock mock_revs ~rev in
print_s [%sexp (mock_rev : Vcs.Rev.t)];
-  [%expect {| 1185512b92d612b25613f2e5b473e5231185512b |}];
+  [%expect.unreachable];
let output =
Vcs.hg
vcs
@@ -59,6 +59,23 @@ let%expect_test "hello commit" =
~f:Vcs.Hg.exit0_and_stdout
in
print_endline output;
-  [%expect {| Hello World! |}];
+  [%expect.unreachable];
()
+[@@expect.uncaught_exn {|
+  (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+     This is strongly discouraged as backtraces are fragile.
+     Please change this test to not include a backtrace. *)
+  ((context
+     (Vcs.init
+       ((path
+          /src/_build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/vcs_test0ed17d)))
+     ((prog hg) (args (init)) (exit_status Unknown)
+       (cwd
+         /src/_build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/vcs_test0ed17d)
+       (stdout "") (stderr "")))
+    (error ("Unix.Unix_error(Unix.ENOENT, \"execve\", \"hg\")")))
+  Raised at Volgo__Vcs0.of_result in file "lib/volgo/src/vcs0.ml", line 30, characters 17-83
+  Called from Volgo_hg_unix_test__Test__hello_commit.(fun) in file "lib/volgo_hg_unix/test/test__hello_commit.ml", line 32, characters 18-45
+  Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+  |}]
;;
File "lib/volgo_hg_unix/test/test__hello_cli.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/lib/volgo_hg_unix/test/test__hello_cli.ml _build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/test__hello_cli.ml.corrected
diff --git a/_build/default/lib/volgo_hg_unix/test/test__hello_cli.ml b/_build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/test__hello_cli.ml.corrected
index d642146..6d78e51 100644
--- a/_build/default/lib/volgo_hg_unix/test/test__hello_cli.ml
+++ b/_build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/test__hello_cli.ml.corrected
@@ -39,14 +39,14 @@ let%expect_test "hello cli" =
Vcs.load_file vcs ~path:(Vcs.Repo_root.append repo_root hello_file)
in
print_string (Vcs.File_contents.to_string file_contents);
-  [%expect {| Hello World! |}];
+  [%expect.unreachable];
Vcs.add vcs ~repo_root ~path:hello_file;
let rev =
Vcs.commit vcs ~repo_root ~commit_message:(Vcs.Commit_message.v "hello commit")
in
let mock_rev = Vcs.Mock_revs.to_mock mock_revs ~rev in
print_s [%sexp (mock_rev : Vcs.Rev.t)];
-  [%expect {| 1185512b92d612b25613f2e5b473e5231185512b |}];
+  [%expect.unreachable];
let output =
Vcs.hg
vcs
@@ -59,7 +59,7 @@ let%expect_test "hello cli" =
~f:Vcs.Hg.exit0_and_stdout
in
print_endline output;
-  [%expect {| Hello World! |}];
+  [%expect.unreachable];
let hg_rev =
match
Vcs.Result.hg
@@ -77,10 +77,10 @@ let%expect_test "hello cli" =
| Error _ -> assert false
in
require_equal [%here] (module Vcs.Rev) rev hg_rev;
-  [%expect {||}];
+  [%expect.unreachable];
let mock_rev2 = Vcs.Mock_revs.to_mock mock_revs ~rev:hg_rev in
print_s [%sexp (mock_rev2 : Vcs.Rev.t)];
-  [%expect {| 1185512b92d612b25613f2e5b473e5231185512b |}];
+  [%expect.unreachable];
let () =
match Vcs.hg vcs ~repo_root ~args:[ "bogus" ] ~f:Vcs.Hg.exit0 with
| _ -> assert false
@@ -90,18 +90,7 @@ let%expect_test "hello cli" =
[%sexp (err : Err.t)]
~fields:[ "cwd"; "repo_root"; "stderr" ])
in
-  [%expect
-    {|
-    ((context
-       (Vcs.hg ((repo_root <REDACTED>) (args (bogus))))
-       ((prog /usr/bin/hg)
-        (args (bogus))
-        (exit_status (Exited 255))
-        (cwd    <REDACTED>)
-        (stdout "")
-        (stderr <REDACTED>)))
-     (error "Expected exit code 0."))
-    |}];
+  [%expect.unreachable];
let () =
match Vcs.Result.hg vcs ~repo_root ~args:[ "bogus" ] ~f:Vcs.Hg.Result.exit0 with
| Ok _ -> assert false
@@ -111,17 +100,23 @@ let%expect_test "hello cli" =
[%sexp (err : Err.t)]
~fields:[ "cwd"; "repo_root"; "stderr" ])
in
-  [%expect
-    {|
-    ((context
-       (Vcs.hg ((repo_root <REDACTED>) (args (bogus))))
-       ((prog /usr/bin/hg)
-        (args (bogus))
-        (exit_status (Exited 255))
-        (cwd    <REDACTED>)
-        (stdout "")
-        (stderr <REDACTED>)))
-     (error "Expected exit code 0."))
-    |}];
+  [%expect.unreachable];
()
+[@@expect.uncaught_exn {|
+  (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+     This is strongly discouraged as backtraces are fragile.
+     Please change this test to not include a backtrace. *)
+  ((context
+     (Vcs.init
+       ((path
+          /src/_build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/vcs_test96fd28)))
+     ((prog hg) (args (init)) (exit_status Unknown)
+       (cwd
+         /src/_build/.sandbox/f1f76d0f6a38c20db331e3324f9023d3/default/lib/volgo_hg_unix/test/vcs_test96fd28)
+       (stdout "") (stderr "")))
+    (error ("Unix.Unix_error(Unix.ENOENT, \"execve\", \"hg\")")))
+  Raised at Volgo__Vcs0.of_result in file "lib/volgo/src/vcs0.ml", line 30, characters 17-83
+  Called from Volgo_hg_unix_test__Test__hello_cli.(fun) in file "lib/volgo_hg_unix/test/test__hello_cli.ml", line 32, characters 18-45
+  Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+  |}]
;;
File "lib/volgo_hg_eio/test/test__file_system.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/lib/volgo_hg_eio/test/test__file_system.ml _build/.sandbox/e6acbff0a23f75263b57df018ea8724b/default/lib/volgo_hg_eio/test/test__file_system.ml.corrected
diff --git a/_build/default/lib/volgo_hg_eio/test/test__file_system.ml b/_build/.sandbox/e6acbff0a23f75263b57df018ea8724b/default/lib/volgo_hg_eio/test/test__file_system.ml.corrected
index 61d3676..59f3bd8 100644
--- a/_build/default/lib/volgo_hg_eio/test/test__file_system.ml
+++ b/_build/.sandbox/e6acbff0a23f75263b57df018ea8724b/default/lib/volgo_hg_eio/test/test__file_system.ml.corrected
@@ -35,6 +35,36 @@ let%expect_test "read_dir" =
let dir = Vcs.Repo_root.to_absolute_path repo_root in
let read_dir dir = print_s [%sexp (Vcs.read_dir vcs ~dir : Fsegment.t list)] in
read_dir dir;
-  [%expect {| (.hg) |}];
+  [%expect.unreachable];
()
+[@@expect.uncaught_exn {|
+  (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+     This is strongly discouraged as backtraces are fragile.
+     Please change this test to not include a backtrace. *)
+  ((context
+     (Vcs.init
+       ((path
+          /src/_build/.sandbox/e6acbff0a23f75263b57df018ea8724b/default/lib/volgo_hg_eio/test/vcs7f45c8test)))
+     ((prog hg) (args (init)) (exit_status Unknown)
+       (cwd
+         /src/_build/.sandbox/e6acbff0a23f75263b57df018ea8724b/default/lib/volgo_hg_eio/test/vcs7f45c8test)
+       (stdout "") (stderr "")))
+    (error ("Eio.Io Process Executable \"hg\" not found")))
+  Raised at Volgo__Vcs0.of_result in file "lib/volgo/src/vcs0.ml", line 30, characters 17-83
+  Called from Volgo_hg_eio_test__Test__file_system.(fun) in file "lib/volgo_hg_eio/test/test__file_system.ml", line 34, characters 18-59
+  Called from Eio__core__Switch.run_internal in file "lib_eio/core/switch.ml", line 133, characters 8-12
+  Re-raised at Eio__core__Switch.maybe_raise_exs in file "lib_eio/core/switch.ml", line 119, characters 21-56
+  Called from Eio__core__Switch.run_internal in file "lib_eio/core/switch.ml", line 149, characters 4-21
+  Called from Eio__core__Cancel.with_cc in file "lib_eio/core/cancel.ml", line 118, characters 8-12
+  Re-raised at Eio__core__Cancel.with_cc in file "lib_eio/core/cancel.ml", line 120, characters 50-58
+  Called from Eio_unix__Thread_pool.run in file "lib_eio/unix/thread_pool.ml", line 108, characters 8-13
+  Re-raised at Eio_unix__Thread_pool.run in file "lib_eio/unix/thread_pool.ml", line 113, characters 4-39
+  Called from Eio_linux__Sched.run.(fun) in file "lib_eio_linux/sched.ml", line 468, characters 22-90
+  Re-raised at Eio_linux__Sched.run in file "lib_eio_linux/sched.ml", line 479, characters 22-57
+  Called from Eio_linux__Sched.with_eventfd in file "lib_eio_linux/sched.ml", line 506, characters 8-18
+  Re-raised at Eio_linux__Sched.with_eventfd in file "lib_eio_linux/sched.ml", line 511, characters 4-39
+  Called from Eio_linux__Sched.with_sched in file "lib_eio_linux/sched.ml", lines 543-545, characters 8-109
+  Re-raised at Eio_linux__Sched.with_sched in file "lib_eio_linux/sched.ml", line 556, characters 8-43
+  Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+  |}]
;;
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-06-10 08:50.34: Job failed: Failed: Build failed