Skip to content

Commit a31cf70

Browse files
First round tests
1 parent 9f112e7 commit a31cf70

10 files changed

Lines changed: 470 additions & 0 deletions
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
//** THIS FILE IS AUTOGENERATED, DO NOT MODIFY DIRECTLY. **/
2+
import cpp
3+
import RuleMetadata
4+
import codingstandards.cpp.exclusions.RuleMetadata
5+
6+
newtype Classes3Query =
7+
TImproperlyProvidedSpecialMemberFunctionsQuery() or
8+
TImproperlyProvidedSpecialMemberFunctionsAuditQuery()
9+
10+
predicate isClasses3QueryMetadata(Query query, string queryId, string ruleId, string category) {
11+
query =
12+
// `Query` instance for the `improperlyProvidedSpecialMemberFunctions` query
13+
Classes3Package::improperlyProvidedSpecialMemberFunctionsQuery() and
14+
queryId =
15+
// `@id` for the `improperlyProvidedSpecialMemberFunctions` query
16+
"cpp/misra/improperly-provided-special-member-functions" and
17+
ruleId = "RULE-15-0-1" and
18+
category = "required"
19+
or
20+
query =
21+
// `Query` instance for the `improperlyProvidedSpecialMemberFunctionsAudit` query
22+
Classes3Package::improperlyProvidedSpecialMemberFunctionsAuditQuery() and
23+
queryId =
24+
// `@id` for the `improperlyProvidedSpecialMemberFunctionsAudit` query
25+
"cpp/misra/improperly-provided-special-member-functions-audit" and
26+
ruleId = "RULE-15-0-1" and
27+
category = "required"
28+
}
29+
30+
module Classes3Package {
31+
Query improperlyProvidedSpecialMemberFunctionsQuery() {
32+
//autogenerate `Query` type
33+
result =
34+
// `Query` type for `improperlyProvidedSpecialMemberFunctions` query
35+
TQueryCPP(TClasses3PackageQuery(TImproperlyProvidedSpecialMemberFunctionsQuery()))
36+
}
37+
38+
Query improperlyProvidedSpecialMemberFunctionsAuditQuery() {
39+
//autogenerate `Query` type
40+
result =
41+
// `Query` type for `improperlyProvidedSpecialMemberFunctionsAudit` query
42+
TQueryCPP(TClasses3PackageQuery(TImproperlyProvidedSpecialMemberFunctionsAuditQuery()))
43+
}
44+
}

cpp/common/src/codingstandards/cpp/exclusions/cpp/RuleMetadata.qll

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import BannedSyntax
1818
import BannedTypes
1919
import Classes
2020
import Classes2
21+
import Classes3
2122
import Classes4
2223
import Comments
2324
import Concurrency
@@ -82,6 +83,7 @@ import OrderOfEvaluation
8283
import OutOfBounds
8384
import Pointers
8485
import Preconditions1
86+
import Preconditions2
8587
import Preconditions3
8688
import Preconditions4
8789
import Preconditions5
@@ -126,6 +128,7 @@ newtype TCPPQuery =
126128
TBannedTypesPackageQuery(BannedTypesQuery q) or
127129
TClassesPackageQuery(ClassesQuery q) or
128130
TClasses2PackageQuery(Classes2Query q) or
131+
TClasses3PackageQuery(Classes3Query q) or
129132
TClasses4PackageQuery(Classes4Query q) or
130133
TCommentsPackageQuery(CommentsQuery q) or
131134
TConcurrencyPackageQuery(ConcurrencyQuery q) or
@@ -190,6 +193,7 @@ newtype TCPPQuery =
190193
TOutOfBoundsPackageQuery(OutOfBoundsQuery q) or
191194
TPointersPackageQuery(PointersQuery q) or
192195
TPreconditions1PackageQuery(Preconditions1Query q) or
196+
TPreconditions2PackageQuery(Preconditions2Query q) or
193197
TPreconditions3PackageQuery(Preconditions3Query q) or
194198
TPreconditions4PackageQuery(Preconditions4Query q) or
195199
TPreconditions5PackageQuery(Preconditions5Query q) or
@@ -234,6 +238,7 @@ predicate isQueryMetadata(Query query, string queryId, string ruleId, string cat
234238
isBannedTypesQueryMetadata(query, queryId, ruleId, category) or
235239
isClassesQueryMetadata(query, queryId, ruleId, category) or
236240
isClasses2QueryMetadata(query, queryId, ruleId, category) or
241+
isClasses3QueryMetadata(query, queryId, ruleId, category) or
237242
isClasses4QueryMetadata(query, queryId, ruleId, category) or
238243
isCommentsQueryMetadata(query, queryId, ruleId, category) or
239244
isConcurrencyQueryMetadata(query, queryId, ruleId, category) or
@@ -298,6 +303,7 @@ predicate isQueryMetadata(Query query, string queryId, string ruleId, string cat
298303
isOutOfBoundsQueryMetadata(query, queryId, ruleId, category) or
299304
isPointersQueryMetadata(query, queryId, ruleId, category) or
300305
isPreconditions1QueryMetadata(query, queryId, ruleId, category) or
306+
isPreconditions2QueryMetadata(query, queryId, ruleId, category) or
301307
isPreconditions3QueryMetadata(query, queryId, ruleId, category) or
302308
isPreconditions4QueryMetadata(query, queryId, ruleId, category) or
303309
isPreconditions5QueryMetadata(query, queryId, ruleId, category) or
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* @id cpp/misra/improperly-provided-special-member-functions
3+
* @name RULE-15-0-1: Special member functions shall be provided appropriately
4+
* @description Incorrect provision of special member functions can lead to unexpected or undefined
5+
* behavior when objects of the class are copied, moved, or destroyed.
6+
* @kind problem
7+
* @precision medium
8+
* @problem.severity warning
9+
* @tags external/misra/id/rule-15-0-1
10+
* scope/single-translation-unit
11+
* correctness
12+
* maintainability
13+
* external/misra/enforcement/decidable
14+
* external/misra/obligation/required
15+
*/
16+
17+
import cpp
18+
import codingstandards.cpp.misra
19+
20+
from
21+
where
22+
not isExcluded(x, Classes3Package::improperlyProvidedSpecialMemberFunctionsQuery()) and
23+
select
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
* @id cpp/misra/improperly-provided-special-member-functions-audit
3+
* @name RULE-15-0-1: Special member functions shall be provided appropriately, Audit
4+
* @description Audit: incorrect provision of special member functions can lead to unexpected or
5+
* undefined behavior when objects of the class are copied, moved, or destroyed.
6+
* @kind problem
7+
* @precision low
8+
* @problem.severity warning
9+
* @tags external/misra/id/rule-15-0-1
10+
* scope/single-translation-unit
11+
* correctness
12+
* audit
13+
* maintainability
14+
* external/misra/enforcement/decidable
15+
* external/misra/obligation/required
16+
*/
17+
18+
import cpp
19+
import codingstandards.cpp.misra
20+
21+
from
22+
where
23+
not isExcluded(x, Classes3Package::improperlyProvidedSpecialMemberFunctionsAuditQuery()) and
24+
select
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
No expected results have yet been specified
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rules/RULE-15-0-1/ImproperlyProvidedSpecialMemberFunctions.ql
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
No expected results have yet been specified
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rules/RULE-15-0-1/ImproperlyProvidedSpecialMemberFunctionsAudit.ql

0 commit comments

Comments
 (0)