[PATCH v2 4/4] test: unit test for smbios command

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Jan 18 13:35:42 CET 2024


On Thu, Jan 18, 2024 at 01:33:15PM +0100, Heinrich Schuchardt wrote:
> On 1/18/24 12:51, Ilias Apalodimas wrote:
> > Hi Heinrich,
> >
> > On Wed, 17 Jan 2024 at 17:34, Heinrich Schuchardt
> > <heinrich.schuchardt at 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.schuchardt at 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
> > > +
> > > + at pytest.mark.buildconfigspec('cmd_smbios')
> > > + at pytest.mark.notbuildconfigspec('qfw_smbios')
> > > + at 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
> > > +
> > > + at pytest.mark.buildconfigspec('cmd_smbios')
> > > + at pytest.mark.buildconfigspec('qfw_smbios')
> > > + at 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.
> > > + at 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
>
> We already test the sandbox without QFW. I would not want to duplicated QEMU
> defconfigs.
>
Ah fair enough, I can add the generic tests in that one

Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>

> Best regards
>
> Heinrich
>
> >
> > Thanks
> > /Ilias
> > > +
> > > + at pytest.mark.buildconfigspec('cmd_smbios')
> > > + at 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
> > >
>


More information about the U-Boot mailing list