efi_selftest: correct SetVariable() test
Errors should not only be announced as text but should also result in EFI_ST_FAILURE being returned. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
709292a63a
commit
c9dd62f9c2
@ -120,27 +120,29 @@ static int execute(void)
|
|||||||
7, v + 8);
|
7, v + 8);
|
||||||
if (ret != EFI_SUCCESS) {
|
if (ret != EFI_SUCCESS) {
|
||||||
efi_st_error("SetVariable(APPEND_WRITE) failed\n");
|
efi_st_error("SetVariable(APPEND_WRITE) failed\n");
|
||||||
} else {
|
return EFI_ST_FAILURE;
|
||||||
len = EFI_ST_MAX_DATA_SIZE;
|
|
||||||
ret = runtime->get_variable(L"efi_st_var1", &guid_vendor1,
|
|
||||||
&attr, &len, data);
|
|
||||||
if (ret != EFI_SUCCESS) {
|
|
||||||
efi_st_error("GetVariable failed\n");
|
|
||||||
return EFI_ST_FAILURE;
|
|
||||||
}
|
|
||||||
if (len != 15)
|
|
||||||
efi_st_todo("GetVariable returned wrong length %u\n",
|
|
||||||
(unsigned int)len);
|
|
||||||
if (memcmp(data, v, len))
|
|
||||||
efi_st_todo("GetVariable returned wrong value\n");
|
|
||||||
}
|
}
|
||||||
|
len = EFI_ST_MAX_DATA_SIZE;
|
||||||
|
ret = runtime->get_variable(L"efi_st_var1", &guid_vendor1,
|
||||||
|
&attr, &len, data);
|
||||||
|
if (ret != EFI_SUCCESS) {
|
||||||
|
efi_st_error("GetVariable failed\n");
|
||||||
|
return EFI_ST_FAILURE;
|
||||||
|
}
|
||||||
|
if (len != 15)
|
||||||
|
efi_st_todo("GetVariable returned wrong length %u\n",
|
||||||
|
(unsigned int)len);
|
||||||
|
if (memcmp(data, v, len))
|
||||||
|
efi_st_todo("GetVariable returned wrong value\n");
|
||||||
/* Append variable 2 */
|
/* Append variable 2 */
|
||||||
ret = runtime->set_variable(L"efi_none", &guid_vendor1,
|
ret = runtime->set_variable(L"efi_none", &guid_vendor1,
|
||||||
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
||||||
EFI_VARIABLE_APPEND_WRITE,
|
EFI_VARIABLE_APPEND_WRITE,
|
||||||
15, v);
|
15, v);
|
||||||
if (ret != EFI_NOT_FOUND)
|
if (ret != EFI_NOT_FOUND) {
|
||||||
efi_st_error("SetVariable(APPEND_WRITE) with size 0 to non-existent variable returns wrong code\n");
|
efi_st_error("SetVariable(APPEND_WRITE) with size 0 to non-existent variable returns wrong code\n");
|
||||||
|
return EFI_ST_FAILURE;
|
||||||
|
}
|
||||||
/* Append variable 3 */
|
/* Append variable 3 */
|
||||||
ret = runtime->set_variable(L"PlatformLangCodes", &guid_global,
|
ret = runtime->set_variable(L"PlatformLangCodes", &guid_global,
|
||||||
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
||||||
|
Loading…
Reference in New Issue
Block a user