mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-19 03:15:00 +00:00

Update the cmd according to the changes of the smbios library: 1. Refactor smbios cmd print functions to match the content defined by the specification. 2. Add new print functions for Type 3, 4 and 7. 3. Remove the fallback string "Not specified" from smbios_get_string, as the spec requires a NULL output for those undefined strings. 4. Update the test_cmd_smbios_sandbox pytest expected result to align with the smbios library changes and add new pytest test_cmd_smbios_sysinfo_verbose to test the verbose smbios output. Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
57 lines
2 KiB
Python
57 lines
2 KiB
Python
# 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
|
|
|
|
@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 'Vendor: 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
|
|
|
|
@pytest.mark.buildconfigspec('cmd_smbios')
|
|
@pytest.mark.buildconfigspec('sysinfo_smbios')
|
|
@pytest.mark.buildconfigspec('generate_smbios_table_verbose')
|
|
def test_cmd_smbios_sysinfo_verbose(u_boot_console):
|
|
"""Run the smbios command"""
|
|
output = u_boot_console.run_command('smbios')
|
|
assert 'DMI type 0,' in output
|
|
assert 'Vendor: U-Boot' in output
|
|
assert 'DMI type 1,' in output
|
|
assert 'Manufacturer: linux' in output
|
|
assert 'DMI type 2,' in output
|
|
assert 'DMI type 3,' in output
|
|
assert 'DMI type 7,' in output
|
|
assert 'DMI type 4,' in output
|
|
assert 'DMI type 127,' in output
|