Organisationsmiragearpeaebef ()freebsd-14.3-5.4_opam-2.4

freebsd-14.3-5.4_opam-2.4

Logs

Show full logs
2025-11-05 03:19.10: New job: test mirage/arp https://github.com/mirage/arp.git#refs/pull/33/head (eaebefd0aba3ce10045d7951a1b09cb60bcc243b) (freebsd-x86_64:freebsd-14.3-5.4_opam-2.4)
Base: freebsd-14.3-ocaml-5.4
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 eaebefd0
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM freebsd-14.3-ocaml-5.4
# freebsd-14.3-5.4_opam-2.4
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/local/bin/opam-2.4 /usr/local/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:19.10: Using cache hint "mirage/arp-freebsd-14.3-ocaml-5.4-freebsd-14.3-5.4_opam-2.4-e90ecec9ecc2a27db2f5dcc1ab62895a"
2025-11-05 03:19.10: Using OBuilder spec:
((from freebsd-14.3-ocaml-5.4)
 (comment freebsd-14.3-5.4_opam-2.4)
 (user (uid 1000) (gid 1000))
 (env CLICOLOR_FORCE 1)
 (env OPAMCOLOR always)
 (workdir /src)
 (run (shell "sudo ln -f /usr/local/bin/opam-2.4 /usr/local/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:19.10: Waiting for resource in pool OCluster
2025-11-05 03:19.10: Waiting for worker…
2025-11-05 03:19.10: Got resource from pool OCluster
Building on rosemary
HEAD is now at 7843efa debug
HEAD is now at eaebefd debug

(from freebsd-14.3-ocaml-5.4)
2025-11-05 03:18.20 ---> using "463e9b939b79b2568bf98b05cff00f85b3ec5717170cf88773a44ae3b08f11e7" from cache

/: (comment freebsd-14.3-5.4_opam-2.4)

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

/: (env CLICOLOR_FORCE 1)

/: (env OPAMCOLOR always)

/: (workdir /src)

/src: (run (shell "sudo ln -f /usr/local/bin/opam-2.4 /usr/local/bin/opam"))
2025-11-05 03:18.20 ---> using "3a594302e099be4d1fe17d31961c678e53238e61e9f64fbe865d05a177bbd49f" from cache

/src: (run (shell "opam init --reinit -ni"))
No configuration file found, using 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.1 to version 2.2, which can't be reverted.
You may want to back it up before going further.

Continue? [Y/n] y
[NOTE] The 'jobs' option was reset, its value was 1 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=1 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] no changes from git+file:///home/opam/opam-repository
2025-11-05 03:18.20 ---> using "966aea62bfa80234ccffa3e603e9d2a2c27a29ab53d209038b434e38821f2fb7" from cache

/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
FreeBSD 14.3-RELEASE-p3
The OCaml toplevel, version 5.4.0
2.4.1
2025-11-05 03:18.21 ---> using "901289cfc1072ebb5c56e6766d7e4b0939435c511aca0ca5e37a81de9f740bdb" from cache

/src: (workdir /src)

/src: (run (shell "sudo chown opam /src"))
2025-11-05 03:18.21 ---> using "1dc6b19784012bf1d34b6ef08bc9997df686c93fa70b17674c490e435d82e9d9" 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
   5bf570252b..0939e07036  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.
2025-11-05 03:18.21 ---> using "dd2b5baaf84fb0d75e584a4435ad4c2f992562f175b774598ca383b29dc33bdf" from cache

/src: (copy (src arp.opam) (dst ./))
2025-11-05 03:18.21 ---> using "faede65cf0cc5e153d208baae0d703290e384002439be57b4c08a5ee621216a7" 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:18.22 ---> using "b50606033b248e8944df3952d1d4d27578332577ab037c3220d6438cb996b957" from cache

/src: (run (network host)
           (shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-11-05 03:18.22 ---> using "b85ac23e91da9409f6d0289de4b306391b303c36cdae6f1ed072861a4ac735f4" 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"))
[WARNING] Unknown update command for bsd, skipping system update

<><> 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:18.22 ---> using "9b2a52096d7f8b109cb65aadbeb848aaffaaabe25f7a067b37aa30b706adcb85" 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
   alcotest           1.9.1
   astring            0.8.5
   base-bytes         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-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

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
 retrieved bos.0.2.1  (cached)
 retrieved astring.0.8.5  (cached)
 retrieved alcotest.1.9.1  (cached)
 retrieved cppo.1.8.0  (cached)
 retrieved csexp.1.5.2  (cached)
 retrieved cmdliner.2.0.0  (cached)
 retrieved domain-name.0.5.0  (cached)
 retrieved cstruct.6.2.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 mirage-vnetif.0.6.2  (cached)
 retrieved lwt.5.9.2  (cached)
 retrieved ocaml-syntax-shims.1.0.0  (cached)
 retrieved ocamlfind.1.9.8  (cached)
 retrieved ocplib-endian.1.2  (cached)
 retrieved ocamlbuild.0.16.1  (cached)
 retrieved re.1.14.0  (cached)
 retrieved psq.0.2.1  (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 macaddr.5.6.1
 installed domain-name.0.5.0
 installed csexp.1.5.2
 installed ipaddr.5.6.1
 installed stdlib-shims.0.3.0
 installed re.1.14.0
 installed psq.0.2.1
 installed ocaml-syntax-shims.1.0.0
 installed cstruct.6.2.0
 installed cppo.1.8.0
 installed lru.0.3.1
 installed ocplib-endian.1.2
 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.
2025-11-05 03:18.22 ---> using "0b7f43d6f9be01c83a24cbe589353a49f05f1c24a8e39c3643a3e2cd6307c847" from cache

/src: (copy (src .) (dst /src))
2025-11-05 03:18.23 ---> saved as "87abbc143d8d9b3605c52d99e9666287dc177a9bc10f28d8fda2fe65ef34f645"

/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 `UR88WQFP'.

  [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.094s. 43 tests run.
(cd _build/default/test/mirage && ./tests.exe)
Testing `arp'.
This run has ID `N8ZOT55G'.

  [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 10.724s. 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 10s to ensure entry is completely removed from cache
[entries_expire] Sleeping 10s 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 10s sleep, checking cache state
tests.exe: [INFO] entries_expire: After 10s 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:18.35 ---> saved as "cc205b312c3060d5eba74bf66a9d1580ab41b9907ee286f8b27b2fe18f1d6690"
Job succeeded
2025-11-05 03:19.26: Job succeeded