On 15.07.23 17:43, 'Earl Chew' via EFI Boot Guard wrote: > Work around the absence of a spare slot when there is only > one configuration slot > > Signed-off-by: Earl Chew <[email protected]> > --- > tools/tests/test_ebgenv_api.c | 23 +++++++++++++++-------- > tools/tests/test_ebgenv_api_internal.c | 2 +- > 2 files changed, 16 insertions(+), 9 deletions(-) > > diff --git a/tools/tests/test_ebgenv_api.c b/tools/tests/test_ebgenv_api.c > index 8efa9d3..a248989 100644 > --- a/tools/tests/test_ebgenv_api.c > +++ b/tools/tests/test_ebgenv_api.c > @@ -91,6 +91,7 @@ START_TEST(ebgenv_api_ebg_env_create_new) > char buffer[10]; > char *kernelfile = "kernel123"; > char *kernelparams = "param456"; > + int watchdogtimeout = 44; > > memset(&e, 0, sizeof(e)); > memset(envdata, 0, sizeof(envdata)); > @@ -110,13 +111,19 @@ START_TEST(ebgenv_api_ebg_env_create_new) > * environment is created. The new environment must overwrite the > * oldest environment and revision and ustate must be set correctly. > */ > - envdata[ENV_NUM_CONFIG_PARTS-1].watchdog_timeout_sec = 44; > - (void)str8to16(bufferw, kernelfile); > - memcpy(envdata[ENV_NUM_CONFIG_PARTS-1].kernelfile, bufferw, > - strlen(kernelfile) * 2 + 2); > - (void)str8to16(bufferw, kernelparams); > - memcpy(envdata[ENV_NUM_CONFIG_PARTS-1].kernelparams, bufferw, > - strlen(kernelparams) * 2 + 2); > + if (ENV_NUM_CONFIG_PARTS > 1) { > + envdata[ENV_NUM_CONFIG_PARTS-1].watchdog_timeout_sec = > watchdogtimeout; > + (void)str8to16(bufferw, kernelfile); > + memcpy(envdata[ENV_NUM_CONFIG_PARTS-1].kernelfile, bufferw, > + strlen(kernelfile) * 2 + 2); > + (void)str8to16(bufferw, kernelparams); > + memcpy(envdata[ENV_NUM_CONFIG_PARTS-1].kernelparams, bufferw, > + strlen(kernelparams) * 2 + 2); > + } else { > + kernelfile = ""; > + kernelparams = ""; > + watchdogtimeout = 0; > + } > errno = 0; > > bgenv_init_fake.return_val = true; > @@ -132,7 +139,7 @@ START_TEST(ebgenv_api_ebg_env_create_new) > ((BGENV *)e.bgenv)->data->revision, ENV_NUM_CONFIG_PARTS+1); > > ck_assert_int_eq(((BGENV *)e.bgenv)->data->ustate, USTATE_OK); > - ck_assert_int_eq(((BGENV *)e.bgenv)->data->watchdog_timeout_sec, 44); > + ck_assert_int_eq(((BGENV *)e.bgenv)->data->watchdog_timeout_sec, > watchdogtimeout); > (void)str16to8(buffer, ((BGENV *)e.bgenv)->data->kernelfile); > ck_assert_int_eq(strcmp(buffer, kernelfile), 0); > (void)str16to8(buffer, ((BGENV *)e.bgenv)->data->kernelparams); > diff --git a/tools/tests/test_ebgenv_api_internal.c > b/tools/tests/test_ebgenv_api_internal.c > index 1ed1d99..6a3d816 100644 > --- a/tools/tests/test_ebgenv_api_internal.c > +++ b/tools/tests/test_ebgenv_api_internal.c > @@ -248,7 +248,7 @@ START_TEST(ebgenv_api_internal_bgenv_create_new) > ck_assert(handle != NULL); > ck_assert(handle->data == &envdata[max-1]); > ck_assert(envdata[max-1].revision == max+1); > - ck_assert(envdata[max-1].watchdog_timeout_sec == 30); > + ck_assert(envdata[max-1].watchdog_timeout_sec == (max == 1 ? 0 : 30)); > > free(handle); > }
Thanks, applied with minor rewrappings to 80 chars. Curious: Which corners of EBG are you testing here? Jan -- Siemens AG, Technology Competence Center Embedded Linux -- You received this message because you are subscribed to the Google Groups "EFI Boot Guard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/efibootguard-dev/74190d99-5e2d-9e17-8cc5-05cbd0e7454d%40siemens.com.
