mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
test: provide test for 'acpi list' command
Check that some mandatory ACPI tables exist: - RSDP - RSDT or XSDT - FADT Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
@@ -13,6 +13,9 @@ endif
|
||||
obj-y += exit.o
|
||||
obj-$(CONFIG_X86) += cpuid.o msr.o
|
||||
obj-$(CONFIG_CMD_ADDRMAP) += addrmap.o
|
||||
ifdef CONFIG_CONSOLE_RECORD
|
||||
obj-$(CONFIG_CMD_ACPI) += acpi.o
|
||||
endif
|
||||
obj-$(CONFIG_CMD_BDI) += bdinfo.o
|
||||
obj-$(CONFIG_COREBOOT_SYSINFO) += coreboot.o
|
||||
obj-$(CONFIG_CMD_FDT) += fdt.o
|
||||
|
||||
52
test/cmd/acpi.c
Normal file
52
test/cmd/acpi.c
Normal file
@@ -0,0 +1,52 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/*
|
||||
* Tests for acpi command
|
||||
*/
|
||||
|
||||
#include <linux/bitops.h>
|
||||
#include <test/cmd.h>
|
||||
#include <test/ut.h>
|
||||
|
||||
#define HAVE_RSDP BIT(0)
|
||||
#define HAVE_XSDT BIT(1)
|
||||
#define HAVE_FADT BIT(2)
|
||||
#define HAVE_ALL (HAVE_RSDP | HAVE_XSDT | HAVE_FADT)
|
||||
|
||||
/**
|
||||
* cmd_test_acpi() - test the acpi command
|
||||
*/
|
||||
static int cmd_test_acpi(struct unit_test_state *uts)
|
||||
{
|
||||
unsigned int actual = 0;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* Check that some mandatory ACPI tables exist:
|
||||
* - RSDP
|
||||
* - RSDT or XSDT
|
||||
* - FADT
|
||||
*/
|
||||
ut_assertok(run_commandf("acpi list"));
|
||||
ut_assert_nextline("Name Base Size Detail");
|
||||
ut_assert_nextline("---- ---------------- ----- ----------------------------");
|
||||
for (;;) {
|
||||
ret = console_record_readline(uts->actual_str, sizeof(uts->actual_str));
|
||||
if (ret == -ENOENT) {
|
||||
ut_asserteq(HAVE_ALL, actual);
|
||||
|
||||
return 0;
|
||||
}
|
||||
if (ret < 0)
|
||||
ut_asserteq(0, ret);
|
||||
|
||||
if (!strncmp("RSDP", uts->actual_str, 4))
|
||||
actual |= HAVE_RSDP;
|
||||
else if (!strncmp("RSDT", uts->actual_str, 4))
|
||||
actual |= HAVE_XSDT;
|
||||
else if (!strncmp("XSDT", uts->actual_str, 4))
|
||||
actual |= HAVE_XSDT;
|
||||
else if (!strncmp("FACP", uts->actual_str, 4))
|
||||
actual |= HAVE_FADT;
|
||||
}
|
||||
}
|
||||
CMD_TEST(cmd_test_acpi, UTF_CONSOLE);
|
||||
Reference in New Issue
Block a user