On 17.07.23 12:32, Jan Kiszka wrote:
> 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.
> 

+ scope reduction of a local var because cppcheck started to complain.
Please run full tests in the future.

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/b11cdf83-f1cf-a34d-bd08-1ace5ba814d6%40siemens.com.

Reply via email to