Organisationsmiragearp461301 ()debian-13-5.4_ppc64_opam-2.4

debian-13-5.4_ppc64_opam-2.4

Logs

Show full logs
2025-11-05 03:25.34: New job: test mirage/arp https://github.com/mirage/arp.git#refs/pull/33/head (461301e3d7e2735c23519312272cb69952bce54f) (linux-ppc64:debian-13-5.4_ppc64_opam-2.4)
Base: ocaml/opam:debian-13-ocaml-5.4@sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370
Opam project build

To reproduce locally:

git clone --recursive "https://github.com/mirage/arp.git" && cd "arp" && git fetch origin "refs/pull/33/head" && git reset --hard 461301e3
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370
# debian-13-5.4_ppc64_opam-2.4
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.4 /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 7f9c784b97b368cd82ee80890d9866b8e66b7c1b || git fetch origin master) && git reset -q --hard 7f9c784b97b368cd82ee80890d9866b8e66b7c1b && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 arp.opam ./
RUN opam pin add -yn arp.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.0.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 domain-name.0.5.0 dune.3.20.2 dune-configurator.3.20.2 duration.0.2.1 ethernet.3.2.0 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 logs.0.9.0 lru.0.3.1 lwt.5.9.2 macaddr.5.6.1 mirage-net.4.0.0 mirage-sleep.4.1.0 mirage-vnetif.0.6.2 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 psq.0.2.1 re.1.14.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 topkg.1.1.0 uutf.1.0.4"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.4 --depext-only -y arp.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-11-05 03:25.34: Using cache hint "mirage/arp-ocaml/opam:debian-13-ocaml-5.4@sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370-debian-13-5.4_ppc64_opam-2.4-e90ecec9ecc2a27db2f5dcc1ab62895a"
2025-11-05 03:25.34: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370)
 (comment debian-13-5.4_ppc64_opam-2.4)
 (user (uid 1000) (gid 1000))
 (env CLICOLOR_FORCE 1)
 (env OPAMCOLOR always)
 (workdir /src)
 (run (shell "sudo ln -f /usr/bin/opam-2.4 /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 7f9c784b97b368cd82ee80890d9866b8e66b7c1b || git fetch origin master) && git reset -q --hard 7f9c784b97b368cd82ee80890d9866b8e66b7c1b && git log --no-decorate -n1 --oneline && opam update -u"))
 (copy (src arp.opam) (dst ./))
 (run (network host)
      (shell "opam pin add -yn arp.dev './'"))
 (run (network host)
      (shell "echo '(lang dune 3.0)' > './dune-project'"))
 (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.0.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 domain-name.0.5.0 dune.3.20.2 dune-configurator.3.20.2 duration.0.2.1 ethernet.3.2.0 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 logs.0.9.0 lru.0.3.1 lwt.5.9.2 macaddr.5.6.1 mirage-net.4.0.0 mirage-sleep.4.1.0 mirage-vnetif.0.6.2 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 psq.0.2.1 re.1.14.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 topkg.1.1.0 uutf.1.0.4")
 (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.4 --depext-only -y arp.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-11-05 03:25.34: Waiting for resource in pool OCluster
2025-11-05 03:25.34: Waiting for worker…
2025-11-05 03:25.34: Got resource from pool OCluster
Building on scyleia.caelum.ci.dev
HEAD is now at eaebefd debug
HEAD is now at 461301e debug

(from ocaml/opam:debian-13-ocaml-5.4@sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4@sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370' locally
docker.io/ocaml/opam@sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370: Pulling from ocaml/opam
71fbf24a2393: Already exists
83dbd7bf17ea: Already exists
9a65c1a24e17: Already exists
3ddaeece5198: Already exists
7b9d7a80f7ec: Already exists
38aeca3c1618: Already exists
0b596ce0a20e: Already exists
0bbee5d6af7b: Already exists
5298b4255e13: Already exists
5d2e3e353c70: Already exists
7e826a6260ef: Already exists
1e1e8ba66fd1: Already exists
80a95ac0076d: Already exists
ddf5f1a96e1f: Already exists
8c5199c15aa0: Already exists
9adfaeda889f: Already exists
9adfaeda889f: Already exists
1c7fc7e831bb: Already exists
73d81cd9f2f1: Already exists
aad978d660cd: Already exists
79f97c7fe0e1: Already exists
4f4fb700ef54: Already exists
0d0929900137: Already exists
51ace838e111: Already exists
5e3d32d58263: Already exists
312c19c10354: Already exists
b8a6f72a4879: Already exists
701b5b70672c: Already exists
423ecb89d367: Already exists
1daad2e46849: Already exists
ee810ee132eb: Already exists
87cbcd4f135f: Already exists
b0d89dead177: Already exists
7797421764ef: Already exists
3eaad8887796: Already exists
6620c200808d: Already exists
5fe59832ab21: Already exists
b92d9ca399fc: Already exists
1f82ed4aae51: Already exists
7d53bd33957c: Already exists
b8a80903d41c: Already exists
05e88bf10942: Already exists
e872d811cd74: Already exists
5250690df5d9: Pulling fs layer
3352ef4f05ca: Pulling fs layer
d65ef5914b17: Pulling fs layer
8204d8d3f639: Pulling fs layer
8204d8d3f639: Waiting
3352ef4f05ca: Download complete
d65ef5914b17: Verifying Checksum
d65ef5914b17: Download complete
8204d8d3f639: Download complete
5250690df5d9: Verifying Checksum
5250690df5d9: Download complete
5250690df5d9: Pull complete
3352ef4f05ca: Pull complete
d65ef5914b17: Pull complete
8204d8d3f639: Pull complete
Digest: sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370
Status: Downloaded newer image for ocaml/opam@sha256:e6bd3efebd8c65504aa9a27eb2abb3f3093d5de778a96144f4024ae012dea370
2025-11-05 03:25.35 ---> using "8500eddbf601178d6d921b5df689a500233ee68bee78a0ee7b84097f24aed50c" from cache

/: (comment debian-13-5.4_ppc64_opam-2.4)

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

/: (env CLICOLOR_FORCE 1)

/: (env OPAMCOLOR always)

/: (workdir /src)

/src: (run (shell "sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam"))
2025-11-05 03:25.35 ---> using "74e2234b39dc178d824ee876d11cb5090e3db261645abd21b6834714638aecc8" 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.

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
2025-11-05 03:25.35 ---> using "12315baac4c9c194c2a217ff2941aa920fdec7b07cf95ed4d04234539ea3540f" from cache

/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-85-generic
The OCaml toplevel, version 5.4.0
2.4.1
2025-11-05 03:25.35 ---> using "99131db0b3743e232269a4cd5033970fa75b864148528864cb58e93556bdb733" from cache

/src: (workdir /src)

/src: (run (shell "sudo chown opam /src"))
2025-11-05 03:25.35 ---> using "4e32d186023f7d56ff8e84670c198729583d0dc2b7b963053fe67836f744f93e" from cache

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

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

Already up-to-date.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-11-05 03:25.35 ---> using "915a06cb6a2e455f7c13a1eb458f9ac78fd0c7a93f0ddff25dc0493f5f87d47c" from cache

/src: (copy (src arp.opam) (dst ./))
2025-11-05 03:25.35 ---> using "00773980fd93a0791b3eb7b151379de577cef1c22e92e6888c86d0011cc62249" from cache

/src: (run (network host)
           (shell "opam pin add -yn arp.dev './'"))
[arp.dev] synchronised (file:///src)
arp is now pinned to file:///src (version dev)
2025-11-05 03:25.35 ---> using "964865436759106e43538d5929cddc58960e062ee4682f1eaa061cd7dbf203e4" from cache

/src: (run (network host)
           (shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-11-05 03:25.35 ---> using "42976032671240c6507af76d4d9d6be64eb025abd407b5adb694f2c4148a7a94" from cache

/src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.0.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 domain-name.0.5.0 dune.3.20.2 dune-configurator.3.20.2 duration.0.2.1 ethernet.3.2.0 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 logs.0.9.0 lru.0.3.1 lwt.5.9.2 macaddr.5.6.1 mirage-net.4.0.0 mirage-sleep.4.1.0 mirage-vnetif.0.6.2 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 psq.0.2.1 re.1.14.0 rresult.0.7.0 seq.base stdlib-shims.0.3.0 topkg.1.1.0 uutf.1.0.4")

/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.4 --depext-only -y arp.dev $DEPS"))
+ /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 ppc64el Packages [66.7 kB]
- Fetched 157 kB in 0s (723 kB/s)
- Reading package lists...

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[arp.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-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml is already installed (current version is 5.4.0).
[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-effects 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-11-05 03:25.35 ---> using "29529919f309f4022e64b0df72cb6312ce2dfa58cc2615fd36c577811aaa8572" 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-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml is already installed (current version is 5.4.0).
[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-effects 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 34 packages
  - install alcotest           1.9.1
  - install astring            0.8.5
  - install base-bytes         base
  - install bos                0.2.1
  - install cmdliner           2.0.0
  - install cppo               1.8.0
  - install csexp              1.5.2
  - install cstruct            6.2.0
  - install domain-name        0.5.0
  - install dune               3.20.2
  - install dune-configurator  3.20.2
  - install duration           0.2.1
  - install ethernet           3.2.0
  - install fmt                0.11.0
  - install fpath              0.7.3
  - install ipaddr             5.6.1
  - install logs               0.9.0
  - install lru                0.3.1
  - install lwt                5.9.2
  - install macaddr            5.6.1
  - install mirage-net         4.0.0
  - install mirage-sleep       4.1.0
  - install mirage-vnetif      0.6.2
  - install ocaml-syntax-shims 1.0.0
  - install ocamlbuild         0.16.1
  - install ocamlfind          1.9.8
  - install ocplib-endian      1.2
  - install psq                0.2.1
  - install re                 1.14.0
  - install rresult            0.7.0
  - install seq                base
  - install stdlib-shims       0.3.0
  - install topkg              1.1.0
  - install uutf               1.0.4

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved bos.0.2.1  (cached)
-> retrieved cmdliner.2.0.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved cstruct.6.2.0  (cached)
-> retrieved domain-name.0.5.0  (cached)
-> retrieved duration.0.2.1  (cached)
-> retrieved ethernet.3.2.0  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved ipaddr.5.6.1, macaddr.5.6.1  (cached)
-> retrieved logs.0.9.0  (cached)
-> retrieved lru.0.3.1  (cached)
-> retrieved mirage-net.4.0.0  (cached)
-> retrieved mirage-sleep.4.1.0  (cached)
-> retrieved lwt.5.9.2  (cached)
-> retrieved mirage-vnetif.0.6.2  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> retrieved psq.0.2.1  (cached)
-> retrieved re.1.14.0  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved rresult.0.7.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved topkg.1.1.0  (cached)
-> retrieved dune.3.20.2, dune-configurator.3.20.2  (cached)
-> installed cmdliner.2.0.0
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed topkg.1.1.0
-> installed rresult.0.7.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed dune.3.20.2
-> installed duration.0.2.1
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed cstruct.6.2.0
-> installed domain-name.0.5.0
-> installed macaddr.5.6.1
-> installed ocaml-syntax-shims.1.0.0
-> installed psq.0.2.1
-> installed re.1.14.0
-> installed stdlib-shims.0.3.0
-> installed ocplib-endian.1.2
-> installed lru.0.3.1
-> installed ipaddr.5.6.1
-> installed alcotest.1.9.1
-> installed dune-configurator.3.20.2
-> installed lwt.5.9.2
-> installed mirage-net.4.0.0
-> installed mirage-sleep.4.1.0
-> installed logs.0.9.0
-> installed mirage-vnetif.0.6.2
-> installed ethernet.3.2.0
-> installed bos.0.2.1
Done.
# To update the current shell environment, run: eval $(opam env)
2025-11-05 03:25.35 ---> using "58bf4a1455ead3929464da04a93ffa3717f0baa06031b5c41dd95dad4046697d" from cache

/src: (copy (src .) (dst /src))
2025-11-05 03:25.35 ---> saved as "a9f068d9a41e9c1db3d92d43ca43d35f115e116446467fb243d44bdf858ffe96"

/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/test && ./tests.exe)
Testing `ARP tests'.
This run has ID `MOAGLAEA'.

  [OK]          Coder            0   valid arp decoding.
  [OK]          Coder            1   unhandled arp decoding.
  [OK]          Coder            2   short arp decoding.
  [OK]          Coder            3   invalid operation decoding.
  [OK]          Coder            4   decoding is inverse of encoding.
  [OK]          Coder            5   encode_into works.
  [OK]          Coder            6   encode_into fails with small bufs.
  [OK]          Handler          0   create raises.
  [OK]          Handler          1   basic tests.
  [OK]          Handler          2   remove test.
  [OK]          Handler          3   remove no test.
  [OK]          Handler          4   alias test.
  [OK]          Handler          5   alias remove test.
  [OK]          Handler          6   static test.
  [OK]          Handler          7   static alias test.
  [OK]          Handler          8   more tests.
  [OK]          Handler          9   handle good.
  [OK]          Handler         10   handle generates req.
  [OK]          Handler         11   handle generates req, next doesn't.
  [OK]          Handler         12   alias wakes.
  [OK]          Handler         13   static wakes.
  [OK]          Handler         14   handle timeout.
  [OK]          Handler         15   request send before timeout.
  [OK]          Handler         16   multiple requests are send.
  [OK]          Handler         17   multiple requests are send 2.
  [OK]          Handler         18   handle reply.
  [OK]          Handler         19   handle garp.
  [OK]          Handler         20   answers broadcast request.
  [OK]          Handler         21   answers unicast request.
  [OK]          Handler         22   not answering random request.
  [OK]          Handler         23   ignoring random.
  [OK]          Handler         24   reply does not harm static entries.
  [OK]          Handler         25   reply is in cache.
  [OK]          Handler         26   dynamic entry can be queried.
  [OK]          Handler         27   reply times out.
  [OK]          Handler         28   dynamic entry overriden by same.
  [OK]          Handler         29   dynamic entry overriden by other.
  [OK]          Handler         30   dynamic entry is not advertised.
  [OK]          Handler         31   reply wakes tasks.
  [OK]          Handler         32   stale to dynamic on same MAC reply.
  [OK]          Handler         33   stale stays stale on different MAC reply.
  [OK]          Handler         34   probing to dynamic on same MAC reply.
  [OK]          Handler         35   probing to stale on different MAC reply.

Full test results in `/src/_build/default/test/_build/_tests/ARP tests'.
Test Successful in 0.075s. 43 tests run.
(cd _build/default/test/mirage && ./tests.exe)
Testing `arp'.
This run has ID `CYPKK9IM'.

  [OK]          arp          0   conversions neither lose nor gain information.
  [OK]          arp          1   nonsense requests are ignored.
  [OK]          arp          2   requests are responded to.
  [OK]          arp          3   entries expire.
  [OK]          arp          4   irrelevant requests are ignored.
  [OK]          arp          5   set_ip sets ip, sends GARP.
  [OK]          arp          6   add_ip, get_ip and remove_ip as advertised.
  [OK]          arp          7   GARPs are heard and not cached.
  [OK]          arp          8   unsolicited unicast replies are heard and no...
  [OK]          arp          9   solicited unicast replies resolve pending th...
  [OK]          arp         10   entries are replaced with new information.
  [OK]          arp         11   unreachable IPs time out.
  [OK]          arp         12   queries are tried repeatedly before timing out.

Test Successful in 20.723s. 13 tests run.
ASSERT serialize/deserialize
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:03
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:01)
tests.exe: [DEBUG] starting arp listener for 02:50:00:00:00:01
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [INFO] Failed to parse ARP frame ARP message has unsupported operation 3
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [INFO] Failed to parse ARP frame ARP message has unsupported operation 65535
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [INFO] Failed to parse ARP frame ARP message has unsupported operation 255
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [INFO] Failed to parse ARP frame ARP message has unsupported operation 256
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [INFO] Failed to parse ARP frame ARP message has unsupported operation 257
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [INFO] Failed to parse ARP frame ARP message has unsupported operation 0
tests.exe: [DEBUG] sending ARP request for 192.168.3.10 --> Pending
ASSERT parsed packet comparison
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:02)
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.10 (02:50:00:00:00:01)
tests.exe: [DEBUG] starting arp listener for 02:50:00:00:00:02
tests.exe: [DEBUG] resending ARP request for 192.168.3.10 (2 left)
tests.exe: [DEBUG] resending ARP request for 192.168.3.10 (1 left)
tests.exe: [INFO] ARP timeout after 2 retries for 192.168.3.10
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [DEBUG] replying to ARP request for 192.168.3.1 from 192.168.3.10 (mac 02:50:00:00:00:01)
ASSERT parsed packet comparison
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.10 (02:50:00:00:00:01)
[entries_expire] Set up listener with IP 192.168.3.10, MACs: listen=02:50:00:00:00:01 speak=02:50:00:00:00:02
tests.exe: [INFO] entries_expire: Set up listener with IP 192.168.3.10, MACs: listen=02:50:00:00:00:01 speak=02:50:00:00:00:02
tests.exe: [DEBUG] starting arp listener for 02:50:00:00:00:01
tests.exe: [INFO] entries_expire: Establishing cache entry for 192.168.3.1
tests.exe: [DEBUG] sending ARP request for 192.168.3.1 --> Pending
tests.exe: [DEBUG] entries_expire: Sending ARP reply
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [DEBUG] ARP reply received for 192.168.3.1/02:50:00:00:00:02, adding cache entry
tests.exe: [INFO] entries_expire: Query succeeded, got expected MAC 02:50:00:00:00:02
tests.exe: [DEBUG] entries_expire: ARP reply sent
[entries_expire] Cache entry established successfully
tests.exe: [INFO] entries_expire: Cache entry established. ARP cache state: mac 02:50:00:00:00:01 ip 192.168.3.10 entries 2 timeout 800 retries 2
192.168.3.1 at 02:50:00:00:00:02 (timeout in 40)
192.168.3.10 at 02:50:00:00:00:01 (static advertising)

tests.exe: [INFO] entries_expire: Sleeping 20s to ensure entry is completely removed from cache
[entries_expire] Sleeping 20s to ensure entry is completely removed
tests.exe: [DEBUG] ARP entry 192.168.3.1 (mac 02:50:00:00:00:02) timed out --> Stale
tests.exe: [DEBUG] removing stale ARP entry 192.168.3.1 (mac 02:50:00:00:00:02)
[entries_expire] After 20s sleep, checking cache state
tests.exe: [INFO] entries_expire: After 20s sleep. ARP cache state: mac 02:50:00:00:00:01 ip 192.168.3.10 entries 1 timeout 800 retries 2
192.168.3.10 at 02:50:00:00:00:01 (static advertising)

tests.exe: [INFO] entries_expire: Checking that entry is not in cache
[entries_expire] Checking that entry is not in cache (should generate ARP request)
tests.exe: [DEBUG] sending ARP request for 192.168.3.1 --> Pending
ASSERT parsed packet comparison
[entries_expire] Test completed successfully!
tests.exe: [INFO] entries_expire: Test completed successfully
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:01)
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.10 (02:50:00:00:00:02)
tests.exe: [DEBUG] starting arp listener for 02:50:00:00:00:01
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [DEBUG] ignoring ARP request for 0.0.0.0 from 192.168.3.10 (mac 02:50:00:00:00:02)
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [DEBUG] ignoring ARP request for 255.255.255.255 from 192.168.3.10 (mac 02:50:00:00:00:02)
tests.exe: [DEBUG] resending ARP request for 192.168.3.1 (2 left)
tests.exe: [DEBUG] resending ARP request for 192.168.3.1 (1 left)
tests.exe: [INFO] ARP timeout after 2 retries for 192.168.3.1
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:01)
ASSERT parsed packet comparison
ASSERT garp emitted when setting ip
ASSERT list of bound IPs on initialization
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:01)
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.10 (02:50:00:00:00:01)
ASSERT list of bound IPs after setting two IPs
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
ASSERT bound ips is an empty list on startup
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:01)
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:01)
ASSERT set ips with duplicate elements result in deduplication
ASSERT ip list is empty after removing only ip
ASSERT ip list is empty after removing from empty list
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:01)
ASSERT first ip is the only member of the set of bound ips
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:01)
ASSERT adding ips is idempotent
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [DEBUG] sending ARP request for 192.168.3.1 --> Pending
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:02)
tests.exe: [DEBUG] ARP reply received for 192.168.3.1/02:50:00:00:00:02, adding cache entry
ASSERT mismatch for expected query value
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [DEBUG] starting arp listener for 02:50:00:00:00:01
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [DEBUG] sending ARP request for 192.168.3.1 --> Pending
tests.exe: [DEBUG] resending ARP request for 192.168.3.1 (2 left)
tests.exe: [DEBUG] resending ARP request for 192.168.3.1 (1 left)
tests.exe: [INFO] ARP timeout after 2 retries for 192.168.3.1
tests.exe: [WARNING] Timeout querying 192.168.3.1. Table contents: mac 02:50:00:00:00:01 ip 0.0.0.0 entries 0 timeout 800 retries 2

tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [DEBUG] starting arp listener for 02:50:00:00:00:01
tests.exe: [DEBUG] sending ARP request for 192.168.3.1 --> Pending
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [DEBUG] ARP reply received for 192.168.3.1/02:50:00:00:00:02, adding cache entry
ASSERT mismatch for expected query value
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:03
tests.exe: [DEBUG] sending ARP request for 192.168.3.1 --> Pending
tests.exe: [DEBUG] arp listener started
tests.exe: [DEBUG] starting arp listener for 02:50:00:00:00:01
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:02)
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [DEBUG] ARP reply received for 192.168.3.1/02:50:00:00:00:02, adding cache entry
tests.exe: [DEBUG] Set IP for 02:50:00:00:00:02 to 192.168.3.1
tests.exe: [DEBUG] Listener table contents after IP set on claimant: mac 02:50:00:00:00:01 ip 0.0.0.0 entries 1 timeout 800 retries 2
192.168.3.1 at 02:50:00:00:00:02 (timeout in 40)

ASSERT mismatch for expected query value
tests.exe: [INFO] Sending gratuitous ARP for 192.168.3.1 (02:50:00:00:00:03)
tests.exe: [DEBUG] frame received for arpv4
tests.exe: [WARNING] MAC address for 192.168.3.1 moved from 02:50:00:00:00:02 to 02:50:00:00:00:03, marked as stale
tests.exe: [DEBUG] Set IP for 02:50:00:00:00:03 to 192.168.3.1
tests.exe: [DEBUG] Listener table contents after IP set on claimant: mac 02:50:00:00:00:01 ip 0.0.0.0 entries 1 timeout 800 retries 2
192.168.3.1 at 02:50:00:00:00:03 (stale, timeout in 800)

tests.exe: [DEBUG] request for stale entry 192.168.3.1/02:50:00:00:00:03 --> Probing
ASSERT mismatch for expected query value
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [DEBUG] sending ARP request for 192.168.3.1 --> Pending
tests.exe: [DEBUG] resending ARP request for 192.168.3.1 (2 left)
tests.exe: [DEBUG] resending ARP request for 192.168.3.1 (1 left)
tests.exe: [INFO] ARP timeout after 2 retries for 192.168.3.1
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:01
tests.exe: [INFO] Connected Ethernet interface 02:50:00:00:00:02
tests.exe: [DEBUG] sending ARP request for 192.168.3.1 --> Pending
ASSERT parsed packet comparison
tests.exe: [DEBUG] resending ARP request for 192.168.3.1 (2 left)
ASSERT parsed packet comparison
2025-11-05 03:25.57 ---> saved as "58254ebdea3f306306fef38afe137bd1c5203c17c2989126a6e19137a293760a"
Job succeeded
2025-11-05 03:25.57: Job succeeded