提交 5a24239c 编写于 作者: A AKASHI Takahiro 提交者: Heinrich Schuchardt

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: NAKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
上级 6d2f27c5
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册