-
Notifications
You must be signed in to change notification settings - Fork 0
/
Coverage.json
229 lines (229 loc) · 10.7 KB
/
Coverage.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
{
"Filter": "^*\\\\Test\\\\*",
"OutputDirectory": "./Coverage/Temporary/",
"MergedProfileDataFilename": "Emergence.profdata",
"FullSourceCoverageFileName": "SourceCoverage.txt",
"TextualReportFileName": "Report.txt",
"JsonReportFileName": "Report.json",
"MinimumLinesCoveragePerFilePercent": 75.0,
"Rules": [
{
"Prefix": "./Dependency/",
"Action": "Exclude",
"Reason": "There is no sense to scan dependency coverage."
},
{
"Prefix": "./Unit/AssertSDL3/",
"Action": "Exclude",
"Reason": "Assert should not be triggered during tests, therefore its coverage will be zero."
},
{
"Prefix": "./Unit/Celerity/Public/Celerity/Pipeline.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 24.0,
"Reason": "Uncovered code is used only for logging human readable errors. Might be fixed later by adding negative tests."
},
{
"Prefix": "./Unit/Celerity/Public/Celerity/PipelineBuilder.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 74.0,
"Reason": "Coverage requirement is met when GPU-dependant tests are executed too. But we cannot execute them on CI."
},
{
"Prefix": "./Unit/Celerity/Public/Celerity/Query",
"Action": "Exclude",
"Reason": "Currently these queries just wrap Warehouse queries, therefore there is no need to cover them fully."
},
{
"Prefix": "./Unit/CelerityAssetLogic/Celerity/Asset/ManualAssetConstructor.cpp",
"Action": "Exclude",
"Reason": "Manual asset constructor logic is covered only by GPU dependant tests, therefore there is no coverage on CI."
},
{
"Prefix": "./Unit/CelerityInputModel/Celerity/Input/InputAction.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 70.0,
"Reason": "Input action equality logic is covered by GPU dependant tests, therefore coverage on CI is low."
},
{
"Prefix": "./Unit/Container/Container/BoostExceptionMock.hpp",
"Action": "Exclude",
"Reason": "We expect our tests to never throw exceptions, therefore exception mock is uncovered."
},
{
"Prefix": "./Unit/Container/Container/Any.cpp",
"Action": "Exclude",
"Reason": "This is an experimental helper for CelerityNexus and therefore isn't covered at all."
},
{
"Prefix": "./Unit/Container/Container/MappingRegistry.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 60.0,
"Reason": "For now, only simple returns are uncovered (file is very small), therefore it is ok to lower coverage requirement."
},
{
"Prefix": "./Unit/Galleon/Galleon/CargoDeck.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 40.0,
"Reason": "There were some of crucial experimental features for CelerityNexus that aren't covered by tests."
},
{
"Prefix": "./Unit/InputStorage/InputStorage/FrameInputAccumulator.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 50.0,
"Reason": "Frame input accumulator logic is covered by GPU dependant tests, therefore coverage on CI is low."
},
{
"Prefix": "./Unit/InputStorage/InputStorage/FrameInputAccumulator.hpp",
"Action": "Exclude",
"Reason": "Frame input accumulator logic is covered by GPU dependant tests, therefore coverage on CI is low."
},
{
"Prefix": "./Unit/Math/",
"Action": "Exclude",
"Reason": "Math classes and methods are not tested separately from other libraries. Should be changed later."
},
{
"Prefix": "./Unit/MemoryProfilerOriginal/Memory/Profiler/Original/EventManager.hpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 49.0,
"Reason": "Default destructor call isn't covered for some reason, perhaps because it has only one static instance."
},
{
"Prefix": "./Unit/MemoryRecording/Memory/Recording/StreamDeserializer.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 70.0,
"Reason": "Only generic assignment operator isn't really covered and it seems too verbose to cover it."
},
{
"Prefix": "./Unit/Pegasus/Private/Pegasus/RecordUtility.hpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 65.0,
"Reason": "It's impossible to fully cover `DoWithCorrectComparator` because of asserts and breaks that will be reached only if something really bad happens."
},
{
"Prefix": "./Unit/ResourceCooking/Resource/Cooking/Context.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 55.0,
"Reason": "Large part of this file is error logging and it isn't covered as we have no negative tests for now."
},
{
"Prefix": "./Unit/ResourceCooking/Resource/Cooking/Pass",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 50.0,
"Reason": "Currently we're only checking pass positive results and do not check error logging, therefore coverage is low. Might be changed later."
},
{
"Prefix": "./Unit/ResourceCooking/Resource/Cooking/ResourceList.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 55.0,
"Reason": "This class serves as a top-level utility wrapper around record collection and not all its features are needed in the code right now."
},
{
"Prefix": "./Unit/ResourceCooking/Resource/Cooking/Result",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 48.0,
"Reason": "Currently we're only checking positive results and do not check error logging, therefore coverage is low. Might be changed later."
},
{
"Prefix": "./Unit/ResourceObject/Resource/Object/LibraryLoader.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 60.0,
"Reason": "Huge part of library loader is error logging and it isn't covered as we have no negative tests for now."
},
{
"Prefix": "./Unit/ResourceObject/Resource/Object/TypeManifest.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 60.0,
"Reason": "Error logging is almost 40% of this file lines, therefore coverage cannot be achieved when class is used properly."
},
{
"Prefix": "./Unit/ResourceProviderOriginal/Resource/Provider/Original/ResourceProvider.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 65.0,
"Reason": "This class has a lots of error handling logic that isn't covered because we're aren't writing negative tests for now."
},
{
"Prefix": "./Unit/ResourceProviderOriginal/Resource/Provider/Original/ResourceProvider.hpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 70.0,
"Reason": "Defaulted cursor copy is not yet used anywhere, therefore coverage is lower than 75%."
},
{
"Prefix": "./Unit/Serialization/Serialization/Binary.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 69.0,
"Reason": "This file contains lots of error handling and trivial type specific logic that is difficult to cover fully."
},
{
"Prefix": "./Unit/Serialization/Serialization/Yaml.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 69.0,
"Reason": "This file contains lots of error handling and trivial type specific logic that is difficult to cover fully."
},
{
"Prefix": "./Unit/VirtualFileSystemHelpers/VirtualFileSystem/Helpers.hpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 20.0,
"Reason": "The bigger function is only used in visual tests and therefore is not being executed on CI."
},
{
"Prefix": "./Unit/VirtualFileSystemOriginal/VirtualFileSystem/MountConfiguration.cpp",
"Action": "Exclude",
"Reason": "This file contains only reflection registration that is not used inside tests and should be trivial enough to be uncovered."
},
{
"Prefix": "./Unit/VirtualFileSystemOriginal/VirtualFileSystem/Original/Core.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 70.0,
"Reason": "Core has lots of error handling logic that isn't fully covered by tests yet."
},
{
"Prefix": "./Unit/VirtualFileSystemOriginal/VirtualFileSystem/Original/VirtualFileBuffer.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 60.0,
"Reason": "This class has a lots of error handling logic that isn't covered because we're almost never writing negative tests for now."
},
{
"Prefix": "./Unit/VirtualFileSystemOriginal/VirtualFileSystem/PackageBuilder.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 65.0,
"Reason": "This class has a lots of error handling logic that isn't covered because we're almost never writing negative tests for now."
},
{
"Prefix": "./Unit/VirtualFileSystemOriginal/VirtualFileSystem/Reader.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 65.0,
"Reason": "This class has a lots of error handling logic that isn't covered because we're almost never writing negative tests for now."
},
{
"Prefix": "./Unit/VirtualFileSystemOriginal/VirtualFileSystem/Writer.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 50.0,
"Reason": "This class has a lots of error handling logic that isn't covered because we're almost never writing negative tests for now."
},
{
"Prefix": "./Test/Unit/Log/Driver/Log/Test/Main.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 70.0,
"Reason": "Error-logging code can not be covered if tests are not failing."
},
{
"Prefix": "./Test/Unit/Log/Shared/Log/Test/Shared.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 70.0,
"Reason": "Error-checking code can not be covered if tests are not failing."
},
{
"Prefix": "./Test/Unit/ResourceObject/Resource/Object/Test/Helpers.cpp",
"Action": "CustomMinimumCoverage",
"MinimumLinesCoveragePerFilePercent": 60.0,
"Reason": "Error logging is almost 40% of this file lines, therefore coverage cannot be achieved when tests are passing."
},
{
"Prefix": "./ThirdParty/",
"Action": "Exclude",
"Reason": "There is no sense to scan third party libraries coverage."
}
]
}