You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test(hw): add driver-probe-error check to dmesg verification
``assert_no_kernel_faults`` only catches hard kernel faults (panic,
oops, BUG, SError). A driver can silently fail to probe — e.g. a
bad DT overlay apply, a phandle that doesn't resolve, a clock
provider that never appears — and the test reaches the IIO-device
assertion with a missing device, producing a confusing "not found"
message that obscures the real root cause.
Add ``assert_no_probe_errors(dmesg_txt)`` in ``hw_helpers.py`` that
scans for the canonical probe-failure signatures:
- ``probe of <dev> failed with error`` (classic ``device_probe``
return-errno message)
- ``Error applying overlay`` / ``failed to apply overlay`` (DT
overlay apply failure)
- ``Error resolving`` (phandle resolution failure)
Reuses ``_DMESG_BENIGN_SUBSTRINGS`` so known-benign probe chatter
(firmware loads, ``-EPROBE_DEFER`` retries, ZynqMP early-boot
warnings) doesn't fire. ``-EPROBE_DEFER`` was already allowlisted;
this commit also adds the raw ``error -517`` string for callers
that log the numeric errno instead of the symbolic name.
Wire the new check in next to every existing
``assert_no_kernel_faults`` site:
- ``test_ad9081_zcu102_xsa_hw.py``
- ``test_ad9081_zcu102_system_hw.py``
- ``test_adrv9009_zcu102_hw.py`` (boot dmesg + post-profile-reload
dmesg in the outer loop)
- ``test_adrv9371_zc706_hw.py``
Also restructure ``test_fmcdaq3_vcu118_hw.py`` so it actually
exercises the new check: switch the fixture from ``target`` to
``board`` (gets teardown power-off for free — VCU118 was previously
left powered on) and swap the bespoke ``grep -Ei fail|error``
snippet for ``collect_dmesg`` + the two assertions, matching the
four other hw tests.
0 commit comments