[PATCH v2 22/29] test: spl: Fix spl_test_load not failing if fname doesn't exist

Sean Anderson seanga2 at gmail.com
Sat Oct 14 22:47:58 CEST 2023


Returning a negative value from a unit test doesn't automatically fail the
test.  We have to fail an assertion. Modify the test to do so.

This now causes the test to count as a failure on VPL. This is because the
fname of SPL (and U-Boot) is generated with make_exec in os_jump_to_image.
The original name of SPL is gone, and we can't determine the name of U-Boot
from the generated name.

Signed-off-by: Sean Anderson <seanga2 at gmail.com>
Reviewed-by: Simon Glass <sjg at chromium.org>
---

(no changes since v1)

 configs/sandbox_vpl_defconfig | 1 +
 test/image/spl_load_os.c      | 6 ++----
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/configs/sandbox_vpl_defconfig b/configs/sandbox_vpl_defconfig
index 8d76f19729b..5bd0281796d 100644
--- a/configs/sandbox_vpl_defconfig
+++ b/configs/sandbox_vpl_defconfig
@@ -262,3 +262,4 @@ CONFIG_UNIT_TEST=y
 CONFIG_SPL_UNIT_TEST=y
 CONFIG_UT_TIME=y
 CONFIG_UT_DM=y
+# CONFIG_SPL_UT_LOAD_OS is not set
diff --git a/test/image/spl_load_os.c b/test/image/spl_load_os.c
index bf374f2164d..3b2967d017a 100644
--- a/test/image/spl_load_os.c
+++ b/test/image/spl_load_os.c
@@ -58,10 +58,8 @@ static int spl_test_load(struct unit_test_state *uts)
 	load.read = read_fit_image;
 
 	ret = sandbox_find_next_phase(fname, sizeof(fname), true);
-	if (ret) {
-		printf("(%s not found, error %d)\n", fname, ret);
-		return ret;
-	}
+	if (ret)
+		ut_assertf(0, "%s not found, error %d\n", fname, ret);
 	load.filename = fname;
 
 	header = spl_get_load_buffer(-sizeof(*header), sizeof(*header));
-- 
2.37.1



More information about the U-Boot mailing list