
check that the number of ethernet udevices matches the number of simple network protocols
Signed-off-by: Adriano Cordova adriano.cordova@canonical.com --- test/py/tests/test_efi_selftest.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/test/py/tests/test_efi_selftest.py b/test/py/tests/test_efi_selftest.py index 310d8ed294..af9992a6f7 100644 --- a/test/py/tests/test_efi_selftest.py +++ b/test/py/tests/test_efi_selftest.py @@ -195,3 +195,24 @@ def test_efi_selftest_tcg2(u_boot_console): if u_boot_console.p.expect(['Summary: 0 failures', 'Press any key']): raise Exception('Failures occurred during the EFI selftest') u_boot_console.restart_uboot() + +@pytest.mark.buildconfigspec('cmd_bootefi_selftest') +@pytest.mark.buildconfigspec('cmd_dm') +def test_efi_selftest_count_netdevices(u_boot_console): + """Test the EFI net device driver + + u_boot_console -- U-Boot console + + This function counts the number of ETH_UCLASS probed udevices + calls the EFI net device selftest to check that the EFI driver + sees the same. + """ + u_boot_console.restart_uboot() + response = u_boot_console.run_command('dm tree') + lines = response.splitlines()[2:] + ethernet_count = sum(1 for line in lines if line.strip().startswith('ethernet') and '[ + ]' in line) + + u_boot_console.run_command(cmd='setenv efi_selftest netdevices') + u_boot_console.run_command('bootefi selftest', wait_for_prompt=False) + if u_boot_console.p.expect([f'Detected {ethernet_count} active EFI net devices']): + raise Exception('Failures occurred during the EFI selftest')