[PATCH] test: bootm: Ensure tests can be run twice

Simon Glass sjg at chromium.org
Thu Nov 7 14:44:22 CET 2024


Hi Andrew,

On Wed, 6 Nov 2024 at 06:50, Andrew Goodbody <andrew.goodbody at linaro.org> wrote:
>
> Some of the bootm tests rely on state that is assumed to be
> correct but is changed by the tests. This means that running
> 'ut bootm' twice will result in failures on the second run
> as the state left by the first run is not what the tests
> expect.
> Fix this by ensuring the state is as expected by explicitly
> setting that state.
>
> Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
> ---
>
>  test/bootm.c | 3 +++
>  1 file changed, 3 insertions(+)

Reviewed-by: Simon Glass <sjg at chromium.org>

We could implement save/restore for the environment (in tests), but
for now this seems like a good solution.

>
> diff --git a/test/bootm.c b/test/bootm.c
> index 52b83f149c..9455f44884 100644
> --- a/test/bootm.c
> +++ b/test/bootm.c
> @@ -28,6 +28,7 @@ static int bootm_test_nop(struct unit_test_state *uts)
>
>         /* This tests relies on GD_FLG_SILENT not being set */
>         gd->flags &= ~GD_FLG_SILENT;
> +       env_set("silent_linux", NULL);
>
>         *buf = '\0';
>         ut_assertok(bootm_process_cmdline(buf, BUF_SIZE, BOOTM_CL_ALL));
> @@ -183,6 +184,7 @@ static int bootm_test_subst(struct unit_test_state *uts)
>         ut_asserteq(0, bootm_process_cmdline(buf, 22, BOOTM_CL_SUBST));
>
>         /* Check multiple substitutions */
> +       ut_assertok(env_set("bvar", NULL));
>         ut_assertok(env_set("var", "abc"));
>         strcpy(buf, "some${var}thing${bvar}else");
>         ut_asserteq(0, bootm_process_cmdline(buf, BUF_SIZE, BOOTM_CL_SUBST));
> @@ -201,6 +203,7 @@ BOOTM_TEST(bootm_test_subst, 0);
>  /* Test silent processing in the bootargs variable */
>  static int bootm_test_silent_var(struct unit_test_state *uts)
>  {
> +       ut_assertok(env_set("var", NULL));
>         env_set("bootargs", NULL);
>         ut_assertok(bootm_process_cmdline_env(BOOTM_CL_SUBST));
>         ut_assertnull(env_get("bootargs"));
> --
> 2.39.5
>

Regards,
Simon


More information about the U-Boot mailing list