[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/4] tools/misra: fix skipped rule numbers


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • Date: Thu, 1 Dec 2022 11:27:39 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MBd6anyJW1ann0UWdRaq1cQ8X8lRRQ2abDRfs2Lf9b4=; b=iIFfRCS2sypvAtuXVj9Uwl7itza68vu1R036sbSFqGAQJIiMRo/LMCtPMnYIuWbgT2SEguU0m1N9RrICZ6Zp4osCiHX8GTGcyGjZQvoDSBTA1O2dJQuq2QlYiN/JA6cxKisd9GHjTQO3eSMjkbG+FvQjBt4DjtIPyFpzJMHaQcIeAthsF2aKbBZQl6dPHkWsYQDxQ21OG56OoVftyDJe370pAKD+217xfKG2LY5wV/0zbS+cziQulDKF4DYMyq1Ihrn48NbvFOlxf5FpDVpA0f8d2RP7h1sEG75KSJVaFiP82rWKPDm+R8r2jDL1iFeMLDSuk637pte6BRcmGNugcQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z/GW93+A1/3jJvuGTLm6X8VkCZrqu+PGJ2NAnwlgt2Ywrnfr6EHvZSRHIrd9jPQmfSAG+baf0Ic1oWSGPcEI/cFQDZO3NdYQo+eT9I9dPQjttXs3aELzGhL+ig2reT/hYZhYiWiRuJx2Pt8PDeNlcT/sQ7NS0ulb8TCfUGadxMWiWOeo3jQINbwnHL3+W2e8D2NxusldI/ftLtDx7GMQxLIOaoofYUOr2WW1NTeKf+RSoTlt2vzQ5aaHRdHd4yM/l84xl9i8UQl+0Wvp5WOx8f64oIIoO9SVtMgUOtS64Lwu3e5y9qwzZ7q3wTWQ5JpeMltf2nZxrb3pH6ugXupRzw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Wei Chen <Wei.Chen@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Thu, 01 Dec 2022 11:27:45 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHZAzNHmn5ClVb9v0W1JXlG6nXFZ65WlJMAgACXfQCAAPYzgIAAxysA
  • Thread-topic: [PATCH 3/4] tools/misra: fix skipped rule numbers

>> 
>> Hi Stefano,
>> 
>> MISRA rules are in this format X.Y, misra_c2012_rules is a dictionary where 
>> the key is 
>> X and the value is the maximum number that Y can have.
>> 
>> For example rule 13.Y goes from 13.1 to 13.6 (in the dictionary 
>> misra_c2012_rules[13] == 6),
>> so the code can now check which among (13.1 .. 13.6) is not in the rule_list 
>> and add it to the
>> list of skipped rules.
>> 
>> Here an example:
>> {
>>    "script": "misra.py",
>>    "args": [
>>      "--rule-texts=/path/to/cppcheck-misra.txt",
>>      
>> "--suppress-rules=1.1,1.2,1.4,2.2,2.3,2.4,2.5,2.6,2.7,3.1,4.1,4.2,5.5,5.6,5.7,5.8,5.9,6.1,7.1,7.2,7.3,7.4,8.2,8.3,8.7,8.9,8.11,8.13,8.14,9.3,9.4,9.5,10.1,10.2,10.3,10.4,10.5,10.6,10.7,10.8,11.1,11.2,11.3,11.4,11.5,11.6,11.7,11.8,11.9,12.1,12.2,12.3,12.4,12.5,13.1,13.2,13.3,13.4,13.5,14.2,14.3,14.4,15.1,15.2,15.3,15.4,15.5,15.6,15.7,16.1,16.2,16.3,16.4,16.5,16.6,17.1,17.2,17.5,17.6,17.7,17.8,18.1,18.2,18.3,18.4,18.5,18.6,18.7,18.8,19.1,19.2,20.1,20.2,20.3,20.4,20.5,20.6,20.8,20.9,20.10,20.11,20.12,21.1,21.2,21.3,21.4,21.5,21.6,21.7,21.8,21.9,21.10,21.11,21.12,21.13,21.14,21.15,21.16,21.17,21.18,21.19,21.20,21.21,22.1,22.2,22.3,22.4,22.5,22.6,22.7,22.8,22.9,22.10"
>>    ]
>> }
>> 
>> So this patch is solving two issues, the first one was that rule 22.Y was 
>> never included in the suppressed
>> list because range(1,22) produces a range in [1..21], the second issue is 
>> that the code was producing
>> Invalid MISRA C 2012 rules, for example 1.21 and so on.
> 
> I see, that makes sense. Please improve the commit message with this
> information and add
> 
> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>

Thank you,

If you agree, I will change the commit message to be this one:

MISRA rules are in the format Rule X.Y, currently the script
convert_misra_doc.py is using two nested loop through range(1,22) to
enumerate rules that needs to be skipped, using combination of X.Y in
that range, however there are two issues in the code:
 - rule 22 is never included because the range(1,22) produces a range 
   in [1..21]
 - the second issue is that the code is producing invalid MISRA C 2012
   rules, for example 1.21 and so on

Fix the issue using a dictionary that list the rules in misra c2012.





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.