On 11/01/2018 05:47 AM, AKASHI Takahiro wrote: > This efi_selftest tests HII database protocol and HII string protocol. > > Signed-off-by: AKASHI Takahiro <takahiro.aka...@linaro.org> > --- > lib/efi_selftest/Makefile | 1 + > lib/efi_selftest/efi_selftest_hii.c | 882 +++++++++++++++++++++++ > lib/efi_selftest/efi_selftest_hii_data.c | 450 ++++++++++++ > 3 files changed, 1333 insertions(+) > create mode 100644 lib/efi_selftest/efi_selftest_hii.c > create mode 100644 lib/efi_selftest/efi_selftest_hii_data.c > > diff --git a/lib/efi_selftest/Makefile b/lib/efi_selftest/Makefile > index 4b1c0bb84b18..1209b54b07cd 100644 > --- a/lib/efi_selftest/Makefile > +++ b/lib/efi_selftest/Makefile > @@ -25,6 +25,7 @@ efi_selftest_exception.o \ > efi_selftest_exitbootservices.o \ > efi_selftest_fdt.o \ > efi_selftest_gop.o \ > +efi_selftest_hii.o \ > efi_selftest_loaded_image.o \ > efi_selftest_manageprotocols.o \ > efi_selftest_rtc.o \ > diff --git a/lib/efi_selftest/efi_selftest_hii.c > b/lib/efi_selftest/efi_selftest_hii.c > new file mode 100644 > index 000000000000..2d5fe095a9b2 > --- /dev/null > +++ b/lib/efi_selftest/efi_selftest_hii.c > @@ -0,0 +1,882 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * efi_selftest_hii > + * > + * Copyright (c) 2018 AKASHI Takahiro, Linaro Limited > + * > + * Test HII database protocols > + */ > + > +#include <efi_selftest.h> > +#include <malloc.h> > +#include "efi_selftest_hii_data.c" > + > +#define PRINT_TESTNAME efi_st_printf("%s:\n", __func__) > + > +static struct efi_boot_services *boottime; > + > +static const efi_guid_t hii_database_protocol_guid = > + EFI_HII_DATABASE_PROTOCOL_GUID; > +static const efi_guid_t hii_string_protocol_guid = > + EFI_HII_STRING_PROTOCOL_GUID; > + > +static struct efi_hii_database_protocol *hii_database_protocol; > +static struct efi_hii_string_protocol *hii_string_protocol; > + > +/* > + * Setup unit test. > + * > + * @handle: handle of the loaded image > + * @systable: system table > + * > + * @return: EFI_ST_SUCCESS for success > + */ > +static int setup(const efi_handle_t handle, > + const struct efi_system_table *systable) > +{ > + efi_status_t ret; > + > + boottime = systable->boottime; > + > + /* HII database protocol */ > + ret = boottime->locate_protocol(&hii_database_protocol_guid, NULL, > + (void **)&hii_database_protocol); > + if (ret != EFI_SUCCESS) { > + hii_database_protocol = NULL; > + efi_st_error("HII database protocol is not available.\n"); > + return EFI_ST_FAILURE; > + } > + > + /* HII string protocol */ > + ret = boottime->locate_protocol(&hii_string_protocol_guid, NULL, > + (void **)&hii_string_protocol); > + if (ret != EFI_SUCCESS) { > + hii_string_protocol = NULL; > + efi_st_error("HII string protocol is not available.\n"); > + return EFI_ST_FAILURE; > + } > + > + return EFI_ST_SUCCESS; > +} > + > +/* > + * HII database protocol Tests
Thanks a lot for providing unit tests for the protocols. %s/Tests/tests/ > + */ > + Please, add a comment to each test describing what it is doing, e.g. /** * test_hii_database_new_package_list() - test creation and removal of package lists * * This test adds a new package list and then tries to remove it using the provided handle. * * @Return: status code */ > +static int test_hii_database_new_package_list(void) > +{ > + efi_hii_handle_t handle; > + efi_status_t ret; > + > + PRINT_TESTNAME; > + ret = hii_database_protocol->new_package_list(hii_database_protocol, > + (struct efi_hii_package_list_header *)packagelist1, > + NULL, &handle); > + if (ret != EFI_SUCCESS || !handle) { > + efi_st_error("new_package_list returned %u\n", (int)ret); %s/int/unsigned int/ > + return EFI_ST_FAILURE; > + } > + > + ret = hii_database_protocol->remove_package_list(hii_database_protocol, > + handle); > + if (ret != EFI_SUCCESS) { > + efi_st_error("remove_package_list returned %u\n", (int)ret); %s/int/unsigned int/ Same change needed all over the file. Best regards Heinrich _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot