On Thu, Jan 23, 2025 at 07:37:26AM -0700, Simon Glass wrote: > Hi Adriano, > > On Wed, 22 Jan 2025 at 10:10, Adriano Cordova <adria...@gmail.com> wrote: > > > > check that the number of ethernet udevices matches the number of simple > > network protocols > > > > Signed-off-by: Adriano Cordova <adriano.cord...@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() > > We should avoid restarting U-Boot in a test unless there is a strong > need. It makes things a lot slower!
Yes, if we can not reboot here that would be good. > > + 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) > > This test should be written in C, e.g: > > struct udevice *dev; > int count; > uclass_foreach_dev(dev, UCLASS_ETH) > if (device_active(dev)) > count++; > > > + > > + 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') > > Again, this should be written in C and use run_command(). No, if these are written in python already, we can leave them in python. C is bad for strings. -- Tom
signature.asc
Description: PGP signature