Organisationsmirageeqaffe9e6e ()alpine-3.19-5.1_opam-2.1

alpine-3.19-5.1_opam-2.1

Link Copied
Code Copied

Logs

2024-04-10 15:38.01: New job: test mirage/eqaf https://github.com/mirage/eqaf.git#refs/pull/42/head (fe9e6eec0fdb28ef262410737daab0ab04bdab01) (linux-x86_64:alpine-3.19-5.1_opam-2.1)
Base: ocaml/opam@sha256:4b4ab6fd8d855ed9925ce6a8f4382d5944e17169eca34ac441cf96781412e037
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/mirage/eqaf.git" && cd "eqaf" && git fetch origin "refs/pull/42/head" && git reset --hard fe9e6eec
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam@sha256:4b4ab6fd8d855ed9925ce6a8f4382d5944e17169eca34ac441cf96781412e037
# alpine-3.19-5.1_opam-2.1
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.1 /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 950c52962d34ab7507ecebe8cc7ef16fed0f292a || git fetch origin master) && git reset -q --hard 950c52962d34ab7507ecebe8cc7ef16fed0f292a && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 eqaf.opam ./
RUN opam pin add -yn eqaf.dev './'
ENV DEPS="afl-persistent.1.4 alcotest.1.7.0 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bechamel.0.5.0 cmdliner.1.2.0 cppo.1.6.9 crowbar.0.2.1 cstruct.6.2.0 dune.3.15.0 fmt.0.9.0 ocaml.5.1.1 ocaml-base-compiler.5.1.1 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.14.3 ocamlfind.1.9.6 ocplib-endian.1.2 re.1.11.0 seq.base stdlib-shims.0.3.0 topkg.1.0.7 uutf.1.0.3"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.1 --depext-only -y eqaf.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


2024-04-10 15:38.01: Using cache hint "mirage/eqaf-ocaml/opam@sha256:4b4ab6fd8d855ed9925ce6a8f4382d5944e17169eca34ac441cf96781412e037-alpine-3.19-5.1_opam-2.1-9fc5d458000d8e0eca5222150660eadd"
2024-04-10 15:38.01: Using OBuilder spec:
((from ocaml/opam@sha256:4b4ab6fd8d855ed9925ce6a8f4382d5944e17169eca34ac441cf96781412e037)
 (comment alpine-3.19-5.1_opam-2.1)
 (user (uid 1000) (gid 1000))
 (env CLICOLOR_FORCE 1)
 (env OPAMCOLOR always)
 (workdir /src)
 (run (shell "sudo ln -f /usr/bin/opam-2.1 /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 950c52962d34ab7507ecebe8cc7ef16fed0f292a || git fetch origin master) && git reset -q --hard 950c52962d34ab7507ecebe8cc7ef16fed0f292a && git log --no-decorate -n1 --oneline && opam update -u"))
 (copy (src eqaf.opam) (dst ./))
 (run (network host)
      (shell "opam pin add -yn eqaf.dev './'"))
 (env DEPS "afl-persistent.1.4 alcotest.1.7.0 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bechamel.0.5.0 cmdliner.1.2.0 cppo.1.6.9 crowbar.0.2.1 cstruct.6.2.0 dune.3.15.0 fmt.0.9.0 ocaml.5.1.1 ocaml-base-compiler.5.1.1 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.14.3 ocamlfind.1.9.6 ocplib-endian.1.2 re.1.11.0 seq.base stdlib-shims.0.3.0 topkg.1.0.7 uutf.1.0.3")
 (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.1 --depext-only -y eqaf.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"))
)


2024-04-10 15:38.01: Waiting for resource in pool OCluster
2024-04-10 15:50.10: Waiting for worker…
2024-04-10 15:52.05: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at fe9e6ee cirrus: update to FreeBSD 13.2, test OCaml 4.13 and 4.14


(from ocaml/opam@sha256:4b4ab6fd8d855ed9925ce6a8f4382d5944e17169eca34ac441cf96781412e037)
2024-04-10 15:52.04 ---> using "3f19e9b9d1b1f06a8ca1f3057a9f472cc74aed4d47a44f6671b5ec1ca0b507f4" from cache


/: (comment alpine-3.19-5.1_opam-2.1)


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


/: (env CLICOLOR_FORCE 1)


/: (env OPAMCOLOR always)


/: (workdir /src)


/src: (run (shell "sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam"))
2024-04-10 15:52.04 ---> using "490904df7bd2375c7274cfa2c60bfd67678888efd7e9f9407037f1a02039319d" 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 version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.1, which can't be reverted.
You may want to back it up before going further.


Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository
2024-04-10 15:52.04 ---> using "fb388c26659e95066bb5f2bcf3ada44e365027e2aefae4e50134ca2f790cc9ae" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-101-generic
The OCaml toplevel, version 5.1.1
2.1.5
2024-04-10 15:52.04 ---> using "f76e27f2a906c2f4b89da771fe7fc64e9a5df6c5689748141a559d4d1e46d0c3" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2024-04-10 15:52.04 ---> using "32f75b92a49fafbabbcc772c2c03aa4acb62ee26590615b9f8cfffe05f54f910" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "cd ~/opam-repository && (git cat-file -e 950c52962d34ab7507ecebe8cc7ef16fed0f292a || git fetch origin master) && git reset -q --hard 950c52962d34ab7507ecebe8cc7ef16fed0f292a && git log --no-decorate -n1 --oneline && opam update -u"))
950c52962d [new release] dune (15 packages) (3.15.0)


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from 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.
# Run eval $(opam env) to update the current shell environment
2024-04-10 15:52.04 ---> using "4f3ed123de48551b4db91b9150fd358b79a2d85ed2998db61d57e550e571b5e2" from cache


