efi_selftest: add tests for QueryVariableInfo at boottime

Previous patches added QueryVariableInfo at runtime tests and
split a common function that can be used at boottime. Weire it
up and run a similar set of tets. While at it move a test which is
checiking for 0 available storage in the common code

Add tests for
- Test QueryVariableInfo returns EFI_SUCCESS
- Test null pointers for the function arguments
- Test invalid combination of attributes

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Ilias Apalodimas 2024-04-25 08:18:21 +03:00 committed by Heinrich Schuchardt
parent 6b2aaf8d03
commit 7b8fad5171
2 changed files with 8 additions and 8 deletions

View file

@ -51,15 +51,12 @@ static int execute(void)
u16 varname[EFI_ST_MAX_VARNAME_SIZE];
int flag;
efi_guid_t guid;
u64 max_storage, rem_storage, max_size;
int test_ret;
ret = runtime->query_variable_info(EFI_VARIABLE_BOOTSERVICE_ACCESS,
&max_storage, &rem_storage,
&max_size);
if (ret != EFI_SUCCESS) {
efi_st_todo("QueryVariableInfo failed\n");
} else if (!max_storage || !rem_storage || !max_size) {
efi_st_error("QueryVariableInfo: wrong info\n");
test_ret = efi_st_query_variable_common(runtime,
EFI_VARIABLE_BOOTSERVICE_ACCESS);
if (test_ret != EFI_ST_SUCCESS) {
efi_st_error("QueryVariableInfo failed\n");
return EFI_ST_FAILURE;
}
/* Set variable 0 */

View file

@ -23,6 +23,9 @@ int efi_st_query_variable_common(struct efi_runtime_services *runtime,
if (ret != EFI_SUCCESS) {
efi_st_error("QueryVariableInfo failed\n");
return EFI_ST_FAILURE;
} else if (!max_storage || !rem_storage || !max_size) {
efi_st_error("QueryVariableInfo: wrong info\n");
return EFI_ST_FAILURE;
}
ret = runtime->query_variable_info(EFI_VARIABLE_RUNTIME_ACCESS,