Signed-off-by: Adriano Cordova <[email protected]>
---
 test/py/tests/test_efi_selftest.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/test/py/tests/test_efi_selftest.py 
b/test/py/tests/test_efi_selftest.py
index af9992a6f7f..2b7944d1983 100644
--- a/test/py/tests/test_efi_selftest.py
+++ b/test/py/tests/test_efi_selftest.py
@@ -216,3 +216,27 @@ def test_efi_selftest_count_netdevices(u_boot_console):
     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')
+
[email protected]('cmd_bootefi_selftest')
[email protected]('cmd_dm')
[email protected]('cmd_bind')
+def test_efi_selftest_remove_netdevices(u_boot_console):
+    """Test the EFI net device driver
+
+    u_boot_console -- U-Boot console
+
+    This function removes all the ETH_UCLASS udevices and
+    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)
+
+    for i in range(ethernet_count):
+        u_boot_console.run_command(f'unbind ethernet {i}')
+    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(['Detected 0 active EFI net devices']):
+        raise Exception('Failures occurred during the EFI selftest')
-- 
2.48.1

Reply via email to