diff options
Diffstat (limited to 'test')
214 files changed, 707 insertions, 282 deletions
diff --git a/test/bloblist.c b/test/bloblist.c index 1c60bbac36c..7c63682908a 100644 --- a/test/bloblist.c +++ b/test/bloblist.c @@ -3,7 +3,6 @@ * Copyright (c) 2018, Google Inc. All rights reserved. */ -#include <common.h> #include <bloblist.h> #include <log.h> #include <mapmem.h> diff --git a/test/boot/bootdev.c b/test/boot/bootdev.c index 0702fccdae6..1bf5929c396 100644 --- a/test/boot/bootdev.c +++ b/test/boot/bootdev.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <bootstd.h> #include <dm.h> #include <bootdev.h> @@ -681,7 +680,6 @@ static int bootdev_test_next_label(struct unit_test_state *uts) BOOTSTD_TEST(bootdev_test_next_label, UT_TESTF_DM | UT_TESTF_SCAN_FDT | UT_TESTF_ETH_BOOTDEV | UT_TESTF_SF_BOOTDEV); - /* Check iterating to the next prioirty in a list */ static int bootdev_test_next_prio(struct unit_test_state *uts) { diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c index 674d4c05f83..8b46256fa48 100644 --- a/test/boot/bootflow.c +++ b/test/boot/bootflow.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <bootdev.h> #include <bootflow.h> #include <bootmeth.h> @@ -28,6 +27,7 @@ DECLARE_GLOBAL_DATA_PTR; +extern U_BOOT_DRIVER(bootmeth_android); extern U_BOOT_DRIVER(bootmeth_cros); extern U_BOOT_DRIVER(bootmeth_2script); @@ -519,12 +519,12 @@ BOOTSTD_TEST(bootflow_cmd_boot, UT_TESTF_DM | UT_TESTF_SCAN_FDT); * @uts: Unit test state * @mmc_dev: MMC device to use, e.g. "mmc4". Note that this must remain valid * in the caller until - * @bind_cros: true to bind the ChromiumOS bootmeth + * @bind_cros: true to bind the ChromiumOS and Android bootmeths * @old_orderp: Returns the original bootdev order, which must be restored * Returns 0 on success, -ve on failure */ static int prep_mmc_bootdev(struct unit_test_state *uts, const char *mmc_dev, - bool bind_cros, const char ***old_orderp) + bool bind_cros_android, const char ***old_orderp) { static const char *order[] = {"mmc2", "mmc1", NULL, NULL}; struct udevice *dev, *bootstd; @@ -546,12 +546,19 @@ static int prep_mmc_bootdev(struct unit_test_state *uts, const char *mmc_dev, "bootmeth_script", 0, ofnode_null(), &dev)); /* Enable the cros bootmeth if needed */ - if (IS_ENABLED(CONFIG_BOOTMETH_CROS) && bind_cros) { + if (IS_ENABLED(CONFIG_BOOTMETH_CROS) && bind_cros_android) { ut_assertok(uclass_first_device_err(UCLASS_BOOTSTD, &bootstd)); ut_assertok(device_bind(bootstd, DM_DRIVER_REF(bootmeth_cros), "cros", 0, ofnode_null(), &dev)); } + /* Enable the android bootmeths if needed */ + if (IS_ENABLED(CONFIG_BOOTMETH_ANDROID) && bind_cros_android) { + ut_assertok(uclass_first_device_err(UCLASS_BOOTSTD, &bootstd)); + ut_assertok(device_bind(bootstd, DM_DRIVER_REF(bootmeth_android), + "android", 0, ofnode_null(), &dev)); + } + /* Change the order to include the device */ std = dev_get_priv(bootstd); old_order = std->bootdev_order; @@ -591,6 +598,37 @@ static int scan_mmc_bootdev(struct unit_test_state *uts, const char *mmc_dev, } /** + * scan_mmc_android_bootdev() - Set up an mmc bootdev so we can access other + * distros. Android bootflow might print "ANDROID:*" while scanning + * + * @uts: Unit test state + * @mmc_dev: MMC device to use, e.g. "mmc4" + * Returns 0 on success, -ve on failure + */ +static int scan_mmc_android_bootdev(struct unit_test_state *uts, const char *mmc_dev) +{ + struct bootstd_priv *std; + struct udevice *bootstd; + const char **old_order; + + ut_assertok(prep_mmc_bootdev(uts, mmc_dev, true, &old_order)); + + console_record_reset_enable(); + ut_assertok(run_command("bootflow scan", 0)); + /* Android bootflow might print one or two 'ANDROID:*' logs */ + ut_check_skipline(uts); + ut_check_skipline(uts); + ut_assert_console_end(); + + /* Restore the order used by the device tree */ + ut_assertok(uclass_first_device_err(UCLASS_BOOTSTD, &bootstd)); + std = dev_get_priv(bootstd); + std->bootdev_order = old_order; + + return 0; +} + +/** * scan_mmc4_bootdev() - Set up the mmc4 bootdev so we can access a fake Armbian * * @uts: Unit test state @@ -1161,3 +1199,26 @@ static int bootflow_cros(struct unit_test_state *uts) return 0; } BOOTSTD_TEST(bootflow_cros, 0); + +/* Test Android bootmeth */ +static int bootflow_android(struct unit_test_state *uts) +{ + if (!IS_ENABLED(CONFIG_BOOTMETH_ANDROID)) + return -EAGAIN; + + ut_assertok(scan_mmc_android_bootdev(uts, "mmc7")); + ut_assertok(run_command("bootflow list", 0)); + + ut_assert_nextlinen("Showing all"); + ut_assert_nextlinen("Seq"); + ut_assert_nextlinen("---"); + ut_assert_nextlinen(" 0 extlinux"); + ut_assert_nextlinen(" 1 android ready mmc 0 mmc7.bootdev.whole "); + ut_assert_nextlinen("---"); + ut_assert_skip_to_line("(2 bootflows, 2 valid)"); + + ut_assert_console_end(); + + return 0; +} +BOOTSTD_TEST(bootflow_android, 0); diff --git a/test/boot/bootmeth.c b/test/boot/bootmeth.c index e498eee036e..113b789ea79 100644 --- a/test/boot/bootmeth.c +++ b/test/boot/bootmeth.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <bootmeth.h> #include <bootstd.h> #include <dm.h> diff --git a/test/boot/bootstd_common.c b/test/boot/bootstd_common.c index cc97e255e5c..e50539500a0 100644 --- a/test/boot/bootstd_common.c +++ b/test/boot/bootstd_common.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <bootdev.h> #include <bootstd.h> #include <dm.h> diff --git a/test/boot/cedit.c b/test/boot/cedit.c index aa417190486..fd19da0a0c0 100644 --- a/test/boot/cedit.c +++ b/test/boot/cedit.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <cedit.h> #include <env.h> #include <expo.h> diff --git a/test/boot/expo.c b/test/boot/expo.c index 714fdfa415d..6ea0184373d 100644 --- a/test/boot/expo.c +++ b/test/boot/expo.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <command.h> #include <dm.h> #include <expo.h> diff --git a/test/boot/image.c b/test/boot/image.c index 2844b057859..0894e30587f 100644 --- a/test/boot/image.c +++ b/test/boot/image.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <image.h> #include <test/suites.h> #include <test/ut.h> diff --git a/test/boot/measurement.c b/test/boot/measurement.c index 9db2ed324c2..29be495412d 100644 --- a/test/boot/measurement.c +++ b/test/boot/measurement.c @@ -6,7 +6,6 @@ * Written by Eddie James <eajames@linux.ibm.com> */ -#include <common.h> #include <bootm.h> #include <malloc.h> #include <test/suites.h> diff --git a/test/boot/vbe_fixup.c b/test/boot/vbe_fixup.c index eba5c4ebe6c..540816e42b0 100644 --- a/test/boot/vbe_fixup.c +++ b/test/boot/vbe_fixup.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <dm/ofnode.h> #include <linux/libfdt.h> #include <test/test.h> diff --git a/test/boot/vbe_simple.c b/test/boot/vbe_simple.c index 5e61840652c..3672b744e5f 100644 --- a/test/boot/vbe_simple.c +++ b/test/boot/vbe_simple.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <bootmeth.h> #include <dm.h> #include <image.h> diff --git a/test/bootm.c b/test/bootm.c index 4bb3ca0655c..26c15552bf6 100644 --- a/test/bootm.c +++ b/test/bootm.c @@ -5,7 +5,6 @@ * Copyright 2020 Google LLC */ -#include <common.h> #include <bootm.h> #include <asm/global_data.h> #include <test/suites.h> diff --git a/test/cmd/addrmap.c b/test/cmd/addrmap.c index 1eb5955db17..7b8f49fd375 100644 --- a/test/cmd/addrmap.c +++ b/test/cmd/addrmap.c @@ -5,7 +5,6 @@ * Copyright (C) 2021, Bin Meng <bmeng.cn@gmail.com> */ -#include <common.h> #include <console.h> #include <test/suites.h> #include <test/ut.h> diff --git a/test/cmd/armffa.c b/test/cmd/armffa.c index 9a44a397e8a..38f40b72f5e 100644 --- a/test/cmd/armffa.c +++ b/test/cmd/armffa.c @@ -8,7 +8,6 @@ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> */ -#include <common.h> #include <string.h> #include <asm/sandbox_arm_ffa.h> #include <dm/test.h> diff --git a/test/cmd/bdinfo.c b/test/cmd/bdinfo.c index 4977d01f62d..027848c3e24 100644 --- a/test/cmd/bdinfo.c +++ b/test/cmd/bdinfo.c @@ -5,7 +5,6 @@ * Copyright 2023 Marek Vasut <marek.vasut+renesas@mailbox.org> */ -#include <common.h> #include <console.h> #include <mapmem.h> #include <asm/global_data.h> diff --git a/test/cmd/exit.c b/test/cmd/exit.c index 7e160f7e4bb..d310ec8531b 100644 --- a/test/cmd/exit.c +++ b/test/cmd/exit.c @@ -5,7 +5,6 @@ * Copyright 2022 Marek Vasut <marex@denx.de> */ -#include <common.h> #include <console.h> #include <mapmem.h> #include <asm/global_data.h> diff --git a/test/cmd/fdt.c b/test/cmd/fdt.c index 54708552175..e09a929a5e4 100644 --- a/test/cmd/fdt.c +++ b/test/cmd/fdt.c @@ -5,7 +5,6 @@ * Copyright 2022 Google LLC */ -#include <common.h> #include <console.h> #include <fdt_support.h> #include <mapmem.h> @@ -1347,6 +1346,10 @@ static int fdt_test_chosen(struct unit_test_state *uts) ut_assert_nextlinen("\tu-boot,version = "); /* Ignore the version string */ if (env_bootargs) ut_assert_nextline("\tbootargs = \"%s\";", env_bootargs); + if (IS_ENABLED(CONFIG_DM_RNG) && + !IS_ENABLED(CONFIG_MEASURED_BOOT) && + !IS_ENABLED(CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT)) + ut_assert_nextlinen("\tkaslr-seed = "); ut_assert_nextline("};"); ut_assertok(ut_check_console_end(uts)); @@ -1363,6 +1366,10 @@ static int fdt_test_chosen(struct unit_test_state *uts) ut_assert_nextlinen("\tu-boot,version = "); /* Ignore the version string */ if (env_bootargs) ut_assert_nextline("\tbootargs = \"%s\";", env_bootargs); + if (IS_ENABLED(CONFIG_DM_RNG) && + !IS_ENABLED(CONFIG_MEASURED_BOOT) && + !IS_ENABLED(CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT)) + ut_assert_nextlinen("\tkaslr-seed = "); ut_assert_nextline("};"); ut_assertok(ut_check_console_end(uts)); diff --git a/test/cmd/font.c b/test/cmd/font.c index 1fe05c1ead5..a8905ce617e 100644 --- a/test/cmd/font.c +++ b/test/cmd/font.c @@ -5,7 +5,6 @@ * Copyright 2022 Google LLC */ -#include <common.h> #include <console.h> #include <dm.h> #include <video_console.h> diff --git a/test/cmd/history.c b/test/cmd/history.c index 06517fcdbb5..6964bfa9e1e 100644 --- a/test/cmd/history.c +++ b/test/cmd/history.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <cli.h> #include <command.h> #include <test/lib.h> diff --git a/test/cmd/loadm.c b/test/cmd/loadm.c index 41e005ac592..dff8a97d139 100644 --- a/test/cmd/loadm.c +++ b/test/cmd/loadm.c @@ -9,7 +9,6 @@ * Rui Miguel Silva <rui.silva@linaro.org> */ -#include <common.h> #include <console.h> #include <mapmem.h> #include <asm/global_data.h> diff --git a/test/cmd/mem.c b/test/cmd/mem.c index d76f47cf311..f1bbab6055b 100644 --- a/test/cmd/mem.c +++ b/test/cmd/mem.c @@ -5,7 +5,6 @@ * Copyright 2020 Google LLC */ -#include <common.h> #include <command.h> #include <test/suites.h> #include <test/test.h> diff --git a/test/cmd/mem_search.c b/test/cmd/mem_search.c index f80c9c40687..55ad2fac1e3 100644 --- a/test/cmd/mem_search.c +++ b/test/cmd/mem_search.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <console.h> #include <mapmem.h> #include <dm/test.h> diff --git a/test/cmd/pci_mps.c b/test/cmd/pci_mps.c index fd96f4fba6c..2a64143eecd 100644 --- a/test/cmd/pci_mps.c +++ b/test/cmd/pci_mps.c @@ -7,7 +7,6 @@ * Written by Stephen Carlson <stcarlso@linux.microsoft.com> */ -#include <common.h> #include <console.h> #include <test/suites.h> #include <test/ut.h> diff --git a/test/cmd/pinmux.c b/test/cmd/pinmux.c index df40bb77435..4253baa5646 100644 --- a/test/cmd/pinmux.c +++ b/test/cmd/pinmux.c @@ -5,7 +5,6 @@ * Copyright (C) 2021, STMicroelectronics - All Rights Reserved */ -#include <common.h> #include <command.h> #include <dm.h> #include <dm/test.h> diff --git a/test/cmd/rw.c b/test/cmd/rw.c index 98302bf047b..edd762e4d58 100644 --- a/test/cmd/rw.c +++ b/test/cmd/rw.c @@ -3,7 +3,6 @@ * Tests for read and write commands */ -#include <common.h> #include <dm/test.h> #include <mapmem.h> #include <part.h> diff --git a/test/cmd/seama.c b/test/cmd/seama.c index b1b56930c64..b60f6550b13 100644 --- a/test/cmd/seama.c +++ b/test/cmd/seama.c @@ -5,7 +5,6 @@ * Copyright (C) 2021 Linus Walleij <linus.walleij@linaro.org> */ -#include <common.h> #include <command.h> #include <dm.h> #include <test/suites.h> diff --git a/test/cmd/setexpr.c b/test/cmd/setexpr.c index ee329e94b85..4c6cc3cf09e 100644 --- a/test/cmd/setexpr.c +++ b/test/cmd/setexpr.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <console.h> #include <mapmem.h> #include <dm/test.h> @@ -330,7 +329,6 @@ static int setexpr_test_str(struct unit_test_state *uts) } SETEXPR_TEST(setexpr_test_str, UT_TESTF_CONSOLE_REC); - /* Test 'setexpr' command with concatenating strings */ static int setexpr_test_str_oper(struct unit_test_state *uts) { diff --git a/test/cmd/temperature.c b/test/cmd/temperature.c index 2a1ea0611dc..364972626b1 100644 --- a/test/cmd/temperature.c +++ b/test/cmd/temperature.c @@ -5,7 +5,6 @@ * Copyright (C) 2022 Sartura Ltd. */ -#include <common.h> #include <command.h> #include <dm.h> #include <dm/test.h> diff --git a/test/cmd/test_echo.c b/test/cmd/test_echo.c index 091e4f823c9..cde74ebeb61 100644 --- a/test/cmd/test_echo.c +++ b/test/cmd/test_echo.c @@ -5,7 +5,6 @@ * Copyright 2020, Heinrich Schuchadt <xypron.glpk@gmx.de> */ -#include <common.h> #include <command.h> #include <asm/global_data.h> #include <display_options.h> diff --git a/test/cmd/test_pause.c b/test/cmd/test_pause.c index 2b85cce3271..3703290350b 100644 --- a/test/cmd/test_pause.c +++ b/test/cmd/test_pause.c @@ -5,7 +5,6 @@ * Copyright 2022, Samuel Dionne-Riel <samuel@dionne-riel.com> */ -#include <common.h> #include <asm/global_data.h> #include <test/lib.h> #include <test/ut.h> diff --git a/test/cmd/wget.c b/test/cmd/wget.c index ed83fc94a5e..356a4dcd8fa 100644 --- a/test/cmd/wget.c +++ b/test/cmd/wget.c @@ -6,7 +6,6 @@ * Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> */ -#include <common.h> #include <command.h> #include <dm.h> #include <env.h> diff --git a/test/cmd_ut.c b/test/cmd_ut.c index 0677ce0cd17..4e4aa8f1cb2 100644 --- a/test/cmd_ut.c +++ b/test/cmd_ut.c @@ -4,9 +4,9 @@ * Joe Hershberger, National Instruments, joe.hershberger@ni.com */ -#include <common.h> #include <command.h> #include <console.h> +#include <vsprintf.h> #include <test/suites.h> #include <test/test.h> #include <test/ut.h> diff --git a/test/command_ut.c b/test/command_ut.c index a74bd109e15..2b8d28d7ae3 100644 --- a/test/command_ut.c +++ b/test/command_ut.c @@ -5,7 +5,6 @@ #define DEBUG -#include <common.h> #include <command.h> #include <env.h> #include <log.h> diff --git a/test/common/cmd_ut_common.c b/test/common/cmd_ut_common.c index 2c0267801b2..2f03a58af47 100644 --- a/test/common/cmd_ut_common.c +++ b/test/common/cmd_ut_common.c @@ -6,7 +6,6 @@ * Unit tests for common functions */ -#include <common.h> #include <command.h> #include <test/common.h> #include <test/suites.h> diff --git a/test/common/cread.c b/test/common/cread.c index 4edc7739604..e159caed041 100644 --- a/test/common/cread.c +++ b/test/common/cread.c @@ -3,8 +3,8 @@ * Copyright 2023 Google LLC */ -#include <common.h> #include <cli.h> +#include <time.h> #include <test/common.h> #include <test/test.h> #include <test/ut.h> diff --git a/test/common/cyclic.c b/test/common/cyclic.c index 6e758e89dbd..51a07c576b6 100644 --- a/test/common/cyclic.c +++ b/test/common/cyclic.c @@ -3,7 +3,6 @@ * Copyright (C) 2022 Stefan Roese <sr@denx.de> */ -#include <common.h> #include <cyclic.h> #include <dm.h> #include <test/common.h> @@ -13,22 +12,27 @@ #include <linux/delay.h> /* Test that cyclic function is called */ -static bool cyclic_active = false; +static struct cyclic_test { + struct cyclic_info cyclic; + bool called; +} cyclic_test; -static void cyclic_test(void *ctx) +static void test_cb(struct cyclic_info *c) { - cyclic_active = true; + struct cyclic_test *t = container_of(c, struct cyclic_test, cyclic); + t->called = true; } static int dm_test_cyclic_running(struct unit_test_state *uts) { - cyclic_active = false; - ut_assertnonnull(cyclic_register(cyclic_test, 10 * 1000, "cyclic_demo", - NULL)); + cyclic_test.called = false; + cyclic_register(&cyclic_test.cyclic, test_cb, 10 * 1000, "cyclic_test"); /* Execute all registered cyclic functions */ schedule(); - ut_asserteq(true, cyclic_active); + ut_asserteq(true, cyclic_test.called); + + cyclic_unregister(&cyclic_test.cyclic); return 0; } diff --git a/test/common/event.c b/test/common/event.c index b462694fc3b..de433d34f22 100644 --- a/test/common/event.c +++ b/test/common/event.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <dm.h> #include <event.h> #include <test/common.h> diff --git a/test/common/test_autoboot.c b/test/common/test_autoboot.c index 42a1e4ab1fa..4ba1dcc8091 100644 --- a/test/common/test_autoboot.c +++ b/test/common/test_autoboot.c @@ -6,7 +6,6 @@ */ #include <autoboot.h> -#include <common.h> #include <test/common.h> #include <test/test.h> #include <test/ut.h> diff --git a/test/compression.c b/test/compression.c index 3df90819a1f..618a1936955 100644 --- a/test/compression.c +++ b/test/compression.c @@ -3,7 +3,6 @@ * Copyright (c) 2013, The Chromium Authors */ -#include <common.h> #include <abuf.h> #include <bootm.h> #include <command.h> @@ -140,7 +139,6 @@ static const char zstd_compressed[] = "\x01\xe4\xf4\x6e\xfa"; static const unsigned long zstd_compressed_size = sizeof(zstd_compressed) - 1; - #define TEST_BUFFER_SIZE 512 typedef int (*mutate_func)(struct unit_test_state *uts, void *, unsigned long, diff --git a/test/dm/acpi.c b/test/dm/acpi.c index f14b3962f84..7da381f1a54 100644 --- a/test/dm/acpi.c +++ b/test/dm/acpi.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <console.h> #include <dm.h> #include <malloc.h> @@ -237,7 +236,6 @@ static int dm_test_acpi_fill_header(struct unit_test_state *uts) hdr.length = 0x11; hdr.revision = 0x22; hdr.checksum = 0x33; - hdr.creator_revision = 0x44; acpi_fill_header(&hdr, "ABCD"); ut_asserteq_mem("ABCD", hdr.signature, sizeof(hdr.signature)); @@ -249,7 +247,7 @@ static int dm_test_acpi_fill_header(struct unit_test_state *uts) sizeof(hdr.oem_table_id)); ut_asserteq(OEM_REVISION, hdr.oem_revision); ut_asserteq_mem(ASLC_ID, hdr.creator_id, sizeof(hdr.creator_id)); - ut_asserteq(0x44, hdr.creator_revision); + ut_asserteq(ASL_REVISION, hdr.creator_revision); return 0; } diff --git a/test/dm/acpi_dp.c b/test/dm/acpi_dp.c index 44bcabda6bc..87bd8ae6749 100644 --- a/test/dm/acpi_dp.c +++ b/test/dm/acpi_dp.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <dm.h> #include <uuid.h> #include <acpi/acpigen.h> diff --git a/test/dm/acpigen.c b/test/dm/acpigen.c index 15b2b6f64a0..7113219792e 100644 --- a/test/dm/acpigen.c +++ b/test/dm/acpigen.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <dm.h> #include <irq.h> #include <malloc.h> diff --git a/test/dm/adc.c b/test/dm/adc.c index 740167e16b8..a26a677074a 100644 --- a/test/dm/adc.c +++ b/test/dm/adc.c @@ -6,7 +6,6 @@ * Przemyslaw Marczak <p.marczak@samsung.com> */ -#include <common.h> #include <adc.h> #include <dm.h> #include <dm/root.h> diff --git a/test/dm/audio.c b/test/dm/audio.c index add15ae20e0..3d1d821f323 100644 --- a/test/dm/audio.c +++ b/test/dm/audio.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <audio_codec.h> #include <dm.h> #include <dm/test.h> diff --git a/test/dm/axi.c b/test/dm/axi.c index dc029df5e44..0900a9b5485 100644 --- a/test/dm/axi.c +++ b/test/dm/axi.c @@ -4,7 +4,6 @@ * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc */ -#include <common.h> #include <axi.h> #include <dm.h> #include <log.h> diff --git a/test/dm/blk.c b/test/dm/blk.c index 799f1e4dc75..d03aec32f6c 100644 --- a/test/dm/blk.c +++ b/test/dm/blk.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <blk.h> #include <dm.h> #include <part.h> diff --git a/test/dm/blkmap.c b/test/dm/blkmap.c index 7a163d6eaef..7581e62df3b 100644 --- a/test/dm/blkmap.c +++ b/test/dm/blkmap.c @@ -4,7 +4,6 @@ * Author: Tobias Waldekranz <tobias@waldekranz.com> */ -#include <common.h> #include <blk.h> #include <blkmap.h> #include <dm.h> diff --git a/test/dm/bootcount.c b/test/dm/bootcount.c index b77b472d1f2..9cfc7d48aac 100644 --- a/test/dm/bootcount.c +++ b/test/dm/bootcount.c @@ -3,7 +3,6 @@ * (C) 2018 Theobroma Systems Design und Consulting GmbH */ -#include <common.h> #include <dm.h> #include <bootcount.h> #include <log.h> diff --git a/test/dm/bus.c b/test/dm/bus.c index 89a6aa6554c..95326f23dad 100644 --- a/test/dm/bus.c +++ b/test/dm/bus.c @@ -3,7 +3,6 @@ * Copyright (c) 2014 Google, Inc */ -#include <common.h> #ifdef CONFIG_SANDBOX #include <log.h> #include <os.h> @@ -15,6 +14,7 @@ #include <dm/test.h> #include <dm/uclass-internal.h> #include <dm/util.h> +#include <linux/list.h> #include <test/test.h> #include <test/ut.h> @@ -28,14 +28,14 @@ static int dm_test_bus_children(struct unit_test_state *uts) struct uclass *uc; ut_assertok(uclass_get(UCLASS_TEST_FDT, &uc)); - ut_asserteq(num_devices, list_count_items(&uc->dev_head)); + ut_asserteq(num_devices, list_count_nodes(&uc->dev_head)); /* Probe the bus, which should yield 3 more devices */ ut_assertok(uclass_get_device(UCLASS_TEST_BUS, 0, &bus)); num_devices += 3; ut_assertok(uclass_get(UCLASS_TEST_FDT, &uc)); - ut_asserteq(num_devices, list_count_items(&uc->dev_head)); + ut_asserteq(num_devices, list_count_nodes(&uc->dev_head)); ut_assert(!dm_check_devices(uts, num_devices)); diff --git a/test/dm/button.c b/test/dm/button.c index 830d96fbef3..9157ec92878 100644 --- a/test/dm/button.c +++ b/test/dm/button.c @@ -5,7 +5,6 @@ * Based on led.c */ -#include <common.h> #include <dm.h> #include <adc.h> #include <button.h> diff --git a/test/dm/cache.c b/test/dm/cache.c index bbd8f98d007..d2f3bfe2caf 100644 --- a/test/dm/cache.c +++ b/test/dm/cache.c @@ -3,7 +3,6 @@ * Copyright (C) 2019 Intel Corporation <www.intel.com> */ -#include <common.h> #include <dm.h> #include <dm/test.h> diff --git a/test/dm/clk.c b/test/dm/clk.c index 57fabbdce08..a966471dbd9 100644 --- a/test/dm/clk.c +++ b/test/dm/clk.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <clk.h> #include <dm.h> #include <log.h> diff --git a/test/dm/clk_ccf.c b/test/dm/clk_ccf.c index 61dad8d8527..15fba31b962 100644 --- a/test/dm/clk_ccf.c +++ b/test/dm/clk_ccf.c @@ -4,7 +4,6 @@ * Lukasz Majewski, DENX Software Engineering, lukma@denx.de */ -#include <common.h> #include <clk.h> #include <dm.h> #include <asm/clk.h> diff --git a/test/dm/core.c b/test/dm/core.c index 7f3f8d183bc..5bc5e8e82ec 100644 --- a/test/dm/core.c +++ b/test/dm/core.c @@ -5,7 +5,6 @@ * Copyright (c) 2013 Google, Inc */ -#include <common.h> #include <errno.h> #include <dm.h> #include <fdtdec.h> @@ -17,6 +16,7 @@ #include <dm/util.h> #include <dm/test.h> #include <dm/uclass-internal.h> +#include <linux/list.h> #include <test/test.h> #include <test/ut.h> @@ -124,15 +124,15 @@ static int dm_test_autobind(struct unit_test_state *uts) * device with no children. */ ut_assert(uts->root); - ut_asserteq(1, list_count_items(gd->uclass_root)); - ut_asserteq(0, list_count_items(&gd->dm_root->child_head)); + ut_asserteq(1, list_count_nodes(gd->uclass_root)); + ut_asserteq(0, list_count_nodes(&gd->dm_root->child_head)); ut_asserteq(0, dm_testdrv_op_count[DM_TEST_OP_POST_BIND]); ut_assertok(dm_scan_plat(false)); /* We should have our test class now at least, plus more children */ - ut_assert(1 < list_count_items(gd->uclass_root)); - ut_assert(0 < list_count_items(&gd->dm_root->child_head)); + ut_assert(1 < list_count_nodes(gd->uclass_root)); + ut_assert(0 < list_count_nodes(&gd->dm_root->child_head)); /* Our 3 dm_test_infox children should be bound to the test uclass */ ut_asserteq(3, dm_testdrv_op_count[DM_TEST_OP_POST_BIND]); @@ -1007,7 +1007,6 @@ static int dm_test_uclass_before_ready(struct unit_test_state *uts) ut_assertok(uclass_get(UCLASS_TEST, &uc)); gd->dm_root = NULL; - gd->dm_root_f = NULL; memset(&gd->uclass_root, '\0', sizeof(gd->uclass_root)); ut_asserteq_ptr(NULL, uclass_find(UCLASS_TEST)); diff --git a/test/dm/cpu.c b/test/dm/cpu.c index 5734cd0a92d..acba8105996 100644 --- a/test/dm/cpu.c +++ b/test/dm/cpu.c @@ -4,7 +4,6 @@ * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc */ -#include <common.h> #include <dm.h> #include <log.h> #include <dm/test.h> diff --git a/test/dm/cros_ec.c b/test/dm/cros_ec.c index 30cb70e0882..ac0055f0acd 100644 --- a/test/dm/cros_ec.c +++ b/test/dm/cros_ec.c @@ -3,7 +3,6 @@ * Copyright 2021 Google LLC */ -#include <common.h> #include <cros_ec.h> #include <dm.h> #include <asm/test.h> diff --git a/test/dm/cros_ec_pwm.c b/test/dm/cros_ec_pwm.c index f8d6e1e6c40..f68ee6f33b8 100644 --- a/test/dm/cros_ec_pwm.c +++ b/test/dm/cros_ec_pwm.c @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0+ -#include <common.h> #include <cros_ec.h> #include <dm.h> #include <pwm.h> diff --git a/test/dm/devres.c b/test/dm/devres.c index 3df0f64362d..7a3a669ddd4 100644 --- a/test/dm/devres.c +++ b/test/dm/devres.c @@ -5,7 +5,6 @@ * Copyright 2019 Google LLC */ -#include <common.h> #include <errno.h> #include <dm.h> #include <log.h> @@ -70,7 +69,6 @@ static int dm_test_devres_free(struct unit_test_state *uts) } DM_TEST(dm_test_devres_free, UT_TESTF_SCAN_PDATA); - /* Test that kzalloc() returns memory that is zeroed */ static int dm_test_devres_kzalloc(struct unit_test_state *uts) { diff --git a/test/dm/dma.c b/test/dm/dma.c index cce47cb2180..949710fdb4e 100644 --- a/test/dm/dma.c +++ b/test/dm/dma.c @@ -6,7 +6,6 @@ * Grygorii Strashko <grygorii.strashko@ti.com> */ -#include <common.h> #include <dm.h> #include <malloc.h> #include <dm/test.h> diff --git a/test/dm/dsi_host.c b/test/dm/dsi_host.c index 6e0a5df704f..68686a40d9f 100644 --- a/test/dm/dsi_host.c +++ b/test/dm/dsi_host.c @@ -4,7 +4,6 @@ * Author(s): Yannick Fertre <yannick.fertre@st.com> for STMicroelectronics. */ -#include <common.h> #include <dm.h> #include <dsi_host.h> #include <asm/state.h> diff --git a/test/dm/efi_media.c b/test/dm/efi_media.c index e343a0e9c85..9d0ed0f0755 100644 --- a/test/dm/efi_media.c +++ b/test/dm/efi_media.c @@ -5,7 +5,6 @@ * Copyright 2021 Google LLC */ -#include <common.h> #include <dm.h> #include <asm/test.h> #include <dm/test.h> diff --git a/test/dm/eth.c b/test/dm/eth.c index bb3dcc6b954..820b8cbfc29 100644 --- a/test/dm/eth.c +++ b/test/dm/eth.c @@ -6,7 +6,6 @@ * Joe Hershberger <joe.hershberger@ni.com> */ -#include <common.h> #include <dm.h> #include <env.h> #include <fdtdec.h> diff --git a/test/dm/fastboot.c b/test/dm/fastboot.c index 758538d0e85..5d938eb7f12 100644 --- a/test/dm/fastboot.c +++ b/test/dm/fastboot.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <fastboot.h> #include <fb_mmc.h> diff --git a/test/dm/fdtdec.c b/test/dm/fdtdec.c index 087d4846da8..b484414f5f0 100644 --- a/test/dm/fdtdec.c +++ b/test/dm/fdtdec.c @@ -3,7 +3,6 @@ * Copyright 2020 NXP */ -#include <common.h> #include <dm.h> #include <asm/global_data.h> #include <dm/of_extra.h> diff --git a/test/dm/ffa.c b/test/dm/ffa.c index 6912666bb46..fa6d54d00d6 100644 --- a/test/dm/ffa.c +++ b/test/dm/ffa.c @@ -8,7 +8,6 @@ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> */ -#include <common.h> #include <console.h> #include <dm.h> #include <asm/sandbox_arm_ffa.h> diff --git a/test/dm/firmware.c b/test/dm/firmware.c index f37bccfe4a8..ec68e816999 100644 --- a/test/dm/firmware.c +++ b/test/dm/firmware.c @@ -3,7 +3,6 @@ * Copyright (C) 2018 Xilinx, Inc. */ -#include <common.h> #include <dm.h> #include <syscon.h> #include <asm/test.h> diff --git a/test/dm/fwu_mdata.c b/test/dm/fwu_mdata.c index 52018f610fe..6154480ba83 100644 --- a/test/dm/fwu_mdata.c +++ b/test/dm/fwu_mdata.c @@ -5,7 +5,6 @@ */ #include <blk.h> -#include <common.h> #include <dm.h> #include <fwu.h> #include <fwu_mdata.h> @@ -93,6 +92,10 @@ static int dm_test_fwu_mdata_read(struct unit_test_state *uts) struct udevice *dev; struct fwu_mdata mdata = { 0 }; + ut_assertok(setup_blk_device(uts)); + ut_assertok(populate_mmc_disk_image(uts)); + ut_assertok(write_mmc_blk_device(uts)); + /* * Trigger lib/fwu_updates/fwu.c fwu_boottime_checks() * to populate g_dev global pointer in that library. @@ -100,9 +103,7 @@ static int dm_test_fwu_mdata_read(struct unit_test_state *uts) event_notify_null(EVT_MAIN_LOOP); ut_assertok(uclass_first_device_err(UCLASS_FWU_MDATA, &dev)); - ut_assertok(setup_blk_device(uts)); - ut_assertok(populate_mmc_disk_image(uts)); - ut_assertok(write_mmc_blk_device(uts)); + ut_assertok(fwu_init()); ut_assertok(fwu_get_mdata(&mdata)); @@ -118,18 +119,19 @@ static int dm_test_fwu_mdata_write(struct unit_test_state *uts) struct udevice *dev; struct fwu_mdata mdata = { 0 }; + ut_assertok(setup_blk_device(uts)); + ut_assertok(populate_mmc_disk_image(uts)); + ut_assertok(write_mmc_blk_device(uts)); + /* * Trigger lib/fwu_updates/fwu.c fwu_boottime_checks() * to populate g_dev global pointer in that library. */ event_notify_null(EVT_MAIN_LOOP); - ut_assertok(setup_blk_device(uts)); - ut_assertok(populate_mmc_disk_image(uts)); - ut_assertok(write_mmc_blk_device(uts)); - ut_assertok(uclass_first_device_err(UCLASS_FWU_MDATA, &dev)); + ut_assertok(fwu_init()); ut_assertok(fwu_get_mdata(&mdata)); active_idx = (mdata.active_index + 1) % CONFIG_FWU_NUM_BANKS; diff --git a/test/dm/gpio.c b/test/dm/gpio.c index 0d88ec24bda..957ab25c8d3 100644 --- a/test/dm/gpio.c +++ b/test/dm/gpio.c @@ -3,7 +3,6 @@ * Copyright (C) 2013 Google, Inc */ -#include <common.h> #include <fdtdec.h> #include <dm.h> #include <log.h> diff --git a/test/dm/host.c b/test/dm/host.c index ca05a36b313..e514f8409cf 100644 --- a/test/dm/host.c +++ b/test/dm/host.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <blk.h> #include <dm.h> #include <fs.h> diff --git a/test/dm/hwspinlock.c b/test/dm/hwspinlock.c index 995759d4d7e..a05b183b8bc 100644 --- a/test/dm/hwspinlock.c +++ b/test/dm/hwspinlock.c @@ -3,7 +3,6 @@ * Copyright (C) 2018, STMicroelectronics - All Rights Reserved */ -#include <common.h> #include <dm.h> #include <hwspinlock.h> #include <asm/state.h> diff --git a/test/dm/i2c.c b/test/dm/i2c.c index b46a22e79b1..e9cf9f7819a 100644 --- a/test/dm/i2c.c +++ b/test/dm/i2c.c @@ -5,7 +5,6 @@ * Note: Test coverage does not include 10-bit addressing */ -#include <common.h> #include <dm.h> #include <fdtdec.h> #include <i2c.h> diff --git a/test/dm/i2s.c b/test/dm/i2s.c index c2bf4d5604b..a3d3a31b6fb 100644 --- a/test/dm/i2s.c +++ b/test/dm/i2s.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <dm.h> #include <i2s.h> #include <asm/test.h> diff --git a/test/dm/iommu.c b/test/dm/iommu.c index 62d38f1214a..acea5f28971 100644 --- a/test/dm/iommu.c +++ b/test/dm/iommu.c @@ -3,7 +3,6 @@ * Copyright (C) 2021 Mark Kettenis <kettenis@openbsd.org> */ -#include <common.h> #include <dm.h> #include <dm/test.h> #include <dm/uclass-internal.h> diff --git a/test/dm/irq.c b/test/dm/irq.c index 51dd5e4abb4..d22772ab769 100644 --- a/test/dm/irq.c +++ b/test/dm/irq.c @@ -5,7 +5,6 @@ * Copyright 2019 Google LLC */ -#include <common.h> #include <dm.h> #include <irq.h> #include <acpi/acpi_device.h> diff --git a/test/dm/k210_pll.c b/test/dm/k210_pll.c index 354720f61e2..2a581499634 100644 --- a/test/dm/k210_pll.c +++ b/test/dm/k210_pll.c @@ -3,7 +3,6 @@ * Copyright (C) 2020 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> /* For DIV_ROUND_DOWN_ULL, defined in linux/kernel.h */ #include <div64.h> #include <dm/test.h> diff --git a/test/dm/led.c b/test/dm/led.c index eed3f4654c5..c28fa044f45 100644 --- a/test/dm/led.c +++ b/test/dm/led.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <led.h> #include <asm/gpio.h> diff --git a/test/dm/mailbox.c b/test/dm/mailbox.c index 7ad8a1cbba2..14f72d58d1c 100644 --- a/test/dm/mailbox.c +++ b/test/dm/mailbox.c @@ -3,7 +3,6 @@ * Copyright (c) 2016, NVIDIA CORPORATION. */ -#include <common.h> #include <dm.h> #include <malloc.h> #include <dm/test.h> diff --git a/test/dm/mdio.c b/test/dm/mdio.c index f863c52645b..7ececf37ccc 100644 --- a/test/dm/mdio.c +++ b/test/dm/mdio.c @@ -4,7 +4,6 @@ * Alex Marginean, NXP */ -#include <common.h> #include <dm.h> #include <log.h> #include <miiphy.h> diff --git a/test/dm/mdio_mux.c b/test/dm/mdio_mux.c index bfe3518221f..33a7e972609 100644 --- a/test/dm/mdio_mux.c +++ b/test/dm/mdio_mux.c @@ -4,7 +4,6 @@ * Alex Marginean, NXP */ -#include <common.h> #include <dm.h> #include <miiphy.h> #include <misc.h> diff --git a/test/dm/misc.c b/test/dm/misc.c index 8bdd8c64bca..ad856fd01b6 100644 --- a/test/dm/misc.c +++ b/test/dm/misc.c @@ -4,7 +4,6 @@ * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc */ -#include <common.h> #include <dm.h> #include <dm/test.h> #include <misc.h> diff --git a/test/dm/mmc.c b/test/dm/mmc.c index b1eb8bee2f9..c0abea797d9 100644 --- a/test/dm/mmc.c +++ b/test/dm/mmc.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <mmc.h> #include <part.h> diff --git a/test/dm/mux-cmd.c b/test/dm/mux-cmd.c index 11c237b5da9..d4bb8befa38 100644 --- a/test/dm/mux-cmd.c +++ b/test/dm/mux-cmd.c @@ -3,7 +3,6 @@ * Copyright (C) 2020 Texas Instruments Inc. * Pratyush Yadav <p.yadav@ti.com> */ -#include <common.h> #include <dm.h> #include <mux.h> #include <mux-internal.h> @@ -13,6 +12,7 @@ #include <test/ut.h> #include <console.h> #include <rand.h> +#include <time.h> #define BUF_SIZE 256 diff --git a/test/dm/mux-emul.c b/test/dm/mux-emul.c index c6aeeb7e1f1..febd521104a 100644 --- a/test/dm/mux-emul.c +++ b/test/dm/mux-emul.c @@ -3,7 +3,6 @@ * Copyright (C) 2020 Texas Instruments Incorporated - https://www.ti.com/ * Pratyush Yadav <p.yadav@ti.com> */ -#include <common.h> #include <dm.h> #include <mux.h> #include <mux-internal.h> diff --git a/test/dm/mux-mmio.c b/test/dm/mux-mmio.c index 27c881dabde..3a871a19c7e 100644 --- a/test/dm/mux-mmio.c +++ b/test/dm/mux-mmio.c @@ -4,7 +4,6 @@ * Jean-Jacques Hiblot <jjhiblot@ti.com> */ -#include <common.h> #include <dm.h> #include <mux.h> #include <regmap.h> diff --git a/test/dm/nop.c b/test/dm/nop.c index f7d9a0f3df3..0c79431d9d8 100644 --- a/test/dm/nop.c +++ b/test/dm/nop.c @@ -6,7 +6,6 @@ * Jean-Jacques Hiblot <jjhiblot@ti.com> */ -#include <common.h> #include <dm.h> #include <dm/ofnode.h> #include <dm/lists.h> diff --git a/test/dm/nvmxip.c b/test/dm/nvmxip.c index f0ad47d4efe..537959a0930 100644 --- a/test/dm/nvmxip.c +++ b/test/dm/nvmxip.c @@ -8,7 +8,6 @@ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> */ -#include <common.h> #include <blk.h> #include <console.h> #include <dm.h> diff --git a/test/dm/of_extra.c b/test/dm/of_extra.c index ac2d886892d..3c31bfcd31f 100644 --- a/test/dm/of_extra.c +++ b/test/dm/of_extra.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <dm.h> #include <dm/of_extra.h> #include <dm/test.h> diff --git a/test/dm/of_platdata.c b/test/dm/of_platdata.c index a241c427936..d4939e88516 100644 --- a/test/dm/of_platdata.c +++ b/test/dm/of_platdata.c @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0+ -#include <common.h> #include <clk.h> #include <dm.h> #include <dt-structs.h> diff --git a/test/dm/ofnode.c b/test/dm/ofnode.c index a5bc43aea4e..39191d7f52b 100644 --- a/test/dm/ofnode.c +++ b/test/dm/ofnode.c @@ -16,7 +16,6 @@ * behaviour of each ofnode function, since that is done by the normal ones. */ -#include <common.h> #include <abuf.h> #include <dm.h> #include <log.h> diff --git a/test/dm/ofread.c b/test/dm/ofread.c index 3523860d2b3..69d03c49107 100644 --- a/test/dm/ofread.c +++ b/test/dm/ofread.c @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0+ -#include <common.h> #include <dm.h> #include <dm/test.h> #include <test/ut.h> diff --git a/test/dm/osd.c b/test/dm/osd.c index 6279b391ca5..cf4a3a545ed 100644 --- a/test/dm/osd.c +++ b/test/dm/osd.c @@ -4,7 +4,6 @@ * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc */ -#include <common.h> #include <display_options.h> #include <dm.h> #include <video_osd.h> diff --git a/test/dm/p2sb.c b/test/dm/p2sb.c index df24709141a..3ada1fcb362 100644 --- a/test/dm/p2sb.c +++ b/test/dm/p2sb.c @@ -5,7 +5,6 @@ * Copyright 2019 Google LLC */ -#include <common.h> #include <dm.h> #include <p2sb.h> #include <asm/test.h> diff --git a/test/dm/panel.c b/test/dm/panel.c index 4d435a0d255..8be7c397a46 100644 --- a/test/dm/panel.c +++ b/test/dm/panel.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <backlight.h> #include <dm.h> #include <panel.h> diff --git a/test/dm/part.c b/test/dm/part.c index d6e43458127..cabb31d18ca 100644 --- a/test/dm/part.c +++ b/test/dm/part.c @@ -3,7 +3,6 @@ * Copyright (C) 2020 Sean Anderson <sean.anderson@seco.com> */ -#include <common.h> #include <dm.h> #include <mmc.h> #include <part.h> diff --git a/test/dm/pch.c b/test/dm/pch.c index 53f7bbf180c..b37b856d5da 100644 --- a/test/dm/pch.c +++ b/test/dm/pch.c @@ -3,7 +3,6 @@ * Copyright 2018 Google LLC */ -#include <common.h> #include <dm.h> #include <pch.h> #include <asm/test.h> diff --git a/test/dm/pci.c b/test/dm/pci.c index 8c5e7da9e62..9b97f2e0544 100644 --- a/test/dm/pci.c +++ b/test/dm/pci.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <asm/io.h> #include <asm/test.h> diff --git a/test/dm/pci_ep.c b/test/dm/pci_ep.c index 9941abd4ceb..e82fc53f84b 100644 --- a/test/dm/pci_ep.c +++ b/test/dm/pci_ep.c @@ -3,7 +3,6 @@ * Copyright (C) 2019 Ramon Fried */ -#include <common.h> #include <dm.h> #include <hexdump.h> #include <pci_ep.h> diff --git a/test/dm/phy.c b/test/dm/phy.c index 0cf3689fdec..d14117f6f7a 100644 --- a/test/dm/phy.c +++ b/test/dm/phy.c @@ -4,7 +4,6 @@ * Written by Jean-Jacques Hiblot <jjhiblot@ti.com> */ -#include <common.h> #include <dm.h> #include <generic-phy.h> #include <log.h> diff --git a/test/dm/phys2bus.c b/test/dm/phys2bus.c index 342f2fa8eba..1ee2150482c 100644 --- a/test/dm/phys2bus.c +++ b/test/dm/phys2bus.c @@ -3,7 +3,6 @@ * Copyright (c) 2020 Nicolas Saenz Julienne <nsaenzjulienne@suse.de> */ -#include <common.h> #include <dm.h> #include <mapmem.h> #include <phys2bus.h> diff --git a/test/dm/pinmux.c b/test/dm/pinmux.c index 6880b2d2cd9..cfbe3ef5d1e 100644 --- a/test/dm/pinmux.c +++ b/test/dm/pinmux.c @@ -3,7 +3,6 @@ * Copyright (C) 2020 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <dm.h> #include <dm/pinctrl.h> #include <dm/test.h> diff --git a/test/dm/pmc.c b/test/dm/pmc.c index e70227e7800..bbad1ee2741 100644 --- a/test/dm/pmc.c +++ b/test/dm/pmc.c @@ -5,7 +5,6 @@ * Copyright 2019 Google LLC */ -#include <common.h> #include <dm.h> #include <power/acpi_pmc.h> #include <dm/test.h> diff --git a/test/dm/pmic.c b/test/dm/pmic.c index ce671202fbc..53a6f0369e8 100644 --- a/test/dm/pmic.c +++ b/test/dm/pmic.c @@ -6,7 +6,6 @@ * Przemyslaw Marczak <p.marczak@samsung.com> */ -#include <common.h> #include <errno.h> #include <dm.h> #include <fdtdec.h> diff --git a/test/dm/power-domain.c b/test/dm/power-domain.c index 8604b5d72dc..120a9059c8e 100644 --- a/test/dm/power-domain.c +++ b/test/dm/power-domain.c @@ -3,7 +3,6 @@ * Copyright (c) 2016, NVIDIA CORPORATION. */ -#include <common.h> #include <dm.h> #include <malloc.h> #include <dm/test.h> diff --git a/test/dm/pwm.c b/test/dm/pwm.c index dff626c771a..80133347ec7 100644 --- a/test/dm/pwm.c +++ b/test/dm/pwm.c @@ -3,7 +3,6 @@ * Copyright (C) 2017 Google, Inc */ -#include <common.h> #include <dm.h> #include <pwm.h> #include <asm/test.h> diff --git a/test/dm/qfw.c b/test/dm/qfw.c index f3f35689830..3c354163ef3 100644 --- a/test/dm/qfw.c +++ b/test/dm/qfw.c @@ -3,7 +3,6 @@ * Copyright 2021 Asherah Connor <ashe@kivikakk.ee> */ -#include <common.h> #include <qfw.h> #include <dm.h> #include <asm/test.h> diff --git a/test/dm/ram.c b/test/dm/ram.c index f624343138d..188c7c32758 100644 --- a/test/dm/ram.c +++ b/test/dm/ram.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <ram.h> #include <asm/global_data.h> diff --git a/test/dm/read.c b/test/dm/read.c index 7768aa29688..4ecf18110d0 100644 --- a/test/dm/read.c +++ b/test/dm/read.c @@ -3,7 +3,6 @@ * Copyright (c) 2020 Nicolas Saenz Julienne <nsaenzjulienne@suse.de> */ -#include <common.h> #include <dm.h> #include <dm/device.h> #include <dm/ofnode.h> diff --git a/test/dm/reboot-mode.c b/test/dm/reboot-mode.c index fbb9c3a5426..160b4da07f2 100644 --- a/test/dm/reboot-mode.c +++ b/test/dm/reboot-mode.c @@ -3,7 +3,6 @@ * (C) 2018 Theobroma Systems Design und Consulting GmbH */ -#include <common.h> #include <dm.h> #include <reboot-mode/reboot-mode.h> #include <env.h> diff --git a/test/dm/regmap.c b/test/dm/regmap.c index 8560f2afc2d..1398f8f6573 100644 --- a/test/dm/regmap.c +++ b/test/dm/regmap.c @@ -3,13 +3,13 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <log.h> #include <mapmem.h> #include <regmap.h> #include <syscon.h> #include <rand.h> +#include <time.h> #include <asm/test.h> #include <dm/test.h> #include <dm/devres.h> diff --git a/test/dm/regulator.c b/test/dm/regulator.c index 86f4862d9dd..9e45fd177b9 100644 --- a/test/dm/regulator.c +++ b/test/dm/regulator.c @@ -6,7 +6,6 @@ * Przemyslaw Marczak <p.marczak@samsung.com> */ -#include <common.h> #include <errno.h> #include <dm.h> #include <fdtdec.h> diff --git a/test/dm/remoteproc.c b/test/dm/remoteproc.c index f6f9e509e27..444c4dce083 100644 --- a/test/dm/remoteproc.c +++ b/test/dm/remoteproc.c @@ -3,7 +3,8 @@ * (C) Copyright 2015 * Texas Instruments Incorporated - https://www.ti.com/ */ -#include <common.h> + +#include <config.h> #include <dm.h> #include <elf.h> #include <errno.h> @@ -27,7 +28,6 @@ static int dm_test_remoteproc_base(struct unit_test_state *uts) /* Ensure we are initialized */ ut_asserteq(true, rproc_is_initialized()); - /* platform data device 1 */ ut_assertok(rproc_stop(0)); ut_assertok(rproc_reset(0)); diff --git a/test/dm/reset.c b/test/dm/reset.c index e2d6f456230..d3158bf4a72 100644 --- a/test/dm/reset.c +++ b/test/dm/reset.c @@ -3,7 +3,6 @@ * Copyright (c) 2016, NVIDIA CORPORATION. */ -#include <common.h> #include <dm.h> #include <dm/device-internal.h> #include <log.h> diff --git a/test/dm/rkmtd.c b/test/dm/rkmtd.c index 3c3e8efa92f..3dc9ca1add1 100644 --- a/test/dm/rkmtd.c +++ b/test/dm/rkmtd.c @@ -8,7 +8,6 @@ * Copyright (C) 2023 Johan Jonker <jbx6244@gmail.com> */ -#include <common.h> #include <blk.h> #include <dm.h> #include <fs.h> diff --git a/test/dm/rng.c b/test/dm/rng.c index 6d1f68848d5..c8ed6cadf58 100644 --- a/test/dm/rng.c +++ b/test/dm/rng.c @@ -3,7 +3,6 @@ * Copyright (c) 2019, Linaro Limited */ -#include <common.h> #include <dm.h> #include <log.h> #include <rng.h> diff --git a/test/dm/rtc.c b/test/dm/rtc.c index bf97dbbd2f9..a8aa41955c2 100644 --- a/test/dm/rtc.c +++ b/test/dm/rtc.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <console.h> #include <dm.h> #include <i2c.h> diff --git a/test/dm/scmi.c b/test/dm/scmi.c index adf36ffaab1..c9a03523184 100644 --- a/test/dm/scmi.c +++ b/test/dm/scmi.c @@ -12,14 +12,13 @@ * unknown SCMI protocol ID. */ -#include <common.h> #include <clk.h> #include <dm.h> #include <reset.h> #include <scmi_agent.h> #include <scmi_agent-uclass.h> #include <scmi_protocols.h> -#include <vsprintf.h> +#include <stdio.h> #include <asm/scmi_test.h> #include <dm/device-internal.h> #include <dm/test.h> diff --git a/test/dm/scsi.c b/test/dm/scsi.c index 380cfc88bab..5180159fb27 100644 --- a/test/dm/scsi.c +++ b/test/dm/scsi.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <part.h> #include <scsi.h> diff --git a/test/dm/serial.c b/test/dm/serial.c index 34b783e062e..34c0d4db879 100644 --- a/test/dm/serial.c +++ b/test/dm/serial.c @@ -3,7 +3,6 @@ * Copyright (c) 2018, STMicroelectronics */ -#include <common.h> #include <log.h> #include <serial.h> #include <dm.h> diff --git a/test/dm/sf.c b/test/dm/sf.c index 17d43fef3bc..0e3a0f13f9e 100644 --- a/test/dm/sf.c +++ b/test/dm/sf.c @@ -3,7 +3,6 @@ * Copyright (C) 2013 Google, Inc */ -#include <common.h> #include <command.h> #include <dm.h> #include <fdtdec.h> diff --git a/test/dm/simple-bus.c b/test/dm/simple-bus.c index 3530b47fac2..8a730ba2fce 100644 --- a/test/dm/simple-bus.c +++ b/test/dm/simple-bus.c @@ -3,7 +3,6 @@ * Copyright (C) 2021, Bin Meng <bmeng.cn@gmail.com> */ -#include <common.h> #include <dm.h> #include <dm/test.h> #include <dm/simple_bus.h> diff --git a/test/dm/simple-pm-bus.c b/test/dm/simple-pm-bus.c index 792c7450580..9949cb34d59 100644 --- a/test/dm/simple-pm-bus.c +++ b/test/dm/simple-pm-bus.c @@ -3,7 +3,6 @@ * Copyright (C) 2020 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <dm.h> #include <dm/test.h> #include <dm/device-internal.h> diff --git a/test/dm/sm.c b/test/dm/sm.c index 7ebb0c9c85e..4d95c2ad75b 100644 --- a/test/dm/sm.c +++ b/test/dm/sm.c @@ -5,7 +5,6 @@ * Author: Alexey Romanov <avromanov@salutedevices.com> */ -#include <common.h> #include <dm.h> #include <sm.h> #include <sandbox-sm.h> diff --git a/test/dm/smem.c b/test/dm/smem.c index 289fb59ba13..adcbfe574ab 100644 --- a/test/dm/smem.c +++ b/test/dm/smem.c @@ -3,7 +3,6 @@ * Copyright (C) 2018 Ramon Fried <ramon.fried@gmail.com> */ -#include <common.h> #include <dm.h> #include <smem.h> #include <dm/test.h> diff --git a/test/dm/soc.c b/test/dm/soc.c index 8f6c97fa790..cb0ac1545f7 100644 --- a/test/dm/soc.c +++ b/test/dm/soc.c @@ -6,7 +6,6 @@ * Dave Gerlach <d-gerlach@ti.com> */ -#include <common.h> #include <dm.h> #include <dm/test.h> #include <dm/uclass-internal.h> diff --git a/test/dm/sound.c b/test/dm/sound.c index 15d545ab5a3..f4e6215e683 100644 --- a/test/dm/sound.c +++ b/test/dm/sound.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <dm.h> #include <sound.h> #include <dm/test.h> diff --git a/test/dm/spi.c b/test/dm/spi.c index 325799bbf10..1ab2dd78324 100644 --- a/test/dm/spi.c +++ b/test/dm/spi.c @@ -3,7 +3,6 @@ * Copyright (C) 2013 Google, Inc */ -#include <common.h> #include <dm.h> #include <fdtdec.h> #include <spi.h> diff --git a/test/dm/spmi.c b/test/dm/spmi.c index 97bb0eb30fc..ee444f3b9b1 100644 --- a/test/dm/spmi.c +++ b/test/dm/spmi.c @@ -3,7 +3,6 @@ * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com> */ -#include <common.h> #include <fdtdec.h> #include <dm.h> #include <malloc.h> @@ -71,7 +70,6 @@ static int dm_test_spmi_access(struct unit_test_state *uts) } DM_TEST(dm_test_spmi_access, UT_TESTF_SCAN_FDT); - /* Test if it's possible to access GPIO that should be in pmic */ static int dm_test_spmi_access_peripheral(struct unit_test_state *uts) { diff --git a/test/dm/syscon-reset.c b/test/dm/syscon-reset.c index eeaddf88392..ba19504573f 100644 --- a/test/dm/syscon-reset.c +++ b/test/dm/syscon-reset.c @@ -3,7 +3,6 @@ * Copyright (C) 2020 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <dm.h> #include <dm/test.h> #include <regmap.h> diff --git a/test/dm/syscon.c b/test/dm/syscon.c index be232972336..04d324e87d4 100644 --- a/test/dm/syscon.c +++ b/test/dm/syscon.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <log.h> #include <syscon.h> diff --git a/test/dm/sysinfo-gpio.c b/test/dm/sysinfo-gpio.c index 2e494b3f341..24a99dafb15 100644 --- a/test/dm/sysinfo-gpio.c +++ b/test/dm/sysinfo-gpio.c @@ -3,7 +3,6 @@ * Copyright (C) 2021 Sean Anderson <sean.anderson@seco.com> */ -#include <common.h> #include <dm.h> #include <log.h> #include <sysinfo.h> diff --git a/test/dm/sysinfo.c b/test/dm/sysinfo.c index 96b3a8ebaba..7444a580df6 100644 --- a/test/dm/sysinfo.c +++ b/test/dm/sysinfo.c @@ -4,7 +4,6 @@ * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc */ -#include <common.h> #include <dm.h> #include <log.h> #include <dm/test.h> diff --git a/test/dm/sysreset.c b/test/dm/sysreset.c index 5aa69e04618..f3a859be787 100644 --- a/test/dm/sysreset.c +++ b/test/dm/sysreset.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <dm.h> #include <sysreset.h> #include <asm/state.h> diff --git a/test/dm/tag.c b/test/dm/tag.c index 8ae8a1fcd65..bce8a35acfb 100644 --- a/test/dm/tag.c +++ b/test/dm/tag.c @@ -6,7 +6,6 @@ * Author: AKASHI Takahiro */ -#include <common.h> #include <dm/tag.h> #include <dm/test.h> /* DM_TEST() */ #include <test/test.h> /* struct unit_test_state */ diff --git a/test/dm/tee.c b/test/dm/tee.c index 7a11bf89138..bb02a9b3c98 100644 --- a/test/dm/tee.c +++ b/test/dm/tee.c @@ -3,7 +3,6 @@ * Copyright (C) 2018 Linaro Limited */ -#include <common.h> #include <dm.h> #include <log.h> #include <malloc.h> diff --git a/test/dm/test-dm.c b/test/dm/test-dm.c index e73a1dd8f81..4bc2c45db61 100644 --- a/test/dm/test-dm.c +++ b/test/dm/test-dm.c @@ -3,7 +3,6 @@ * Copyright (c) 2013 Google, Inc */ -#include <common.h> #include <test/suites.h> #include <test/test.h> diff --git a/test/dm/test-driver.c b/test/dm/test-driver.c index 02cb974b0f7..851177c3018 100644 --- a/test/dm/test-driver.c +++ b/test/dm/test-driver.c @@ -6,7 +6,6 @@ * Pavel Herrmann <morpheus.ibis@gmail.com> */ -#include <common.h> #include <dm.h> #include <errno.h> #include <log.h> diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c index 72d0eb57e21..31effff59c2 100644 --- a/test/dm/test-fdt.c +++ b/test/dm/test-fdt.c @@ -3,7 +3,6 @@ * Copyright (c) 2013 Google, Inc */ -#include <common.h> #include <dm.h> #include <errno.h> #include <fdtdec.h> @@ -20,6 +19,7 @@ #include <dm/util.h> #include <dm/of_access.h> #include <linux/ioport.h> +#include <linux/list.h> #include <test/test.h> #include <test/ut.h> @@ -163,7 +163,7 @@ static int dm_test_fdt(struct unit_test_state *uts) ut_assert(!ret); /* These are num_devices compatible root-level device tree nodes */ - ut_asserteq(num_devices, list_count_items(&uc->dev_head)); + ut_asserteq(num_devices, list_count_nodes(&uc->dev_head)); /* Each should have platform data but no private data */ for (i = 0; i < num_devices; i++) { @@ -218,7 +218,7 @@ static int dm_test_fdt_pre_reloc(struct unit_test_state *uts) * one with "bootph-all" property (a-test node), and the other * one whose driver marked with DM_FLAG_PRE_RELOC flag (h-test node). */ - ut_asserteq(2, list_count_items(&uc->dev_head)); + ut_asserteq(2, list_count_nodes(&uc->dev_head)); return 0; } diff --git a/test/dm/test-uclass.c b/test/dm/test-uclass.c index 067701734a0..9a80cc63667 100644 --- a/test/dm/test-uclass.c +++ b/test/dm/test-uclass.c @@ -6,7 +6,6 @@ * Pavel Herrmann <morpheus.ibis@gmail.com> */ -#include <common.h> #include <log.h> #include <malloc.h> #include <dm.h> diff --git a/test/dm/timer.c b/test/dm/timer.c index 9f94d476920..7fcefc42e59 100644 --- a/test/dm/timer.c +++ b/test/dm/timer.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Thomas Chou <thomas@wytron.com.tw> */ -#include <common.h> #include <dm.h> #include <timer.h> #include <dm/test.h> diff --git a/test/dm/tpm.c b/test/dm/tpm.c index cde933ab284..0e413c0eedd 100644 --- a/test/dm/tpm.c +++ b/test/dm/tpm.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <dm.h> #include <tpm_api.h> #include <dm/test.h> diff --git a/test/dm/usb.c b/test/dm/usb.c index 7671ef156d8..0bbea219ec9 100644 --- a/test/dm/usb.c +++ b/test/dm/usb.c @@ -3,7 +3,6 @@ * Copyright (C) 2015 Google, Inc */ -#include <common.h> #include <console.h> #include <dm.h> #include <part.h> @@ -424,7 +423,6 @@ static int dm_test_usb_keyb(struct unit_test_state *uts) {0x00, 0x00, "\0"} }; - state_set_skip_delays(true); ut_assertok(usb_init()); diff --git a/test/dm/video.c b/test/dm/video.c index d907f681600..7dfbeb9555d 100644 --- a/test/dm/video.c +++ b/test/dm/video.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <bzlib.h> #include <dm.h> #include <gzip.h> diff --git a/test/dm/virtio.c b/test/dm/virtio.c index 3e108cdc35d..3efd7c74f42 100644 --- a/test/dm/virtio.c +++ b/test/dm/virtio.c @@ -3,7 +3,6 @@ * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com> */ -#include <common.h> #include <dm.h> #include <virtio_types.h> #include <virtio.h> diff --git a/test/dm/virtio_device.c b/test/dm/virtio_device.c index fdda4da4178..63dc53415b7 100644 --- a/test/dm/virtio_device.c +++ b/test/dm/virtio_device.c @@ -3,7 +3,6 @@ * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com> */ -#include <common.h> #include <dm.h> #include <virtio_types.h> #include <virtio.h> diff --git a/test/dm/virtio_rng.c b/test/dm/virtio_rng.c index 8b9a04b1fde..ab7d862d79e 100644 --- a/test/dm/virtio_rng.c +++ b/test/dm/virtio_rng.c @@ -4,7 +4,6 @@ * Written by Andrew Scull <ascull@google.com> */ -#include <common.h> #include <dm.h> #include <virtio_types.h> #include <virtio.h> diff --git a/test/dm/wdt.c b/test/dm/wdt.c index 2bbebcdbf28..1df2da23c6c 100644 --- a/test/dm/wdt.c +++ b/test/dm/wdt.c @@ -3,9 +3,9 @@ * Copyright 2017 Google, Inc */ -#include <common.h> #include <cyclic.h> #include <dm.h> +#include <time.h> #include <wdt.h> #include <asm/gpio.h> #include <asm/state.h> diff --git a/test/env/attr.c b/test/env/attr.c index 8d5c0f1c3df..de5d5d4ee27 100644 --- a/test/env/attr.c +++ b/test/env/attr.c @@ -4,7 +4,6 @@ * Joe Hershberger, National Instruments, joe.hershberger@ni.com */ -#include <common.h> #include <command.h> #include <env_attr.h> #include <test/env.h> diff --git a/test/env/cmd_ut_env.c b/test/env/cmd_ut_env.c index d65a32179ce..13e0998341e 100644 --- a/test/env/cmd_ut_env.c +++ b/test/env/cmd_ut_env.c @@ -4,7 +4,6 @@ * Joe Hershberger, National Instruments, joe.hershberger@ni.com */ -#include <common.h> #include <command.h> #include <test/env.h> #include <test/suites.h> diff --git a/test/env/fdt.c b/test/env/fdt.c index 30bfa88c355..c495ac7b307 100644 --- a/test/env/fdt.c +++ b/test/env/fdt.c @@ -1,4 +1,3 @@ -#include <common.h> #include <command.h> #include <env_attr.h> #include <test/env.h> diff --git a/test/env/hashtable.c b/test/env/hashtable.c index 70102f9121c..ccdf0138c4b 100644 --- a/test/env/hashtable.c +++ b/test/env/hashtable.c @@ -4,11 +4,11 @@ * Roman Kapl, SYSGO, rka@sysgo.com */ -#include <common.h> #include <command.h> #include <log.h> #include <search.h> #include <stdio.h> +#include <vsprintf.h> #include <test/env.h> #include <test/ut.h> diff --git a/test/fuzz/cmd_fuzz.c b/test/fuzz/cmd_fuzz.c index d0bc7b8d7b7..faa140433ff 100644 --- a/test/fuzz/cmd_fuzz.c +++ b/test/fuzz/cmd_fuzz.c @@ -5,7 +5,6 @@ */ #include <command.h> -#include <common.h> #include <dm.h> #include <fuzzing_engine.h> #include <test/fuzz.h> diff --git a/test/fuzz/virtio.c b/test/fuzz/virtio.c index 8a47667e778..836eb9a2f66 100644 --- a/test/fuzz/virtio.c +++ b/test/fuzz/virtio.c @@ -4,7 +4,6 @@ * Written by Andrew Scull <ascull@google.com> */ -#include <common.h> #include <dm.h> #include <virtio.h> #include <virtio_ring.h> diff --git a/test/image/spl_load.c b/test/image/spl_load.c index e1036eff28c..7cbad40ea0c 100644 --- a/test/image/spl_load.c +++ b/test/image/spl_load.c @@ -3,7 +3,6 @@ * Copyright (C) 2023 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <image.h> #include <imx_container.h> #include <mapmem.h> diff --git a/test/image/spl_load_fs.c b/test/image/spl_load_fs.c index a89189e1124..935078bf67b 100644 --- a/test/image/spl_load_fs.c +++ b/test/image/spl_load_fs.c @@ -3,7 +3,6 @@ * Copyright (C) 2023 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <blk.h> #include <ext_common.h> #include <ext4fs.h> diff --git a/test/image/spl_load_net.c b/test/image/spl_load_net.c index 9d067a7a592..4af6e21b8b9 100644 --- a/test/image/spl_load_net.c +++ b/test/image/spl_load_net.c @@ -3,7 +3,6 @@ * Copyright (C) 2023 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <dm.h> #include <spl.h> #include <test/spl.h> diff --git a/test/image/spl_load_nor.c b/test/image/spl_load_nor.c index de5686343b9..f53a6724e27 100644 --- a/test/image/spl_load_nor.c +++ b/test/image/spl_load_nor.c @@ -3,7 +3,6 @@ * Copyright (C) 2023 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <dm.h> #include <spl.h> #include <asm/io.h> diff --git a/test/image/spl_load_os.c b/test/image/spl_load_os.c index 26228a8a4a9..7d5fb9b07e0 100644 --- a/test/image/spl_load_os.c +++ b/test/image/spl_load_os.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <image.h> #include <os.h> #include <spl.h> diff --git a/test/image/spl_load_spi.c b/test/image/spl_load_spi.c index 54a95465e23..80836dc0dff 100644 --- a/test/image/spl_load_spi.c +++ b/test/image/spl_load_spi.c @@ -3,7 +3,6 @@ * Copyright (C) 2023 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <dm.h> #include <spi_flash.h> #include <spl.h> diff --git a/test/lib/abuf.c b/test/lib/abuf.c index 42803b20e2a..7c0481ab610 100644 --- a/test/lib/abuf.c +++ b/test/lib/abuf.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <abuf.h> #include <mapmem.h> #include <test/lib.h> diff --git a/test/lib/asn1.c b/test/lib/asn1.c index a66cdd77df0..4842b7058ac 100644 --- a/test/lib/asn1.c +++ b/test/lib/asn1.c @@ -6,7 +6,6 @@ * Unit test for asn1 compiler and asn1 decoder function via various parsers */ -#include <common.h> #include <command.h> #include <test/lib.h> #include <test/test.h> diff --git a/test/lib/cmd_ut_lib.c b/test/lib/cmd_ut_lib.c index f1ac015b2c8..f98cb9b3c57 100644 --- a/test/lib/cmd_ut_lib.c +++ b/test/lib/cmd_ut_lib.c @@ -5,7 +5,6 @@ * Unit tests for library functions */ -#include <common.h> #include <command.h> #include <test/lib.h> #include <test/suites.h> diff --git a/test/lib/efi_device_path.c b/test/lib/efi_device_path.c index 24e2f23c5af..290c8768fa4 100644 --- a/test/lib/efi_device_path.c +++ b/test/lib/efi_device_path.c @@ -5,7 +5,6 @@ * Copyright (c) 2020 Heinrich Schuchardt <xypron.glpk@gmx.de> */ -#include <common.h> #include <efi_loader.h> #include <test/lib.h> #include <test/test.h> diff --git a/test/lib/efi_image_region.c b/test/lib/efi_image_region.c index 0b888f84337..3ca49dc4a2e 100644 --- a/test/lib/efi_image_region.c +++ b/test/lib/efi_image_region.c @@ -3,7 +3,6 @@ * (C) Copyright 2020, Heinrich Schuchardt <xypron.glpk@gmx.de> */ -#include <common.h> #include <efi_loader.h> #include <test/lib.h> #include <test/test.h> diff --git a/test/lib/getopt.c b/test/lib/getopt.c index 3c68b93c8a5..388a076200b 100644 --- a/test/lib/getopt.c +++ b/test/lib/getopt.c @@ -6,7 +6,6 @@ * posix/tst-getopt-cancel.c */ -#include <common.h> #include <getopt.h> #include <test/lib.h> #include <test/test.h> diff --git a/test/lib/hexdump.c b/test/lib/hexdump.c index 5dccf438866..d531a830398 100644 --- a/test/lib/hexdump.c +++ b/test/lib/hexdump.c @@ -4,7 +4,6 @@ * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc */ -#include <common.h> #include <hexdump.h> #include <test/lib.h> #include <test/test.h> diff --git a/test/lib/kconfig.c b/test/lib/kconfig.c index 3914f699659..0c463bb794a 100644 --- a/test/lib/kconfig.c +++ b/test/lib/kconfig.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <test/lib.h> #include <test/test.h> #include <test/ut.h> diff --git a/test/lib/kconfig_spl.c b/test/lib/kconfig_spl.c index 8f8a3411b14..3bd8abdf4b8 100644 --- a/test/lib/kconfig_spl.c +++ b/test/lib/kconfig_spl.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <test/lib.h> #include <test/test.h> #include <test/ut.h> diff --git a/test/lib/lmb.c b/test/lib/lmb.c index 7e4368de22e..4b5b6e5e209 100644 --- a/test/lib/lmb.c +++ b/test/lib/lmb.c @@ -3,7 +3,6 @@ * (C) Copyright 2018 Simon Goldschmidt */ -#include <common.h> #include <dm.h> #include <lmb.h> #include <log.h> diff --git a/test/lib/longjmp.c b/test/lib/longjmp.c index 201367a5a3a..79d889bdd5f 100644 --- a/test/lib/longjmp.c +++ b/test/lib/longjmp.c @@ -5,7 +5,6 @@ * Copyright (c) 2021, Heinrich Schuchardt <xypron.glpk@gmx.de> */ -#include <common.h> #include <test/lib.h> #include <test/test.h> #include <test/ut.h> diff --git a/test/lib/rsa.c b/test/lib/rsa.c index 44f8ade226f..40f70010c78 100644 --- a/test/lib/rsa.c +++ b/test/lib/rsa.c @@ -6,7 +6,6 @@ * Unit test for rsa_verify() function */ -#include <common.h> #include <command.h> #include <image.h> #include <test/lib.h> diff --git a/test/lib/sscanf.c b/test/lib/sscanf.c index 772e4b92042..9fe5521749f 100644 --- a/test/lib/sscanf.c +++ b/test/lib/sscanf.c @@ -9,7 +9,6 @@ * Unit tests for sscanf() function */ -#include <common.h> #include <command.h> #include <log.h> #include <test/lib.h> diff --git a/test/lib/string.c b/test/lib/string.c index 5dcf4d6db00..d08dbca9291 100644 --- a/test/lib/string.c +++ b/test/lib/string.c @@ -9,7 +9,6 @@ * This has to be considered in testing. */ -#include <common.h> #include <command.h> #include <log.h> #include <test/lib.h> diff --git a/test/lib/strlcat.c b/test/lib/strlcat.c index d8453fe78e2..d1a0293271b 100644 --- a/test/lib/strlcat.c +++ b/test/lib/strlcat.c @@ -6,7 +6,6 @@ * These tests adapted from glibc's string/test-strncat.c */ -#include <common.h> #include <test/lib.h> #include <test/test.h> #include <test/ut.h> diff --git a/test/lib/test_aes.c b/test/lib/test_aes.c index cbc712f7eda..cfd9d8ca5a9 100644 --- a/test/lib/test_aes.c +++ b/test/lib/test_aes.c @@ -5,7 +5,6 @@ * Unit tests for aes functions */ -#include <common.h> #include <command.h> #include <hexdump.h> #include <rand.h> diff --git a/test/lib/test_crypt.c b/test/lib/test_crypt.c index fb21edf9748..dcdadd992c1 100644 --- a/test/lib/test_crypt.c +++ b/test/lib/test_crypt.c @@ -5,7 +5,6 @@ * Unit test for crypt-style password hashing */ -#include <common.h> #include <test/lib.h> #include <test/test.h> #include <test/ut.h> diff --git a/test/lib/test_errno_str.c b/test/lib/test_errno_str.c index 8a9f1fd9805..67f76442b27 100644 --- a/test/lib/test_errno_str.c +++ b/test/lib/test_errno_str.c @@ -9,7 +9,6 @@ * This has to be considered in testing. */ -#include <common.h> #include <command.h> #include <errno.h> #include <test/lib.h> diff --git a/test/lib/test_print.c b/test/lib/test_print.c index 79b67c77932..c7fc50a1de1 100644 --- a/test/lib/test_print.c +++ b/test/lib/test_print.c @@ -5,7 +5,6 @@ * Copyright 2020, Heinrich Schuchadt <xypron.glpk@gmx.de> */ -#include <common.h> #include <command.h> #include <display_options.h> #include <asm/global_data.h> diff --git a/test/lib/uuid.c b/test/lib/uuid.c index e24331a1366..0914f2c47e7 100644 --- a/test/lib/uuid.c +++ b/test/lib/uuid.c @@ -8,7 +8,6 @@ * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> */ -#include <common.h> #include <uuid.h> #include <test/lib.h> #include <test/test.h> diff --git a/test/log/cont_test.c b/test/log/cont_test.c index de7b7f064cd..036d44b9d73 100644 --- a/test/log/cont_test.c +++ b/test/log/cont_test.c @@ -5,7 +5,6 @@ * Test continuation of log messages. */ -#include <common.h> #include <console.h> #include <asm/global_data.h> #include <test/log.h> diff --git a/test/log/log_filter.c b/test/log/log_filter.c index b644b40a850..9cc891dc48c 100644 --- a/test/log/log_filter.c +++ b/test/log/log_filter.c @@ -3,7 +3,6 @@ * Copyright (C) 2020 Sean Anderson <seanga2@gmail.com> */ -#include <common.h> #include <console.h> #include <log.h> #include <asm/global_data.h> diff --git a/test/log/log_test.c b/test/log/log_test.c index c5abff80d11..855353a9c40 100644 --- a/test/log/log_test.c +++ b/test/log/log_test.c @@ -6,7 +6,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <command.h> #include <log.h> #include <asm/global_data.h> diff --git a/test/log/log_ut.c b/test/log/log_ut.c index 5aa3a184004..6617ed8b152 100644 --- a/test/log/log_ut.c +++ b/test/log/log_ut.c @@ -5,7 +5,6 @@ * Logging function tests. */ -#include <common.h> #include <console.h> #include <log.h> #include <test/log.h> diff --git a/test/log/nolog_ndebug.c b/test/log/nolog_ndebug.c index bd9a4f408e7..b714a16d2e7 100644 --- a/test/log/nolog_ndebug.c +++ b/test/log/nolog_ndebug.c @@ -5,7 +5,6 @@ * Logging function tests for CONFIG_LOG=n without #define DEBUG */ -#include <common.h> #include <console.h> #include <log.h> #include <asm/global_data.h> diff --git a/test/log/nolog_test.c b/test/log/nolog_test.c index 4e52e5bed82..c4c0fa6cf81 100644 --- a/test/log/nolog_test.c +++ b/test/log/nolog_test.c @@ -8,7 +8,6 @@ /* Needed for testing log_debug() */ #define DEBUG 1 -#include <common.h> #include <console.h> #include <log.h> #include <asm/global_data.h> diff --git a/test/log/pr_cont_test.c b/test/log/pr_cont_test.c index df4520d2807..30f30d98fe1 100644 --- a/test/log/pr_cont_test.c +++ b/test/log/pr_cont_test.c @@ -5,7 +5,6 @@ * Test continuation of log messages using pr_cont(). */ -#include <common.h> #include <console.h> #include <test/log.h> #include <test/test.h> diff --git a/test/log/syslog_test.c b/test/log/syslog_test.c index 4db649db822..c4180f775b9 100644 --- a/test/log/syslog_test.c +++ b/test/log/syslog_test.c @@ -10,7 +10,6 @@ /* Override CONFIG_LOG_MAX_LEVEL */ #define LOG_DEBUG -#include <common.h> #include <asm/global_data.h> #include <dm/device.h> #include <hexdump.h> diff --git a/test/log/syslog_test_ndebug.c b/test/log/syslog_test_ndebug.c index 4438791044d..b10e636812b 100644 --- a/test/log/syslog_test_ndebug.c +++ b/test/log/syslog_test_ndebug.c @@ -7,7 +7,6 @@ * Invoke the test with: ./u-boot -d arch/sandbox/dts/test.dtb */ -#include <common.h> #include <asm/global_data.h> #include <dm/device.h> #include <hexdump.h> diff --git a/test/optee/cmd_ut_optee.c b/test/optee/cmd_ut_optee.c index c3887ab11d9..c6f50e0995a 100644 --- a/test/optee/cmd_ut_optee.c +++ b/test/optee/cmd_ut_optee.c @@ -3,7 +3,6 @@ * Copyright (C) 2019, Theobroma Systems Design und Consulting GmbH */ -#include <common.h> #include <command.h> #include <errno.h> #include <fdt_support.h> diff --git a/test/overlay/Makefile b/test/overlay/Makefile index 2deec929abf..47937e3c108 100644 --- a/test/overlay/Makefile +++ b/test/overlay/Makefile @@ -10,5 +10,5 @@ DTC_FLAGS += -@ # DT overlays obj-y += test-fdt-base.dtb.o -obj-y += test-fdt-overlay.dtb.o -obj-y += test-fdt-overlay-stacked.dtb.o +obj-y += test-fdt-overlay.dtbo.o +obj-y += test-fdt-overlay-stacked.dtbo.o diff --git a/test/overlay/cmd_ut_overlay.c b/test/overlay/cmd_ut_overlay.c index 56a3df17138..256afd115d2 100644 --- a/test/overlay/cmd_ut_overlay.c +++ b/test/overlay/cmd_ut_overlay.c @@ -4,7 +4,6 @@ * Copyright (c) 2016 Free Electrons */ -#include <common.h> #include <command.h> #include <errno.h> #include <fdt_support.h> @@ -22,8 +21,8 @@ #define FDT_COPY_SIZE (4 * SZ_1K) extern u32 __dtb_test_fdt_base_begin; -extern u32 __dtb_test_fdt_overlay_begin; -extern u32 __dtb_test_fdt_overlay_stacked_begin; +extern u32 __dtbo_test_fdt_overlay_begin; +extern u32 __dtbo_test_fdt_overlay_stacked_begin; static void *fdt; @@ -217,8 +216,8 @@ int do_ut_overlay(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) const int n_ents = UNIT_TEST_SUITE_COUNT(overlay_test); struct unit_test_state *uts; void *fdt_base = &__dtb_test_fdt_base_begin; - void *fdt_overlay = &__dtb_test_fdt_overlay_begin; - void *fdt_overlay_stacked = &__dtb_test_fdt_overlay_stacked_begin; + void *fdt_overlay = &__dtbo_test_fdt_overlay_begin; + void *fdt_overlay_stacked = &__dtbo_test_fdt_overlay_stacked_begin; void *fdt_overlay_copy, *fdt_overlay_stacked_copy; int ret = -ENOMEM; diff --git a/test/overlay/test-fdt-overlay-stacked.dts b/test/overlay/test-fdt-overlay-stacked.dtso index 6411adec539..6411adec539 100644 --- a/test/overlay/test-fdt-overlay-stacked.dts +++ b/test/overlay/test-fdt-overlay-stacked.dtso diff --git a/test/overlay/test-fdt-overlay.dts b/test/overlay/test-fdt-overlay.dtso index 5a21b346d07..5a21b346d07 100644 --- a/test/overlay/test-fdt-overlay.dts +++ b/test/overlay/test-fdt-overlay.dtso diff --git a/test/print_ut.c b/test/print_ut.c index bb844d2542b..53d3354ea69 100644 --- a/test/print_ut.c +++ b/test/print_ut.c @@ -3,13 +3,13 @@ * Copyright (c) 2012, The Chromium Authors */ -#include <common.h> #include <command.h> #include <efi_api.h> #include <display_options.h> #include <log.h> #include <mapmem.h> #include <version_string.h> +#include <stdio.h> #include <vsprintf.h> #include <test/suites.h> #include <test/test.h> diff --git a/test/py/requirements.txt b/test/py/requirements.txt index c1dd636931f..2b1489808c0 100644 --- a/test/py/requirements.txt +++ b/test/py/requirements.txt @@ -21,10 +21,10 @@ pytest-xdist==2.5.0 python-mimeparse==1.6.0 python-subunit==1.3.0 requests==2.32.2 -setuptools==65.5.1 +setuptools==70.3.0 six==1.16.0 testtools==2.3.0 traceback2==1.4.0 unittest2==1.1.0 wcwidth==0.1.7 -zipp==0.6.0 +zipp==3.19.2 diff --git a/test/py/tests/test_dm.py b/test/py/tests/test_dm.py index 68d4ea12235..be94971e455 100644 --- a/test/py/tests/test_dm.py +++ b/test/py/tests/test_dm.py @@ -13,8 +13,11 @@ def test_dm_compat(u_boot_console): for line in response[:-1].split('\n')[2:]) response = u_boot_console.run_command('dm compat') + bad_drivers = set() for driver in drivers: - assert driver in response + if not driver in response: + bad_drivers.add(driver) + assert not bad_drivers # check sorting - output looks something like this: # testacpi 0 [ ] testacpi_drv |-- acpi-test diff --git a/test/py/tests/test_efi_capsule/conftest.py b/test/py/tests/test_efi_capsule/conftest.py index 80b12977d6f..61eab5112a1 100644 --- a/test/py/tests/test_efi_capsule/conftest.py +++ b/test/py/tests/test_efi_capsule/conftest.py @@ -53,7 +53,7 @@ def efi_capsule_data(request, u_boot_config): # Update dtb to add the version information check_call('cd %s; ' - 'cp %s/test/py/tests/test_efi_capsule/version.dts .' + 'cp %s/test/py/tests/test_efi_capsule/version.dtso .' % (data_dir, u_boot_config.source_dir), shell=True) if capsule_auth_enabled: @@ -61,13 +61,13 @@ def efi_capsule_data(request, u_boot_config): 'cp %s/arch/sandbox/dts/test.dtb test_sig.dtb' % (data_dir, u_boot_config.build_dir), shell=True) check_call('cd %s; ' - 'dtc -@ -I dts -O dtb -o version.dtbo version.dts; ' + 'dtc -@ -I dts -O dtb -o version.dtbo version.dtso; ' 'fdtoverlay -i test_sig.dtb ' '-o test_ver.dtb version.dtbo' % (data_dir), shell=True) else: check_call('cd %s; ' - 'dtc -@ -I dts -O dtb -o version.dtbo version.dts; ' + 'dtc -@ -I dts -O dtb -o version.dtbo version.dtso; ' 'fdtoverlay -i %s/arch/sandbox/dts/test.dtb ' '-o test_ver.dtb version.dtbo' % (data_dir, u_boot_config.build_dir), shell=True) diff --git a/test/py/tests/test_efi_capsule/test_capsule_firmware_raw.py b/test/py/tests/test_efi_capsule/test_capsule_firmware_raw.py index a5b5c8a3853..f3a2dff5c2c 100644 --- a/test/py/tests/test_efi_capsule/test_capsule_firmware_raw.py +++ b/test/py/tests/test_efi_capsule/test_capsule_firmware_raw.py @@ -76,7 +76,7 @@ class TestEfiCapsuleFirmwareRaw: self, u_boot_config, u_boot_console, efi_capsule_data): """ Test Case 2 Update U-Boot and U-Boot environment on SPI Flash but with OsIndications unset - No update should happen + No update should happen unless CONFIG_EFI_IGNORE_OSINDICATIONS is set 0x100000-0x150000: U-Boot binary (but dummy) 0x150000-0x200000: U-Boot environment (but dummy) """ @@ -91,16 +91,27 @@ class TestEfiCapsuleFirmwareRaw: # reboot u_boot_console.restart_uboot() + ignore_os_indications = u_boot_config.buildconfig.get( + 'config_efi_ignore_osindications') + need_reboot = True if ignore_os_indications else False + + capsule_auth = u_boot_config.buildconfig.get( + 'config_efi_capsule_authenticate') + capsule_early = u_boot_config.buildconfig.get( 'config_efi_capsule_on_disk_early') with u_boot_console.log.section('Test Case 2-b, after reboot'): if not capsule_early: - exec_manual_update(u_boot_console, disk_img, capsule_files, False) + exec_manual_update(u_boot_console, disk_img, capsule_files, need_reboot) - check_file_exist(u_boot_console, disk_img, capsule_files) + if not ignore_os_indications: + check_file_exist(u_boot_console, disk_img, capsule_files) - verify_content(u_boot_console, '100000', 'u-boot:Old') - verify_content(u_boot_console, '150000', 'u-boot-env:Old') + expected = 'u-boot:New' if (ignore_os_indications and not capsule_auth) else 'u-boot:Old' + verify_content(u_boot_console, '100000', expected) + + expected = 'u-boot-env:New' if (ignore_os_indications and not capsule_auth) else 'u-boot-env:Old' + verify_content(u_boot_console, '150000', expected) def test_efi_capsule_fw3( self, u_boot_config, u_boot_console, efi_capsule_data): diff --git a/test/py/tests/test_efi_capsule/version.dts b/test/py/tests/test_efi_capsule/version.dtso index 07850cc6064..07850cc6064 100644 --- a/test/py/tests/test_efi_capsule/version.dts +++ b/test/py/tests/test_efi_capsule/version.dtso diff --git a/test/py/tests/test_fpga.py b/test/py/tests/test_fpga.py index ca7ef8ea40d..460ff227f6f 100644 --- a/test/py/tests/test_fpga.py +++ b/test/py/tests/test_fpga.py @@ -256,7 +256,7 @@ def test_fpga_loadbp(u_boot_console): @pytest.mark.buildconfigspec('cmd_fpga') @pytest.mark.buildconfigspec('cmd_fpga_loadmk') @pytest.mark.buildconfigspec('cmd_echo') -@pytest.mark.buildconfigspec('image_format_legacy') +@pytest.mark.buildconfigspec('legacy_image_format') def test_fpga_loadmk_fail(u_boot_console): f, dev, addr, bit, bit_size = load_file_from_var(u_boot_console, 'mkimage_legacy') @@ -275,7 +275,7 @@ def test_fpga_loadmk_fail(u_boot_console): @pytest.mark.buildconfigspec('cmd_fpga') @pytest.mark.buildconfigspec('cmd_fpga_loadmk') @pytest.mark.buildconfigspec('cmd_echo') -@pytest.mark.buildconfigspec('image_format_legacy') +@pytest.mark.buildconfigspec('legacy_image_format') def test_fpga_loadmk_legacy(u_boot_console): f, dev, addr, bit, bit_size = load_file_from_var(u_boot_console, 'mkimage_legacy') @@ -289,7 +289,7 @@ def test_fpga_loadmk_legacy(u_boot_console): @pytest.mark.buildconfigspec('cmd_fpga') @pytest.mark.buildconfigspec('cmd_fpga_loadmk') @pytest.mark.buildconfigspec('cmd_echo') -@pytest.mark.buildconfigspec('image_format_legacy') +@pytest.mark.buildconfigspec('legacy_image_format') def test_fpga_loadmk_legacy_variable_fpga(u_boot_console): f, dev, addr, bit, bit_size = load_file_from_var(u_boot_console, 'mkimage_legacy') @@ -306,7 +306,7 @@ def test_fpga_loadmk_legacy_variable_fpga(u_boot_console): @pytest.mark.buildconfigspec('cmd_fpga') @pytest.mark.buildconfigspec('cmd_fpga_loadmk') @pytest.mark.buildconfigspec('cmd_echo') -@pytest.mark.buildconfigspec('image_format_legacy') +@pytest.mark.buildconfigspec('legacy_image_format') def test_fpga_loadmk_legacy_variable_fpgadata(u_boot_console): f, dev, addr, bit, bit_size = load_file_from_var(u_boot_console, 'mkimage_legacy') @@ -323,7 +323,7 @@ def test_fpga_loadmk_legacy_variable_fpgadata(u_boot_console): @pytest.mark.buildconfigspec('cmd_fpga') @pytest.mark.buildconfigspec('cmd_fpga_loadmk') @pytest.mark.buildconfigspec('cmd_echo') -@pytest.mark.buildconfigspec('image_format_legacy') +@pytest.mark.buildconfigspec('legacy_image_format') def test_fpga_loadmk_legacy_variable(u_boot_console): f, dev, addr, bit, bit_size = load_file_from_var(u_boot_console, 'mkimage_legacy') @@ -342,7 +342,7 @@ def test_fpga_loadmk_legacy_variable(u_boot_console): @pytest.mark.buildconfigspec('cmd_fpga') @pytest.mark.buildconfigspec('cmd_fpga_loadmk') @pytest.mark.buildconfigspec('cmd_echo') -@pytest.mark.buildconfigspec('image_format_legacy') +@pytest.mark.buildconfigspec('legacy_image_format') @pytest.mark.buildconfigspec('gzip') def test_fpga_loadmk_legacy_gz(u_boot_console): f, dev, addr, bit, bit_size = load_file_from_var(u_boot_console, 'mkimage_legacy_gz') diff --git a/test/py/tests/test_help.py b/test/py/tests/test_help.py index 153133cf28f..2325ff69229 100644 --- a/test/py/tests/test_help.py +++ b/test/py/tests/test_help.py @@ -7,7 +7,11 @@ import pytest def test_help(u_boot_console): """Test that the "help" command can be executed.""" - u_boot_console.run_command('help') + lines = u_boot_console.run_command('help') + if u_boot_console.config.buildconfig.get('config_cmd_2048', 'n') == 'y': + assert lines.splitlines()[0] == "2048 - The 2048 game" + else: + assert lines.splitlines()[0] == "? - alias for 'help'" @pytest.mark.boardspec('sandbox') def test_help_no_devicetree(u_boot_console): diff --git a/test/py/tests/test_log.py b/test/py/tests/test_log.py index 140dcb9aa2b..79808674bbe 100644 --- a/test/py/tests/test_log.py +++ b/test/py/tests/test_log.py @@ -27,13 +27,16 @@ def test_log_format(u_boot_console): cons = u_boot_console with cons.log.section('format'): - run_with_format('all', 'NOTICE.arch,file.c:123-func() msg') + pad = int(u_boot_console.config.buildconfig.get('config_logf_func_pad')) + padding = ' ' * (pad - len('func')) + + run_with_format('all', f'NOTICE.arch,file.c:123-{padding}func() msg') output = cons.run_command('log format') assert output == 'Log format: clFLfm' - run_with_format('fm', 'func() msg') - run_with_format('clfm', 'NOTICE.arch,func() msg') - run_with_format('FLfm', 'file.c:123-func() msg') + run_with_format('fm', f'{padding}func() msg') + run_with_format('clfm', f'NOTICE.arch,{padding}func() msg') + run_with_format('FLfm', f'file.c:123-{padding}func() msg') run_with_format('lm', 'NOTICE. msg') run_with_format('m', 'msg') diff --git a/test/py/tests/test_net.py b/test/py/tests/test_net.py index 038a473b239..ad143c19b0d 100644 --- a/test/py/tests/test_net.py +++ b/test/py/tests/test_net.py @@ -254,7 +254,7 @@ def test_net_network_discovery(u_boot_console): assert 'Set gatewayip6:' in output assert '0000:0000:0000:0000:0000:0000:0000:0000' not in output -@pytest.mark.buildconfigspec('cmd_net') +@pytest.mark.buildconfigspec('cmd_tftpboot') def test_net_tftpboot(u_boot_console): """Test the tftpboot command. @@ -335,7 +335,6 @@ def test_net_nfs(u_boot_console): output = u_boot_console.run_command('crc32 %x $filesize' % addr) assert expected_crc in output -@pytest.mark.buildconfigspec("cmd_net") @pytest.mark.buildconfigspec("cmd_pxe") def test_net_pxe_get(u_boot_console): """Test the pxe get command. @@ -391,7 +390,7 @@ def test_net_pxe_get(u_boot_console): assert "Config file 'default.boot' found" in output @pytest.mark.buildconfigspec("cmd_crc32") -@pytest.mark.buildconfigspec("cmd_net") +@pytest.mark.buildconfigspec("cmd_tftpboot") @pytest.mark.buildconfigspec("cmd_tftpput") def test_net_tftpput(u_boot_console): """Test the tftpput command. diff --git a/test/py/tests/test_net_boot.py b/test/py/tests/test_net_boot.py new file mode 100644 index 00000000000..63309fe82e1 --- /dev/null +++ b/test/py/tests/test_net_boot.py @@ -0,0 +1,400 @@ +# SPDX-License-Identifier: GPL-2.0 +# (C) Copyright 2023, Advanced Micro Devices, Inc. + +import pytest +import u_boot_utils +import test_net +import re + +""" +Note: This test relies on boardenv_* containing configuration values to define +which the network environment available for testing. Without this, this test +will be automatically skipped. + +For example: + +# Details regarding a boot image file that may be read from a TFTP server. This +# variable may be omitted or set to None if TFTP boot testing is not possible +# or desired. +env__net_tftp_bootable_file = { + 'fn': 'image.ub', + 'addr': 0x10000000, + 'size': 5058624, + 'crc32': 'c2244b26', + 'pattern': 'Linux', + 'config': 'config@2', + 'timeout': 50000, + 'check_type': 'boot_error', + 'check_pattern': 'ERROR', +} + +# False or omitted if a TFTP boot test should be tested. +# If TFTP boot testing is not possible or desired, set this variable to True. +# For example: If FIT image is not proper to boot +env__tftp_boot_test_skip = False + +# Here is the example of FIT image configurations: +configurations { + default = "config@1"; + config@1 { + description = "Boot Linux kernel with config@1"; + kernel = "kernel@0"; + fdt = "fdt@0"; + ramdisk = "ramdisk@0"; + hash@1 { + algo = "sha1"; + }; + }; + config@2 { + description = "Boot Linux kernel with config@2"; + kernel = "kernel@1"; + fdt = "fdt@1"; + ramdisk = "ramdisk@1"; + hash@1 { + algo = "sha1"; + }; + }; +}; + +# Details regarding a file that may be read from a TFTP server. This variable +# may be omitted or set to None if PXE testing is not possible or desired. +env__net_pxe_bootable_file = { + 'fn': 'default', + 'addr': 0x10000000, + 'size': 74, + 'timeout': 50000, + 'pattern': 'Linux', + 'valid_label': '1', + 'invalid_label': '2', + 'exp_str_invalid': 'Skipping install for failure retrieving', + 'local_label': '3', + 'exp_str_local': 'missing environment variable: localcmd', + 'empty_label': '4', + 'exp_str_empty': 'No kernel given, skipping boot', + 'check_type': 'boot_error', + 'check_pattern': 'ERROR', +} + +# False or omitted if a PXE boot test should be tested. +# If PXE boot testing is not possible or desired, set this variable to True. +# For example: If pxe configuration file is not proper to boot +env__pxe_boot_test_skip = False + +# Here is the example of pxe configuration file ordered based on the execution +# flow: +1) /tftpboot/pxelinux.cfg/default-arm-zynqmp + + menu include pxelinux.cfg/default-arm + timeout 50 + + default Linux + +2) /tftpboot/pxelinux.cfg/default-arm + + menu title Linux boot selections + menu include pxelinux.cfg/default + + label install + menu label Invalid boot + kernel kernels/install.bin + append console=ttyAMA0,38400 debug earlyprintk + initrd initrds/uzInitrdDebInstall + + label local + menu label Local boot + append root=/dev/sdb1 + localboot 1 + + label boot + menu label Empty boot + +3) /tftpboot/pxelinux.cfg/default + + label Linux + menu label Boot kernel + kernel Image + fdt system.dtb + initrd rootfs.cpio.gz.u-boot +""" + +def setup_networking(u_boot_console): + test_net.test_net_dhcp(u_boot_console) + if not test_net.net_set_up: + test_net.test_net_setup_static(u_boot_console) + +def setup_tftpboot_boot(u_boot_console): + f = u_boot_console.config.env.get('env__net_tftp_bootable_file', None) + if not f: + pytest.skip('No TFTP bootable file to read') + + setup_networking(u_boot_console) + addr = f.get('addr', None) + if not addr: + addr = u_boot_utils.find_ram_base(u_boot_console) + + fn = f['fn'] + timeout = f.get('timeout', 50000) + + with u_boot_console.temporary_timeout(timeout): + output = u_boot_console.run_command('tftpboot %x %s' % (addr, fn)) + + expected_text = 'Bytes transferred = ' + sz = f.get('size', None) + if sz: + expected_text += '%d' % sz + assert expected_text in output + + expected_crc = f.get('crc32', None) + output = u_boot_console.run_command('crc32 %x $filesize' % addr) + if expected_crc: + assert expected_crc in output + + pattern = f.get('pattern') + chk_type = f.get('check_type', 'boot_error') + chk_pattern = re.compile(f.get('check_pattern', 'ERROR')) + config = f.get('config', None) + + return addr, timeout, pattern, chk_type, chk_pattern, config + +@pytest.mark.buildconfigspec('cmd_tftpboot') +def test_net_tftpboot_boot(u_boot_console): + """Boot the loaded image + + A boot file (fit image) is downloaded from the TFTP server and booted using + bootm command with the default fit configuration, its boot log pattern are + validated. + + The details of the file to download are provided by the boardenv_* file; + see the comment at the beginning of this file. + """ + if u_boot_console.config.env.get('env__tftp_boot_test_skip', True): + pytest.skip('TFTP boot test is not enabled!') + + addr, timeout, pattern, chk_type, chk_pattern, imcfg = setup_tftpboot_boot( + u_boot_console + ) + + if imcfg: + bootcmd = 'bootm %x#%s' % (addr, imcfg) + else: + bootcmd = 'bootm %x' % addr + + with u_boot_console.enable_check( + chk_type, chk_pattern + ), u_boot_console.temporary_timeout(timeout): + try: + # wait_for_prompt=False makes the core code not wait for the U-Boot + # prompt code to be seen, since it won't be on a successful kernel + # boot + u_boot_console.run_command(bootcmd, wait_for_prompt=False) + + # Wait for boot log pattern + u_boot_console.wait_for(pattern) + finally: + # This forces the console object to be shutdown, so any subsequent + # test will reset the board back into U-Boot. We want to force this + # no matter whether the kernel boot passed or failed. + u_boot_console.drain_console() + u_boot_console.cleanup_spawn() + +def setup_pxe_boot(u_boot_console): + f = u_boot_console.config.env.get('env__net_pxe_bootable_file', None) + if not f: + pytest.skip('No PXE bootable file to read') + + setup_networking(u_boot_console) + bootfile = u_boot_console.run_command('echo $bootfile') + if not bootfile: + bootfile = '<NULL>' + + return f, bootfile + +@pytest.mark.buildconfigspec('cmd_pxe') +def test_net_pxe_boot(u_boot_console): + """Test the pxe boot command. + + A pxe configuration file is downloaded from the TFTP server and interpreted + to boot the images mentioned in pxe configuration file. + + The details of the file to download are provided by the boardenv_* file; + see the comment at the beginning of this file. + """ + if u_boot_console.config.env.get('env__pxe_boot_test_skip', True): + pytest.skip('PXE boot test is not enabled!') + + f, bootfile = setup_pxe_boot(u_boot_console) + addr = f.get('addr', None) + timeout = f.get('timeout', u_boot_console.p.timeout) + fn = f['fn'] + + if addr: + u_boot_console.run_command('setenv pxefile_addr_r %x' % addr) + + with u_boot_console.temporary_timeout(timeout): + output = u_boot_console.run_command('pxe get') + + expected_text = 'Bytes transferred = ' + sz = f.get('size', None) + if sz: + expected_text += '%d' % sz + assert 'TIMEOUT' not in output + assert expected_text in output + assert f"Config file '{bootfile}' found" in output + + pattern = f.get('pattern') + chk_type = f.get('check_type', 'boot_error') + chk_pattern = re.compile(f.get('check_pattern', 'ERROR')) + + if not addr: + pxe_boot_cmd = 'pxe boot' + else: + pxe_boot_cmd = 'pxe boot %x' % addr + + with u_boot_console.enable_check( + chk_type, chk_pattern + ), u_boot_console.temporary_timeout(timeout): + try: + u_boot_console.run_command(pxe_boot_cmd, wait_for_prompt=False) + u_boot_console.wait_for(pattern) + finally: + u_boot_console.drain_console() + u_boot_console.cleanup_spawn() + +@pytest.mark.buildconfigspec('cmd_pxe') +def test_net_pxe_boot_config(u_boot_console): + """Test the pxe boot command by selecting different combination of labels + + A pxe configuration file is downloaded from the TFTP server and interpreted + to boot the images mentioned in pxe configuration file. + + The details of the file to download are provided by the boardenv_* file; + see the comment at the beginning of this file. + """ + if u_boot_console.config.env.get('env__pxe_boot_test_skip', True): + pytest.skip('PXE boot test is not enabled!') + + f, bootfile = setup_pxe_boot(u_boot_console) + addr = f.get('addr', None) + timeout = f.get('timeout', u_boot_console.p.timeout) + fn = f['fn'] + local_label = f['local_label'] + empty_label = f['empty_label'] + exp_str_local = f['exp_str_local'] + exp_str_empty = f['exp_str_empty'] + + if addr: + u_boot_console.run_command('setenv pxefile_addr_r %x' % addr) + + with u_boot_console.temporary_timeout(timeout): + output = u_boot_console.run_command('pxe get') + + expected_text = 'Bytes transferred = ' + sz = f.get('size', None) + if sz: + expected_text += '%d' % sz + assert 'TIMEOUT' not in output + assert expected_text in output + assert f"Config file '{bootfile}' found" in output + + pattern = f.get('pattern') + chk_type = f.get('check_type', 'boot_error') + chk_pattern = re.compile(f.get('check_pattern', 'ERROR')) + + if not addr: + pxe_boot_cmd = 'pxe boot' + else: + pxe_boot_cmd = 'pxe boot %x' % addr + + with u_boot_console.enable_check( + chk_type, chk_pattern + ), u_boot_console.temporary_timeout(timeout): + try: + u_boot_console.run_command(pxe_boot_cmd, wait_for_prompt=False) + + # pxe config is loaded where multiple labels are there and need to + # select particular label to boot and check for expected string + # In this case, local label is selected and it should look for + # localcmd env variable and if that variable is not defined it + # should not boot it and come out to u-boot prompt + u_boot_console.wait_for('Enter choice:') + u_boot_console.run_command(local_label, wait_for_prompt=False) + expected_str = u_boot_console.p.expect([exp_str_local]) + assert ( + expected_str == 0 + ), f'Expected string: {exp_str_local} did not match!' + + # In this case, empty label is selected and it should look for + # kernel image path and if it is not set it should fail it and load + # default label to boot + u_boot_console.run_command(pxe_boot_cmd, wait_for_prompt=False) + u_boot_console.wait_for('Enter choice:') + u_boot_console.run_command(empty_label, wait_for_prompt=False) + expected_str = u_boot_console.p.expect([exp_str_empty]) + assert ( + expected_str == 0 + ), f'Expected string: {exp_str_empty} did not match!' + + u_boot_console.wait_for(pattern) + finally: + u_boot_console.drain_console() + u_boot_console.cleanup_spawn() + +@pytest.mark.buildconfigspec('cmd_pxe') +def test_net_pxe_boot_config_invalid(u_boot_console): + """Test the pxe boot command by selecting invalid label + + A pxe configuration file is downloaded from the TFTP server and interpreted + to boot the images mentioned in pxe configuration file. + + The details of the file to download are provided by the boardenv_* file; + see the comment at the beginning of this file. + """ + if u_boot_console.config.env.get('env__pxe_boot_test_skip', True): + pytest.skip('PXE boot test is not enabled!') + + f, bootfile = setup_pxe_boot(u_boot_console) + addr = f.get('addr', None) + timeout = f.get('timeout', u_boot_console.p.timeout) + fn = f['fn'] + invalid_label = f['invalid_label'] + exp_str_invalid = f['exp_str_invalid'] + + if addr: + u_boot_console.run_command('setenv pxefile_addr_r %x' % addr) + + with u_boot_console.temporary_timeout(timeout): + output = u_boot_console.run_command('pxe get') + + expected_text = 'Bytes transferred = ' + sz = f.get('size', None) + if sz: + expected_text += '%d' % sz + assert 'TIMEOUT' not in output + assert expected_text in output + assert f"Config file '{bootfile}' found" in output + + pattern = f.get('pattern') + if not addr: + pxe_boot_cmd = 'pxe boot' + else: + pxe_boot_cmd = 'pxe boot %x' % addr + + with u_boot_console.temporary_timeout(timeout): + try: + u_boot_console.run_command(pxe_boot_cmd, wait_for_prompt=False) + + # pxe config is loaded where multiple labels are there and need to + # select particular label to boot and check for expected string + # In this case invalid label is selected, it should load invalid + # label and if it fails it should load the default label to boot + u_boot_console.wait_for('Enter choice:') + u_boot_console.run_command(invalid_label, wait_for_prompt=False) + expected_str = u_boot_console.p.expect([exp_str_invalid]) + assert ( + expected_str == 0 + ), f'Expected string: {exp_str_invalid} did not match!' + + u_boot_console.wait_for(pattern) + finally: + u_boot_console.drain_console() + u_boot_console.cleanup_spawn() diff --git a/test/py/tests/test_trace.py b/test/py/tests/test_trace.py index 7c5696ce747..ec1e624722c 100644 --- a/test/py/tests/test_trace.py +++ b/test/py/tests/test_trace.py @@ -12,7 +12,7 @@ import u_boot_utils as util TMPDIR = '/tmp/test_trace' # Decode a function-graph line -RE_LINE = re.compile(r'.*0\.\.\.\.\. \s*([0-9.]*): func.*[|](\s*)(\S.*)?([{};])$') +RE_LINE = re.compile(r'.*0\.\.\.\.\.? \s*([0-9.]*): func.*[|](\s*)(\S.*)?([{};])$') def collect_trace(cons): @@ -175,7 +175,7 @@ def check_funcgraph(cons, fname, proftool, map_fname, trace_dat): # Then look for this: # u-boot-1 0..... 282.101375: funcgraph_exit: 0.006 us | } # Then check for this: - # u-boot-1 0..... 282.101375: funcgraph_entry: 0.000 us | initcall_is_event(); + # u-boot-1 0..... 282.101375: funcgraph_entry: 0.000 us | calc_reloc_ofs(); expected_indent = None found_start = False @@ -199,7 +199,7 @@ def check_funcgraph(cons, fname, proftool, map_fname, trace_dat): # The next function after initf_bootstage() exits should be # initcall_is_event() - assert upto == 'initcall_is_event()' + assert upto == 'calc_reloc_ofs()' # Now look for initf_dm() and dm_timer_init() so we can check the bootstage # time diff --git a/test/py/tests/test_ut.py b/test/py/tests/test_ut.py index c169c835e38..05e15830590 100644 --- a/test/py/tests/test_ut.py +++ b/test/py/tests/test_ut.py @@ -11,6 +11,7 @@ import pytest import u_boot_utils # pylint: disable=E0611 from tests import fs_helper +from test_android import test_abootimg def mkdir_cond(dirname): """Create a directory if it doesn't already exist @@ -423,6 +424,83 @@ def setup_cros_image(cons): return fname +def setup_android_image(cons): + """Create a 20MB disk image with Android partitions""" + Partition = collections.namedtuple('part', 'start,size,name') + parts = {} + disk_data = None + + def set_part_data(partnum, data): + """Set the contents of a disk partition + + This updates disk_data by putting data in the right place + + Args: + partnum (int): Partition number to set + data (bytes): Data for that partition + """ + nonlocal disk_data + + start = parts[partnum].start * sect_size + disk_data = disk_data[:start] + data + disk_data[start + len(data):] + + mmc_dev = 7 + fname = os.path.join(cons.config.source_dir, f'mmc{mmc_dev}.img') + u_boot_utils.run_and_log(cons, 'qemu-img create %s 20M' % fname) + u_boot_utils.run_and_log(cons, f'cgpt create {fname}') + + ptr = 40 + + # Number of sectors in 1MB + sect_size = 512 + sect_1mb = (1 << 20) // sect_size + + required_parts = [ + {'num': 1, 'label':'misc', 'size': '1M'}, + {'num': 2, 'label':'boot_a', 'size': '4M'}, + {'num': 3, 'label':'boot_b', 'size': '4M'}, + {'num': 4, 'label':'vendor_boot_a', 'size': '4M'}, + {'num': 5, 'label':'vendor_boot_b', 'size': '4M'}, + ] + + for part in required_parts: + size_str = part['size'] + if 'M' in size_str: + size = int(size_str[:-1]) * sect_1mb + else: + size = int(size_str) + u_boot_utils.run_and_log( + cons, + f"cgpt add -i {part['num']} -b {ptr} -s {size} -l {part['label']} -t basicdata {fname}") + ptr += size + + u_boot_utils.run_and_log(cons, f'cgpt boot -p {fname}') + out = u_boot_utils.run_and_log(cons, f'cgpt show -q {fname}') + + # Create a dict (indexed by partition number) containing the above info + for line in out.splitlines(): + start, size, num, name = line.split(maxsplit=3) + parts[int(num)] = Partition(int(start), int(size), name) + + with open(fname, 'rb') as inf: + disk_data = inf.read() + + test_abootimg.AbootimgTestDiskImage(cons, 'bootv4.img', test_abootimg.boot_img_hex) + boot_img = os.path.join(cons.config.result_dir, 'bootv4.img') + with open(boot_img, 'rb') as inf: + set_part_data(2, inf.read()) + + test_abootimg.AbootimgTestDiskImage(cons, 'vendor_boot.img', test_abootimg.vboot_img_hex) + vendor_boot_img = os.path.join(cons.config.result_dir, 'vendor_boot.img') + with open(vendor_boot_img, 'rb') as inf: + set_part_data(4, inf.read()) + + with open(fname, 'wb') as outf: + outf.write(disk_data) + + print('wrote to {}'.format(fname)) + + return fname def setup_cedit_file(cons): infname = os.path.join(cons.config.source_dir, @@ -470,6 +548,7 @@ def test_ut_dm_init(u_boot_console): fh.write(data) @pytest.mark.buildconfigspec('cmd_bootflow') +@pytest.mark.buildconfigspec('sandbox') def test_ut_dm_init_bootstd(u_boot_console): """Initialise data for bootflow tests""" @@ -477,6 +556,7 @@ def test_ut_dm_init_bootstd(u_boot_console): setup_bootmenu_image(u_boot_console) setup_cedit_file(u_boot_console) setup_cros_image(u_boot_console) + setup_android_image(u_boot_console) # Restart so that the new mmc1.img is picked up u_boot_console.restart_uboot() diff --git a/test/py/u_boot_console_base.py b/test/py/u_boot_console_base.py index 26b6de07f88..76a550d45a1 100644 --- a/test/py/u_boot_console_base.py +++ b/test/py/u_boot_console_base.py @@ -17,7 +17,6 @@ import u_boot_spawn # Regexes for text we expect U-Boot to send to the console. pattern_u_boot_spl_signon = re.compile('(U-Boot SPL \\d{4}\\.\\d{2}[^\r\n]*\\))') -pattern_u_boot_spl2_signon = re.compile('(U-Boot SPL \\d{4}\\.\\d{2}[^\r\n]*\\))') pattern_u_boot_main_signon = re.compile('(U-Boot \\d{4}\\.\\d{2}[^\r\n]*\\))') pattern_stop_autoboot_prompt = re.compile('Hit any key to stop autoboot: ') pattern_unknown_command = re.compile('Unknown command \'.*\' - try \'help\'') @@ -29,7 +28,6 @@ PAT_RE = 1 bad_pattern_defs = ( ('spl_signon', pattern_u_boot_spl_signon), - ('spl2_signon', pattern_u_boot_spl2_signon), ('main_signon', pattern_u_boot_main_signon), ('stop_autoboot_prompt', pattern_stop_autoboot_prompt), ('unknown_command', pattern_unknown_command), @@ -57,6 +55,32 @@ class ConsoleDisableCheck(object): self.console.disable_check_count[self.check_type] -= 1 self.console.eval_bad_patterns() +class ConsoleEnableCheck(object): + """Context manager (for Python's with statement) that temporarily enables + the specified console output error check. This is useful when executing a + command that might raise an extra bad pattern, beyond the default bad + patterns, in order to validate that the extra bad pattern is actually + detected. This class is used internally by ConsoleBase::enable_check(); it + is not intended for direct usage.""" + + def __init__(self, console, check_type, check_pattern): + self.console = console + self.check_type = check_type + self.check_pattern = check_pattern + + def __enter__(self): + global bad_pattern_defs + self.default_bad_patterns = bad_pattern_defs + bad_pattern_defs += ((self.check_type, self.check_pattern),) + self.console.disable_check_count = {pat[PAT_ID]: 0 for pat in bad_pattern_defs} + self.console.eval_bad_patterns() + + def __exit__(self, extype, value, traceback): + global bad_pattern_defs + bad_pattern_defs = self.default_bad_patterns + self.console.disable_check_count = {pat[PAT_ID]: 0 for pat in bad_pattern_defs} + self.console.eval_bad_patterns() + class ConsoleSetupTimeout(object): """Context manager (for Python's with statement) that temporarily sets up timeout for specific command. This is useful when execution time is greater @@ -152,25 +176,20 @@ class ConsoleBase(object): """ try: bcfg = self.config.buildconfig - config_spl = bcfg.get('config_spl', 'n') == 'y' config_spl_serial = bcfg.get('config_spl_serial', 'n') == 'y' env_spl_skipped = self.config.env.get('env__spl_skipped', False) - env_spl2_skipped = self.config.env.get('env__spl2_skipped', True) + env_spl_banner_times = self.config.env.get('env__spl_banner_times', 1) while loop_num > 0: loop_num -= 1 - if config_spl and config_spl_serial and not env_spl_skipped: + while config_spl_serial and not env_spl_skipped and env_spl_banner_times > 0: m = self.p.expect([pattern_u_boot_spl_signon] + self.bad_patterns) if m != 0: raise Exception('Bad pattern found on SPL console: ' + self.bad_pattern_ids[m - 1]) - if not env_spl2_skipped: - m = self.p.expect([pattern_u_boot_spl2_signon] + - self.bad_patterns) - if m != 0: - raise Exception('Bad pattern found on SPL2 console: ' + - self.bad_pattern_ids[m - 1]) + env_spl_banner_times -= 1 + m = self.p.expect([pattern_u_boot_main_signon] + self.bad_patterns) if m != 0: raise Exception('Bad pattern found on console: ' + @@ -499,6 +518,24 @@ class ConsoleBase(object): return ConsoleDisableCheck(self, check_type) + def enable_check(self, check_type, check_pattern): + """Temporarily enable an error check of U-Boot's output. + + Create a new context manager (for use with the "with" statement) which + temporarily enables a particular console output error check. The + arguments form a new element of bad_pattern_defs defined above. + + Args: + check_type: The type of error-check or bad pattern to enable. + check_pattern: The regexes for text error pattern or bad pattern + to be checked. + + Returns: + A context manager object. + """ + + return ConsoleEnableCheck(self, check_type, check_pattern) + def temporary_timeout(self, timeout): """Temporarily set up different timeout for commands. diff --git a/test/py/u_boot_console_sandbox.py b/test/py/u_boot_console_sandbox.py index 27c6db8d719..7bc44c78b8b 100644 --- a/test/py/u_boot_console_sandbox.py +++ b/test/py/u_boot_console_sandbox.py @@ -58,7 +58,7 @@ class ConsoleSandbox(ConsoleBase): if self.use_dtb: cmd += ['-d', self.config.dtb] cmd += self.sandbox_flags - return Spawn(cmd, cwd=self.config.source_dir) + return Spawn(cmd, cwd=self.config.source_dir, decode_signal=True) def restart_uboot_with_flags(self, flags, expect_reset=False, use_dtb=True): """Run U-Boot with the given command-line flags diff --git a/test/py/u_boot_spawn.py b/test/py/u_boot_spawn.py index 7c48d96210e..97e95e07c80 100644 --- a/test/py/u_boot_spawn.py +++ b/test/py/u_boot_spawn.py @@ -24,18 +24,20 @@ class Spawn: output: accumulated output from expect() """ - def __init__(self, args, cwd=None): + def __init__(self, args, cwd=None, decode_signal=False): """Spawn (fork/exec) the sub-process. Args: args: array of processs arguments. argv[0] is the command to execute. cwd: the directory to run the process in, or None for no change. + decode_signal (bool): True to indicate the exception number when + something goes wrong Returns: Nothing. """ - + self.decode_signal = decode_signal self.waited = False self.exit_code = 0 self.exit_info = '' @@ -197,12 +199,12 @@ class Spawn: # With sandbox, try to detect when U-Boot exits when it # shouldn't and explain why. This is much more friendly than # just dying with an I/O error - if err.errno == 5: # Input/output error + if self.decode_signal and err.errno == 5: # I/O error alive, _, info = self.checkalive() if alive: raise err raise ValueError('U-Boot exited with %s' % info) - raise err + raise if self.logfile_read: self.logfile_read.write(c) self.buf += c diff --git a/test/stdint/int-types.c b/test/stdint/int-types.c index f6d09e8643d..9051e32c7ce 100644 --- a/test/stdint/int-types.c +++ b/test/stdint/int-types.c @@ -1,4 +1,4 @@ -#include <common.h> +#include <linux/types.h> int test_types(void) { diff --git a/test/str_ut.c b/test/str_ut.c index fa9328ede50..389779859a3 100644 --- a/test/str_ut.c +++ b/test/str_ut.c @@ -3,7 +3,6 @@ * Copyright 2020 Google LLC */ -#include <common.h> #include <vsprintf.h> #include <test/suites.h> #include <test/test.h> diff --git a/test/test-main.c b/test/test-main.c index b7015d9f38d..3fa6f6e32ec 100644 --- a/test/test-main.c +++ b/test/test-main.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <blk.h> #include <console.h> #include <cyclic.h> diff --git a/test/time_ut.c b/test/time_ut.c index 80b82dbfd83..149c4b58f4a 100644 --- a/test/time_ut.c +++ b/test/time_ut.c @@ -4,7 +4,6 @@ * Written by Simon Glass <sjg@chromium.org> */ -#include <common.h> #include <command.h> #include <errno.h> #include <time.h> diff --git a/test/unicode_ut.c b/test/unicode_ut.c index 47c3f52774c..13e29c9b9e3 100644 --- a/test/unicode_ut.c +++ b/test/unicode_ut.c @@ -5,7 +5,6 @@ * Copyright (c) 2018 Heinrich Schuchardt <xypron.glpk@gmx.de> */ -#include <common.h> #include <charset.h> #include <command.h> #include <efi_loader.h> diff --git a/test/ut.c b/test/ut.c index 628e9dc9805..ae99831ac8f 100644 --- a/test/ut.c +++ b/test/ut.c @@ -5,7 +5,6 @@ * Copyright (c) 2013 Google, Inc */ -#include <common.h> #include <console.h> #include <malloc.h> #ifdef CONFIG_SANDBOX |