Three problems in ports/zephyr-cp/tests/test_web_workflow_hw.py, found while running it against real hardware.
1. test_version_json_mdns_fields_populated fails and has no xfail.
It asserts both fields are non-empty:
assert payload["board_name"] != ""
assert payload["hostname"] != ""
Both are empty on hardware. See #55. This is a hard assertion, so the module fails.
2. The mDNS xfail reason cites that failing test as its own evidence.
test_mdns_hostname_resolves_over_network is marked xfail with the reason:
The responder itself is confirmed correctly configured -- see test_version_json_mdns_fields_populated and the Kconfig comment in boards/siwx917_dk2605a.conf.
That test does not pass, so the justification is circular. The AP-blocks-multicast explanation may still be right, but nothing in the module establishes it.
3. _mdns_query_a cannot fail for the reason the test claims.
if from_ip == BOARD_IP and len(data) > 12:
return from_ip
...
resolved = _mdns_query_a(hostname)
assert resolved == BOARD_IP
The helper filters on from_ip == BOARD_IP and then returns from_ip, so the assertion is a tautology. The answer section is never parsed. It verifies that the board sent some multicast packet, not that <hostname>.local resolves. Combined with the xfail it can neither pass meaningfully nor fail.
Worth fixing before this module is proposed upstream.
Three problems in
ports/zephyr-cp/tests/test_web_workflow_hw.py, found while running it against real hardware.1.
test_version_json_mdns_fields_populatedfails and has no xfail.It asserts both fields are non-empty:
Both are empty on hardware. See #55. This is a hard assertion, so the module fails.
2. The mDNS xfail reason cites that failing test as its own evidence.
test_mdns_hostname_resolves_over_networkis marked xfail with the reason:That test does not pass, so the justification is circular. The AP-blocks-multicast explanation may still be right, but nothing in the module establishes it.
3.
_mdns_query_acannot fail for the reason the test claims.The helper filters on
from_ip == BOARD_IPand then returnsfrom_ip, so the assertion is a tautology. The answer section is never parsed. It verifies that the board sent some multicast packet, not that<hostname>.localresolves. Combined with the xfail it can neither pass meaningfully nor fail.Worth fixing before this module is proposed upstream.