Re: [PATCH 2/3] selftest/exec: conform test to TAP format output

From: Kees Cook
Date: Mon Mar 04 2024 - 15:58:26 EST


On Mon, Mar 04, 2024 at 08:59:24PM +0500, Muhammad Usama Anjum wrote:
> Conform the layout, informational and status messages to TAP. No
> functional change is intended other than the layout of output messages.
>
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx>
> ---
> tools/testing/selftests/exec/load_address.c | 34 +++++++++------------
> 1 file changed, 15 insertions(+), 19 deletions(-)
>
> diff --git a/tools/testing/selftests/exec/load_address.c b/tools/testing/selftests/exec/load_address.c
> index d487c2f6a6150..17e3207d34ae7 100644
> --- a/tools/testing/selftests/exec/load_address.c
> +++ b/tools/testing/selftests/exec/load_address.c
> @@ -5,6 +5,7 @@
> #include <link.h>
> #include <stdio.h>
> #include <stdlib.h>
> +#include "../kselftest.h"
>
> struct Statistics {
> unsigned long long load_address;
> @@ -41,28 +42,23 @@ int main(int argc, char **argv)
> unsigned long long misalign;
> int ret;
>
> + ksft_print_header();
> + ksft_set_plan(1);
> +
> ret = dl_iterate_phdr(ExtractStatistics, &extracted);
> - if (ret != 1) {
> - fprintf(stderr, "FAILED\n");
> - return 1;
> - }
> + if (ret != 1)
> + ksft_exit_fail_msg("FAILED: dl_iterate_phdr\n");

I'm for this series, but I do note a weird glitch in the ksft API.
ksft_exit_fail_msg does:

va_start(args, msg);
printf("Bail out! ");
errno = saved_errno;
vprintf(msg, args);
va_end(args);

"Bail out!" is not very descriptive. I think I'd rather this should be:

"FAILED: "

and then that added prefix doesn't need to be added everywhere in this
patch, nor the "error: " prefix in the next patch.

--
Kees Cook