From 037ee6f91bb06fb664d57668effdea7656edce25 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Wed, 4 Oct 2017 12:37:02 +0200 Subject: efi_selftest: use efi_st_error for all error messages All error messages in the selftests should use efi_st_error. efi_st_error will print the file name and line number of the error. Splitting message texts due to lines being over 80 characters is avoided. This resolves the issue reported by Simon Glass in https://lists.denx.de/pipermail/u-boot/2017-September/307387.html Reported-by: Simon Glass Fixes: 623b3a579765 efi_selftest: provide an EFI selftest application Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass Signed-off-by: Alexander Graf --- lib/efi_selftest/efi_selftest.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'lib/efi_selftest/efi_selftest.c') diff --git a/lib/efi_selftest/efi_selftest.c b/lib/efi_selftest/efi_selftest.c index efec832e98..ff00254c21 100644 --- a/lib/efi_selftest/efi_selftest.c +++ b/lib/efi_selftest/efi_selftest.c @@ -35,8 +35,8 @@ void efi_st_exit_boot_services(void) ret = boottime->get_memory_map(&map_size, NULL, &map_key, &desc_size, &desc_version); if (ret != EFI_BUFFER_TOO_SMALL) { - efi_st_printf("ERROR: GetMemoryMap did not return " - "EFI_BUFFER_TOO_SMALL\n"); + efi_st_error( + "GetMemoryMap did not return EFI_BUFFER_TOO_SMALL\n"); return; } /* Allocate extra space for newly allocated memory */ @@ -44,21 +44,18 @@ void efi_st_exit_boot_services(void) ret = boottime->allocate_pool(EFI_BOOT_SERVICES_DATA, map_size, (void **)&memory_map); if (ret != EFI_SUCCESS) { - efi_st_printf("ERROR: AllocatePool did not return " - "EFI_SUCCESS\n"); + efi_st_error("AllocatePool did not return EFI_SUCCESS\n"); return; } ret = boottime->get_memory_map(&map_size, memory_map, &map_key, &desc_size, &desc_version); if (ret != EFI_SUCCESS) { - efi_st_printf("ERROR: GetMemoryMap did not return " - "EFI_SUCCESS\n"); + efi_st_error("GetMemoryMap did not return EFI_SUCCESS\n"); return; } ret = boottime->exit_boot_services(handle, map_key); if (ret != EFI_SUCCESS) { - efi_st_printf("ERROR: ExitBootServices did not return " - "EFI_SUCCESS\n"); + efi_st_error("ExitBootServices did not return EFI_SUCCESS\n"); return; } efi_st_printf("\nBoot services terminated\n"); @@ -79,7 +76,7 @@ static int setup(struct efi_unit_test *test, unsigned int *failures) efi_st_printf("\nSetting up '%s'\n", test->name); ret = test->setup(handle, systable); if (ret) { - efi_st_printf("ERROR: Setting up '%s' failed\n", test->name); + efi_st_error("Setting up '%s' failed\n", test->name); ++*failures; } else { efi_st_printf("Setting up '%s' succeeded\n", test->name); @@ -102,7 +99,7 @@ static int execute(struct efi_unit_test *test, unsigned int *failures) efi_st_printf("\nExecuting '%s'\n", test->name); ret = test->execute(); if (ret) { - efi_st_printf("ERROR: Executing '%s' failed\n", test->name); + efi_st_error("Executing '%s' failed\n", test->name); ++*failures; } else { efi_st_printf("Executing '%s' succeeded\n", test->name); @@ -125,7 +122,7 @@ static int teardown(struct efi_unit_test *test, unsigned int *failures) efi_st_printf("\nTearing down '%s'\n", test->name); ret = test->teardown(); if (ret) { - efi_st_printf("ERROR: Tearing down '%s' failed\n", test->name); + efi_st_error("Tearing down '%s' failed\n", test->name); ++*failures; } else { efi_st_printf("Tearing down '%s' succeeded\n", test->name); @@ -213,7 +210,8 @@ efi_status_t EFIAPI efi_selftest(efi_handle_t image_handle, efi_st_get_key(); runtime->reset_system(EFI_RESET_WARM, EFI_NOT_READY, sizeof(reset_message), reset_message); - efi_st_printf("\nERROR: reset failed.\n"); + efi_st_printf("\n"); + efi_st_error("Reset failed.\n"); return EFI_UNSUPPORTED; } -- cgit From e67e7249c8000d72b4c4b985fdeb3e103d65aa9e Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Wed, 4 Oct 2017 15:31:26 +0200 Subject: efi_selftest: make tests easier to read Rename counter to more illustrative names. Update notification function description. Simplify notification function. Add comment for arbitrary non-zero value. Document @return. Use constants for return values of setup, execute, teardown. Reported-by: Simon Glass Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass Signed-off-by: Alexander Graf --- lib/efi_selftest/efi_selftest.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'lib/efi_selftest/efi_selftest.c') diff --git a/lib/efi_selftest/efi_selftest.c b/lib/efi_selftest/efi_selftest.c index ff00254c21..45d8d3d384 100644 --- a/lib/efi_selftest/efi_selftest.c +++ b/lib/efi_selftest/efi_selftest.c @@ -66,16 +66,17 @@ void efi_st_exit_boot_services(void) * * @test the test to be executed * @failures counter that will be incremented if a failure occurs + * @return EFI_ST_SUCCESS for success */ static int setup(struct efi_unit_test *test, unsigned int *failures) { int ret; if (!test->setup) - return 0; + return EFI_ST_SUCCESS; efi_st_printf("\nSetting up '%s'\n", test->name); ret = test->setup(handle, systable); - if (ret) { + if (ret != EFI_ST_SUCCESS) { efi_st_error("Setting up '%s' failed\n", test->name); ++*failures; } else { @@ -89,16 +90,17 @@ static int setup(struct efi_unit_test *test, unsigned int *failures) * * @test the test to be executed * @failures counter that will be incremented if a failure occurs + * @return EFI_ST_SUCCESS for success */ static int execute(struct efi_unit_test *test, unsigned int *failures) { int ret; if (!test->execute) - return 0; + return EFI_ST_SUCCESS; efi_st_printf("\nExecuting '%s'\n", test->name); ret = test->execute(); - if (ret) { + if (ret != EFI_ST_SUCCESS) { efi_st_error("Executing '%s' failed\n", test->name); ++*failures; } else { @@ -112,16 +114,17 @@ static int execute(struct efi_unit_test *test, unsigned int *failures) * * @test the test to be torn down * @failures counter that will be incremented if a failure occurs + * @return EFI_ST_SUCCESS for success */ static int teardown(struct efi_unit_test *test, unsigned int *failures) { int ret; if (!test->teardown) - return 0; + return EFI_ST_SUCCESS; efi_st_printf("\nTearing down '%s'\n", test->name); ret = test->teardown(); - if (ret) { + if (ret != EFI_ST_SUCCESS) { efi_st_error("Tearing down '%s' failed\n", test->name); ++*failures; } else { -- cgit