[libcamera-devel] [PATCH v4 5/6] libcamera: internal: log: Report function on asserts
Jean-Michel Hautbois
jeanmichel.hautbois at ideasonboard.com
Tue Apr 20 19:26:47 CEST 2021
Hi Kieran,
Thanks for the patch !
On 20/04/2021 15:07, Kieran Bingham wrote:
> Report the function which fails an assertion as well as the actual
> assertion.
>
> This now reports as:
>
> [30:08:53.218816270] [226567] FATAL default request.cpp:150 assertion "d" failed in reuse()
> rather than:
> [30:11:05.271888926] [228531] FATAL default request.cpp:150 assertion "d" failed
>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
> ---
> We could use __PRETTY_FUNCTION__ instead to get:
> [30:17:16.736265045] [232054] FATAL default request.cpp:150 assertion "d" failed in void libcamera::Request::reuse(libcamera::Request::ReuseFlag)
>
> include/libcamera/internal/log.h | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/include/libcamera/internal/log.h b/include/libcamera/internal/log.h
> index be0bab3c1272..b66bf55bc57d 100644
> --- a/include/libcamera/internal/log.h
> +++ b/include/libcamera/internal/log.h
> @@ -117,9 +117,10 @@ LogMessage _log(const LogCategory *category, LogSeverity severity,
> #endif /* __DOXYGEN__ */
>
> #ifndef NDEBUG
> -#define ASSERT(condition) static_cast<void>(({ \
> - if (!(condition)) \
> - LOG(Fatal) << "assertion \"" #condition "\" failed"; \
> +#define ASSERT(condition) static_cast<void>(({ \
> + if (!(condition)) \
> + LOG(Fatal) << "assertion \"" #condition "\" failed in " \
> + << __func__ << "()"; \
> }))
> #else
> #define ASSERT(condition) static_cast<void>(false && (condition))
>
More information about the libcamera-devel
mailing list