Re: [PATCH 3/5] selftests: openat2: Print also errno in failure messages

Shuah Khan
2022-01-27T23:11:59Z

On 1/26/22 3:27 AM, Cristian Marussi wrote:
> In E_func() macro, on error, print also errno in order to aid debugging.
>
> Cc: Aleksa Sarai <cyphar@cyphar.com>
> Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
> ---
> tools/testing/selftests/openat2/helpers.h | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/tools/testing/selftests/openat2/helpers.h b/tools/testing/selftests/openat2/helpers.h
> index a6ea27344db2..ad5d0ba5b6ce 100644
> --- a/tools/testing/selftests/openat2/helpers.h
> +++ b/tools/testing/selftests/openat2/helpers.h
> @@ -62,11 +62,12 @@ bool needs_openat2(const struct open_how *how);
> (similar to chroot(2)). */
> #endif /* RESOLVE_IN_ROOT */
>
> -#define E_func(func, ...) \
> - do { \
> - if (func(__VA_ARGS__) < 0) \
> - ksft_exit_fail_msg("%s:%d %s failed\n", \
> - __FILE__, __LINE__, #func);\
> +#define E_func(func, ...) \
> + do { \
> + errno = 0; \
> + if (func(__VA_ARGS__) < 0) \
> + ksft_exit_fail_msg("%s:%d %s failed - errno:%d\n", \
> + __FILE__, __LINE__, #func, errno); \
> } while (0)
>
> #define E_asprintf(...) E_func(asprintf, __VA_ARGS__)
>

Looks good. Will apply to linux-kselftest rc3

thanks,
-- Shuah