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

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Thu Jan 18 13:33:15 CET 2024


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.

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