/src: (copy (src eqaf.opam) (dst ./))
2024-04-10 15:52.04 ---> using "318a183de036b56e8ef86ada33c166dcf114953acf26a4821a8a7bf3653ca45d" from cache


/src: (run (network host)
           (shell "opam pin add -yn eqaf.dev './'"))
[eqaf.dev] synchronised (file:///src)
eqaf is now pinned to file:///src (version dev)
2024-04-10 15:52.04 ---> using "976b8121b70cf68cd0726d3ad3df88430defc32ddfc5e05d8a3088f30f3ffc45" from cache


/src: (env DEPS "afl-persistent.1.4 alcotest.1.7.0 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bechamel.0.5.0 cmdliner.1.2.0 cppo.1.6.9 crowbar.0.2.1 cstruct.6.2.0 dune.3.15.0 fmt.0.9.0 ocaml.5.1.1 ocaml-base-compiler.5.1.1 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.14.3 ocamlfind.1.9.6 ocplib-endian.1.2 re.1.11.0 seq.base stdlib-shims.0.3.0 topkg.1.0.7 uutf.1.0.3")


/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.1 --depext-only -y eqaf.dev $DEPS"))
+ /usr/bin/sudo "apk" "update"
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
- v3.19.1-372-g4540408c2b0 [https://dl-cdn.alpinelinux.org/alpine/v3.19/main]
- v3.19.1-373-g4dd21d1abf1 [https://dl-cdn.alpinelinux.org/alpine/v3.19/community]
- v20240329-966-g3353d625e0b [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v20240329-986-ga735fa591ee [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v20240329-985-g11e6edc9f8e [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 51063 distinct packages available


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[eqaf.dev] synchronised (no changes)


[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.1.1).
[NOTE] Package ocaml is already installed (current version is 5.1.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).
2024-04-10 15:52.18 ---> saved as "4e43086f7f0607795663c9f8bcf6248e9e2adbe1fc0bf4bb4a37439e7569064d"


/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.1.1).
[NOTE] Package ocaml is already installed (current version is 5.1.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 ocamlbuild         0.14.3
  - install dune               3.15.0
  - install cmdliner           1.2.0
  - install ocamlfind          1.9.6
  - install seq                base
  - install stdlib-shims       0.3.0
  - install ocaml-syntax-shims 1.0.0
  - install cppo               1.6.9
  - install base64             3.5.1
  - install afl-persistent     1.4
  - install topkg              1.0.7
  - install base-bytes         base
  - install re                 1.11.0
  - install uutf               1.0.3
  - install fmt                0.9.0
  - install astring            0.8.5
  - install ocplib-endian      1.2
  - install cstruct            6.2.0
  - install bechamel           0.5.0
  - install alcotest           1.7.0
  - install crowbar            0.2.1
===== 21 to install =====


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved afl-persistent.1.4  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved base64.3.5.1  (cached)
-> retrieved bechamel.0.5.0  (cached)
-> retrieved alcotest.1.7.0  (cached)
-> retrieved cmdliner.1.2.0  (cached)
-> retrieved cppo.1.6.9  (cached)
-> retrieved crowbar.0.2.1  (cached)
-> retrieved cstruct.6.2.0  (cached)
-> retrieved fmt.0.9.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocamlbuild.0.14.3  (cached)
-> retrieved ocamlfind.1.9.6  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> installed seq.base
-> retrieved re.1.11.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved uutf.1.0.3  (cached)
-> retrieved topkg.1.0.7  (cached)
-> retrieved dune.3.15.0  (cached)
-> installed cmdliner.1.2.0
-> installed ocamlfind.1.9.6
-> installed base-bytes.base
-> installed ocamlbuild.0.14.3
-> installed topkg.1.0.7
-> installed uutf.1.0.3
-> installed fmt.0.9.0
-> installed astring.0.8.5
-> installed dune.3.15.0
-> installed afl-persistent.1.4
-> installed stdlib-shims.0.3.0
-> installed base64.3.5.1
-> installed cstruct.6.2.0
-> installed bechamel.0.5.0
-> installed re.1.11.0
-> installed ocaml-syntax-shims.1.0.0
-> installed cppo.1.6.9
-> installed ocplib-endian.1.2
-> installed crowbar.0.2.1
-> installed alcotest.1.7.0
Done.


<><> afl-persistent.1.4 installed successfully ><><><><><><><><><><><><><><><><>
=> afl-persistent is installed, but since the current OCaml compiler does
   not enable AFL instrumentation by default, most packages will not be
   instrumented and fuzzing with afl-fuzz may not be effective.


   To globally enable AFL instrumentation, create an OCaml switch like:


     opam switch create 5.1.1+afl ocaml-variants.5.1.1+options ocaml-option-afl
# Run eval $(opam env) to update the current shell environment
2024-04-10 15:52.56 ---> saved as "149eb5f5c0de0ad9401d304347a8fa92318ca6d94ad44dabed333aa509c115b8"


/src: (copy (src .) (dst /src))
2024-04-10 15:52.57 ---> saved as "f7eec8df23a1d43b40ac5d9da3247b71d1cb53442aa0c4f4e695356b5b30ea9f"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/fuzz && ./fuzz.exe)
bool_of_int: PASS


select_a_if_in_range: PASS


uppercase_ascii: PASS


lowercase_ascii: PASS


divmod: PASS


hex_of_string |> string_of_hex: PASS


string_of_hex |> hex_of_string: PASS


equal: PASS


compare_le: PASS


compare_be: PASS


(cd _build/default/test && ./test_branch.exe)
[one_if_not_zero]:             4 operation(s).
[zero_if_not_zero]:            5 operation(s).
[select_int]:                  7 operation(s).
[one_if_not_zero 0x7eadbeef]:  4.000000s.
[one_if_not_zero 0x0]:         4.000000s.
[zero_if_not_zero 0x7eadbeef]: 5.000000s.
[zero_if_not_zero 0x0]:        5.000000s.
[select_int 0 1 2]:            7.000000s.
[select_int 2 1 0]:            7.000000s.
(cd _build/default/test && ./test.exe --color=always)
Testing `eqaf'.
This run has ID `IH4I5BK0'.


  [OK]          be                            0   be "a" "a" = 0.
  [OK]          be                            1   be "a" "b" = -1.
  [OK]          be                            2   be "b" "a" = 1.
  [OK]          be                            3   be "aa" "ab" = -1.
  [OK]          be                            4   be "aaa" "aba" = -1.
  [OK]          be                            5   be "bbb" "abc" = 1.
  [OK]          be                            6   be "bbb" "bbc" = -1.
  [OK]          be                            7   be "bbb" "abb" = 1.
  [OK]          be                            8   be "\0004\018" "\0003\018" ...
  [OK]          be                            9   be "\0004\018" "\0003\153" ...
  [OK]          le                            0   le "a" "a" = 0.
  [OK]          le                            1   le "a" "b" = -1.
  [OK]          le                            2   le "b" "a" = 1.
  [OK]          le                            3   le "aa" "ab" = -1.
  [OK]          le                            4   le "aaa" "aba" = -1.
  [OK]          le                            5   le "bbb" "abc" = -1.
  [OK]          le                            6   le "bbb" "bbc" = -1.
  [OK]          le                            7   le "bbb" "abb" = 1.
  [OK]          le                            8   le "\0004\018" "\0003\018" ...
  [OK]          le                            9   le "\0004\018" "\0003\153" ...
  [OK]          exists                        0   contains "a" a = true.
  [OK]          exists                        1   contains "a" b = false.
  [OK]          exists                        2   contains "abc" c = true.
  [OK]          exists                        3   contains "abc" a = true.
  [OK]          exists                        4   contains "abc" b = true.
  [OK]          exists                        5   contains "abc" d = false.
  [OK]          find                          0   index "a" a = 0.
  [OK]          find                          1   index "a" b = -1.
  [OK]          find                          2   index "aaaa" a = 0.
  [OK]          find                          3   index "bbbb" a = -1.
  [OK]          find                          4   index "aabb" b = 2.
  [OK]          find                          5   index "aabb" a = 0.
  [OK]          find                          6   index "aaab" b = 3.
  [OK]          int_of_bool                   0   int_of_bool false = 0.
  [OK]          int_of_bool                   1   int_of_bool true = 1.
  [OK]          bool_of_int                   0   int_of_bool 0 = false.
  [OK]          bool_of_int                   1   int_of_bool -1 = true.
  [OK]          bool_of_int                   2   int_of_bool 2 = true.
  [OK]          bool_of_int                   3   int_of_bool max_int = true.
  [OK]          bool_of_int                   4   int_of_bool min_int = true.
  [OK]          bool_of_int                   5   int_of_bool 1 = true.
  [OK]          select_a_if_in_range          0   select_a_if_in_range (0,3) ...
  [OK]          select_a_if_in_range          1   select_a_if_in_range (0,3) ...
  [OK]          select_a_if_in_range          2   select_a_if_in_range (0,3) ...
  [OK]          select_a_if_in_range          3   select_a_if_in_range (0,3) ...
  [OK]          select_a_if_in_range          4   select_a_if_in_range (0,3) ...
  [OK]          select_a_if_in_range          5   select_a_if_in_range (0,3) ...
  [OK]          select_a_if_in_range          6   select_a_if_in_range (0,0) ...
  [OK]          select_a_if_in_range          7   select_a_if_in_range (1,1) ...
  [OK]          select_a_if_in_range          8   select_a_if_in_range (1,1) ...
  [OK]          select_a_if_in_range          9   select_a_if_in_range (1,1) ...
  [OK]          select_a_if_in_range         10   select_a_if_in_range (0,0) ...
  [OK]          select_a_if_in_range         11   select_a_if_in_range (0,3) ...
  [OK]          select_a_if_in_range         12   select_a_if_in_range (0,3) ...
  [OK]          select_a_if_in_range         13   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         14   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         15   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         16   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         17   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         18   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         19   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         20   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         21   select_a_if_in_range (1,461...
  [OK]          select_a_if_in_range         22   select_a_if_in_range (0,461...
  [OK]          select_a_if_in_range         23   select_a_if_in_range (0,461...
  [OK]          select_a_if_in_range         24   select_a_if_in_range (0,461...
  [OK]          select_a_if_in_range         25   select_a_if_in_range (0,461...
  [OK]          divmod                        0   divmod  1 / 2 = 0, 1 mod 2 ...
  [OK]          divmod                        1   divmod  123 / 1 = 123, 123 ...
  [OK]          divmod                        2   divmod  1 / 3 = 0, 1 mod 3 ...
  [OK]          divmod                        3   divmod  2 / 3 = 0, 2 mod 3 ...
  [OK]          divmod                        4   divmod  3 / 2 = 1, 3 mod 2 ...
  [OK]          divmod                        5   divmod  10 / 6 = 1, 10 mod ...
  [OK]          divmod                        6   divmod  10 / 4 = 2, 10 mod ...
  [OK]          divmod                        7   divmod  1 / 2 = 0, 1 mod 2 ...
  [OK]          divmod                        8   divmod  30 / 7 = 4, 30 mod ...
  [OK]          divmod                        9   divmod  4 / 2 = 2, 4 mod 2 ...
  [OK]          divmod                       10   divmod  1234567 / 1 = 12345...
  [OK]          divmod                       11   divmod  1234567 / 10 = 1234...
  [OK]          divmod                       12   divmod  1234567 / 100 = 123...
  [OK]          divmod                       13   divmod  1234567 / 1000 = 12...
  [OK]          divmod                       14   divmod  1234567 / 10000 = 1...
  [OK]          divmod                       15   divmod  12345 / 100 = 123, ...
  [OK]          divmod                       16   divmod  4294906420 / 1000 =...
  [OK]          divmod                       17   divmod  1123456789 / 10000 ...
  [OK]          ascii_of_int32                0   ascii_of_string  6 12345678...
  [OK]          ascii_of_int32                1   ascii_of_string  -1 1234 "0...
  [OK]          ascii_of_int32                2   ascii_of_string  1 9876 "6".
  [OK]          ascii_of_int32                3   ascii_of_string  4 0 "0000".
  [OK]          ascii_of_int32                4   ascii_of_string  6 1234 "00...
  [OK]          ascii_of_int32                5   ascii_of_string  0 1234 "".
  [OK]          string_of_hex                 0     "2d2d486924" "--Hi$".
  [OK]          string_of_hex                 1     "2D2d486924" "--Hi$".
  [OK]          string_of_hex                 2     "1234" "\0184".
  [OK]          string_of_hex                 3     "ff80" "\255\128".
  [OK]          string_of_hex                 4     "b7DDdd" "\183\221\221".
  [OK]          string_of_hex                 5     "808888Fd" "\128\136\136\...
  [OK]          string_of_hex                 6     "E0EE8eEEEE" "\224\238\14...
  [OK]          string_of_hex                 7    empty "" "".
  [OK]          hex_of_string                 0     "--Hi$" "2d2d486924".
  [OK]          hex_of_string                 1     "\0184" "1234".
  [OK]          hex_of_string                 2     "\255\128" "ff80".
  [OK]          hex_of_string                 3     "\183\255 " "b7ff20".
  [OK]          hex_of_string                 4     "\000\001\000" "000100".
  [OK]          hex_of_string                 5    empty "" "".


Full test results in `/src/_build/default/test/_build/_tests/eqaf'.
Test Successful in 0.005s. 105 tests run.
2024-04-10 15:53.30 ---> saved as "b85566f3db988f463e02e8a0c21fa8e7dc546057ae716c075a2a5b41a2f7b00e"
Job succeeded
2024-04-10 15:53.31: Job succeeded