On Wed, Sep 02, 2026 at 07:15:29PM -0300, Fabiano Rosas wrote:
> Using newlines in the g_test_message is fine. It automatically adds
> the '#' required by the TAP protocol to the start of each line.

IIUC we have such check not because TAP, but because all these functions
will append one newline at the end, hence it's not needed.  IOW, if it
applies to g_test_message(), I don't see why it doesn't apply to the rest.
But maybe there're other reasons?

To make it simpler, maybe we just call a few times g_test_message()?

> 
> Relax the regex for this function, but still forbid a trailing newline
> because it's added automatically and usually not what the user wants.
> 
> Signed-off-by: Fabiano Rosas <[email protected]>
> ---
>  scripts/checkpatch.pl | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 03f35e75012..fd4534b3a1e 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3303,13 +3303,20 @@ sub process {
>                                        info_vreport|
>                                        error_report|
>                                        warn_report|
> -                                      info_report|
> -                                      g_test_message}x;
> +                                      info_report}x;
>  
>               if ($rawline =~ /\b(?:$qemu_error_funcs)\s*\(.*\".*\\n/) {
>                       ERROR("Error messages should not contain newlines\n" . 
> $herecurr);
>               }
>  
> +             # No newlines at the end
> +             my $trail_newline_error_funcs = qr{g_test_message}x;
> +
> +             if ($rawline =~ 
> /\b(?:$trail_newline_error_funcs)\(.*\".*\\n\"/) {
> +                 ERROR("Error messages should not contain trailing " .
> +                       "newlines\n" . $herecurr);
> +             }
> +
>               # Continue checking for error messages that contains newlines.
>               # This check handles cases where string literals are spread
>               # over multiple lines.
> -- 
> 2.53.0
> 

-- 
Peter Xu


Reply via email to