mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
efi_loader: selftest: enable APPEND_WRITE tests
Now that APPEND_WRITE is supported, the result check for the only existing test case should be changed to 'todo' to 'error', while two more test cases are added. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
6d2f27c5fd
commit
5a24239c95
1 changed files with 19 additions and 1 deletions
|
@ -21,6 +21,9 @@ static const efi_guid_t guid_vendor0 =
|
|||
static const efi_guid_t guid_vendor1 =
|
||||
EFI_GUID(0xff629290, 0x1fc1, 0xd73f,
|
||||
0x8f, 0xb1, 0x32, 0xf9, 0x0c, 0xa0, 0x42, 0xea);
|
||||
static const efi_guid_t guid_global =
|
||||
EFI_GUID(0x8be4df61, 0x93ca, 0x11d2,
|
||||
0xaa, 0x0d, 0x00, 0xe0, 0x98, 0x03, 0x2b, 0x8c);
|
||||
|
||||
/*
|
||||
* Setup unit test.
|
||||
|
@ -116,7 +119,7 @@ static int execute(void)
|
|||
EFI_VARIABLE_APPEND_WRITE,
|
||||
7, v + 8);
|
||||
if (ret != EFI_SUCCESS) {
|
||||
efi_st_todo("SetVariable(APPEND_WRITE) failed\n");
|
||||
efi_st_error("SetVariable(APPEND_WRITE) failed\n");
|
||||
} else {
|
||||
len = EFI_ST_MAX_DATA_SIZE;
|
||||
ret = runtime->get_variable(L"efi_st_var1", &guid_vendor1,
|
||||
|
@ -131,6 +134,21 @@ static int execute(void)
|
|||
if (memcmp(data, v, len))
|
||||
efi_st_todo("GetVariable returned wrong value\n");
|
||||
}
|
||||
/* Append variable 2 */
|
||||
ret = runtime->set_variable(L"efi_none", &guid_vendor1,
|
||||
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
||||
EFI_VARIABLE_APPEND_WRITE,
|
||||
15, v);
|
||||
if (ret != EFI_NOT_FOUND)
|
||||
efi_st_error("SetVariable(APPEND_WRITE) with size 0 to non-existent variable returns wrong code\n");
|
||||
/* Append variable 3 */
|
||||
ret = runtime->set_variable(L"PlatformLangCodes", &guid_global,
|
||||
EFI_VARIABLE_BOOTSERVICE_ACCESS |
|
||||
EFI_VARIABLE_RUNTIME_ACCESS |
|
||||
EFI_VARIABLE_APPEND_WRITE,
|
||||
15, v);
|
||||
if (ret != EFI_WRITE_PROTECTED)
|
||||
efi_st_todo("SetVariable(APPEND_WRITE) to read-only variable returns wrong code\n");
|
||||
/* Enumerate variables */
|
||||
boottime->set_mem(&guid, 16, 0);
|
||||
*varname = 0;
|
||||
|
|
Loading…
Reference in a new issue