[U-Boot] [PATCH] RFC: checkpatch: Add a check for tests needed for uclasses
Heinrich Schuchardt
xypron.glpk at gmx.de
Fri Nov 23 08:28:53 UTC 2018
On 11/22/18 9:50 PM, Simon Glass wrote:
> Hi Heinrich,
>
> On Wed, 21 Nov 2018 at 07:35, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>>
>> On 11/18/18 4:16 PM, Simon Glass wrote:
>>> This is an experimental check for adding new uclasses without a test.
>>>
>>> I am not sure of the best way to add U-Boot-specific tests, although in
>>> this case, it would not fire on Linux.
>>>
>>> Signed-off-by: Simon Glass <sjg at chromium.org>
>>> ---
>>>
>>> scripts/checkpatch.pl | 7 +++++++
>>> 1 file changed, 7 insertions(+)
>>>
>>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
>>> index 373094e59ef..2f9edb429d5 100755
>>> --- a/scripts/checkpatch.pl
>>> +++ b/scripts/checkpatch.pl
>>> @@ -3033,6 +3033,13 @@ sub process {
>>> "adding a line without newline at end of file\n" . $herecurr);
>>> }
>>>
>>> + # ask for a test if a new uclass ID is added
>>> + if ($realfile =~ /uclass-id.h/ && $line =~ /^\+/) {
>>> + WARN("NEW_UCLASS",
>>> + "Possible new uclass - make sure to add a test in test/dm/<name>.c\n" . $herecurr);
>>> + }
>>> +
>>> +
>>> # check we are in a valid source file C or perl if not then ignore this hunk
>>> next if ($realfile !~ /\.(h|c|pl|dtsi|dts)$/);
>>>
>>>
>>
>> I would prefer if this script were a verbatim copy of the Linux
>> upstream. Joe Perches is continually working on it. So let's update to
>> 4.20 instead.
>
> That's fine, but is not the point of this patch.
Your patch is making updates harder?
>
>>
>> Tests are needed for any new functionality. Nothing special about
>> u-classes here. The reviewer/custodian should take care that this is
>> observed.
>
> We have similar checks for updating MAINTAINERS files when
> adding/removing files. I think it is better for people to find out
> that they need to add tests before they send their patches.
This is an upstream function.
>
> Also we have 73 uclasses but not all have tests, so some have clearly
> slipped through the cracks.
This is not specific for u-classes. With the same reasoning you could
warn on all patches creating a C function, "Did you create a test?" and
for any other change, "Did you update the tests?".
I am with you in that we should aim for 100 % test coverage. But I don't
like nag messages.
Regards
Heinrich
>
> Regards,
> Simon
>
More information about the U-Boot
mailing list