Hi Heinrich, On Wed, 17 Jan 2024 at 17:34, Heinrich Schuchardt <heinrich.schucha...@canonical.com> wrote: > > Provide a unit test for the smbios command. > > Provide different test functions for QEMU, sandbox, and other systems. > > Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> > --- > v2: > for generic boards we only can assume that a type 127 table exists > email address updated > --- > test/py/tests/test_smbios.py | 41 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > create mode 100644 test/py/tests/test_smbios.py > > diff --git a/test/py/tests/test_smbios.py b/test/py/tests/test_smbios.py > new file mode 100644 > index 00000000000..82b0b689830 > --- /dev/null > +++ b/test/py/tests/test_smbios.py > @@ -0,0 +1,41 @@ > +# SPDX-License-Identifier: GPL-2.0-or-later > + > +"""Test smbios command""" > + > +import pytest > + > +@pytest.mark.buildconfigspec('cmd_smbios') > +@pytest.mark.notbuildconfigspec('qfw_smbios') > +@pytest.mark.notbuildconfigspec('sandbox') > +def test_cmd_smbios(u_boot_console): > + """Run the smbios command""" > + output = u_boot_console.run_command('smbios') > + assert 'DMI type 127,' in output > + > +@pytest.mark.buildconfigspec('cmd_smbios') > +@pytest.mark.buildconfigspec('qfw_smbios') > +@pytest.mark.notbuildconfigspec('sandbox') > +# TODO: > +# QEMU v8.2.0 lacks SMBIOS support for RISC-V > +# Once support is available in our Docker image we can remove the constraint. > +@pytest.mark.notbuildconfigspec('riscv') > +def test_cmd_smbios_qemu(u_boot_console): > + """Run the smbios command on QEMU""" > + output = u_boot_console.run_command('smbios') > + assert 'DMI type 1,' in output > + assert 'Manufacturer: QEMU' in output > + assert 'DMI type 127,' in output
Is there an easy way to run this test with and without the SMBIOS tables provided by QEMU? We could test the u-boot generated ones that way Thanks /Ilias > + > +@pytest.mark.buildconfigspec('cmd_smbios') > +@pytest.mark.buildconfigspec('sandbox') > +def test_cmd_smbios_sandbox(u_boot_console): > + """Run the smbios command on the sandbox""" > + output = u_boot_console.run_command('smbios') > + assert 'DMI type 0,' in output > + assert 'String 1: U-Boot' in output > + assert 'DMI type 1,' in output > + assert 'Manufacturer: sandbox' in output > + assert 'DMI type 2,' in output > + assert 'DMI type 3,' in output > + assert 'DMI type 4,' in output > + assert 'DMI type 127,' in output > -- > 2.43.0 >