Skip to content
This repository was archived by the owner on Oct 23, 2025. It is now read-only.

Commit 80cb0bd

Browse files
Keynan Prattnpxcomplete
authored andcommitted
I had a PR blocked on a coverage limit and decided the coverage report needed improving. First, all generated classes should be excluded from the report. Second, the block is applied to branch based coverage. Line based coverage shall no longer block changes. Why? A simple example: In a nested function call 'foo(bar(5))' if code is refactored to 'int x = bar(5); foo(x);' We've altered the line count and therefore the coverage ratio without any change to the code complexity or even to the AST. Branch coverage by contrast is a much closer approximation of 'has this code changed in complexity or behavior'. Thirdly, the scope of coverage is changed from PACKAGE to BUNDLE. PACKAGE makes sense for some libraries that limit interaction between package scopes. Since this repository contains deployable units (ie. lambda functions equivalent to executables) we choose to evaluate the coverage in totality. Why? A simple example is if some method is extracted across package boundaries the safety and correctness of the bundle hasn't changed but the coverage may throw a hissy fit. Overall these changes will produce a higher value signal when coverage checks do fail.
1 parent dc9c9d0 commit 80cb0bd

File tree

13 files changed

+285
-81
lines changed

13 files changed

+285
-81
lines changed

aws-rds-cfn-common/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@
221221
<configuration>
222222
<rules>
223223
<rule>
224-
<element>PACKAGE</element>
224+
<element>BUNDLE</element>
225225
<limits>
226226
<limit>
227227
<counter>BRANCH</counter>
@@ -231,7 +231,7 @@
231231
<limit>
232232
<counter>INSTRUCTION</counter>
233233
<value>COVEREDRATIO</value>
234-
<minimum>0.8</minimum>
234+
<minimum>0.0</minimum>
235235
</limit>
236236
</limits>
237237
</rule>

aws-rds-cfn-test-common/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@
167167
<configuration>
168168
<rules>
169169
<rule>
170-
<element>PACKAGE</element>
170+
<element>BUNDLE</element>
171171
<limits>
172172
<limit>
173173
<counter>BRANCH</counter>
@@ -177,7 +177,7 @@
177177
<limit>
178178
<counter>INSTRUCTION</counter>
179179
<value>COVEREDRATIO</value>
180-
<minimum>0.8</minimum>
180+
<minimum>0.0</minimum>
181181
</limit>
182182
</limits>
183183
</rule>

aws-rds-customdbengineversion/pom.xml

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,27 @@
168168
<version>0.8.8</version>
169169
<configuration>
170170
<excludes>
171-
<exclude>**/BaseConfiguration*</exclude>
172-
<exclude>**/BaseHandler*</exclude>
173-
<exclude>**/HandlerWrapper*</exclude>
174-
<exclude>**/ResourceModel*</exclude>
171+
<!-- Generated classes -->
172+
<exclude>**/software/amazon/rds/customdbengineversion/BaseConfiguration.class</exclude>
173+
<exclude>**/software/amazon/rds/customdbengineversion/BaseHandler.class</exclude>
174+
<exclude>**/software/amazon/rds/customdbengineversion/BaseHandlerStd.class</exclude>
175+
<exclude>**/software/amazon/rds/customdbengineversion/CallbackContext.class</exclude>
176+
<exclude>**/software/amazon/rds/customdbengineversion/ClientProvider.class</exclude>
177+
<exclude>**/software/amazon/rds/customdbengineversion/Configuration.class</exclude>
178+
<exclude>**/software/amazon/rds/customdbengineversion/CreateHandler.class</exclude>
179+
<exclude>**/software/amazon/rds/customdbengineversion/CustomDBEngineVersionStatus.class</exclude>
180+
<exclude>**/software/amazon/rds/customdbengineversion/DeleteHandler.class</exclude>
181+
<exclude>**/software/amazon/rds/customdbengineversion/HandlerWrapper.class</exclude>
182+
<exclude>**/software/amazon/rds/customdbengineversion/HandlerWrapperExecutable.class</exclude>
183+
<exclude>**/software/amazon/rds/customdbengineversion/ListHandler.class</exclude>
184+
<exclude>**/software/amazon/rds/customdbengineversion/ReadHandler.class</exclude>
185+
<exclude>**/software/amazon/rds/customdbengineversion/ResourceModel.class</exclude>
186+
<exclude>**/software/amazon/rds/customdbengineversion/StatusOption.class</exclude>
187+
<exclude>**/software/amazon/rds/customdbengineversion/Tag.class</exclude>
188+
<exclude>**/software/amazon/rds/customdbengineversion/Translator.class</exclude>
189+
<exclude>**/software/amazon/rds/customdbengineversion/TypeConfigurationModel.class</exclude>
190+
<exclude>**/software/amazon/rds/customdbengineversion/UpdateHandler.class</exclude>
191+
175192
</excludes>
176193
</configuration>
177194
<executions>
@@ -195,7 +212,7 @@
195212
<configuration>
196213
<rules>
197214
<rule>
198-
<element>PACKAGE</element>
215+
<element>BUNDLE</element>
199216
<limits>
200217
<limit>
201218
<counter>BRANCH</counter>
@@ -205,7 +222,7 @@
205222
<limit>
206223
<counter>INSTRUCTION</counter>
207224
<value>COVEREDRATIO</value>
208-
<minimum>0.8</minimum>
225+
<minimum>0.0</minimum>
209226
</limit>
210227
</limits>
211228
</rule>

aws-rds-dbcluster/pom.xml

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<project
3-
xmlns="http://maven.apache.org/POM/4.0.0"
4-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
xmlns="http://maven.apache.org/POM/4.0.0"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
66
<modelVersion>4.0.0</modelVersion>
77

88
<groupId>software.amazon.rds.dbcluster</groupId>
@@ -181,11 +181,36 @@
181181
<version>0.8.8</version>
182182
<configuration>
183183
<excludes>
184-
<exclude>**/BaseConfiguration*</exclude>
185-
<exclude>**/BaseHandler*</exclude>
186-
<exclude>**/HandlerWrapper*</exclude>
187-
<exclude>**/ResourceModel*</exclude>
188-
<exclude>**/ModelAdapter*</exclude>
184+
<!-- Generated classes -->
185+
<exclude>**/software/amazon/rds/dbcluster/BaseConfiguration.class</exclude>
186+
<exclude>**/software/amazon/rds/dbcluster/BaseHandler.class</exclude>
187+
<exclude>**/software/amazon/rds/dbcluster/BaseHandlerStd.class</exclude>
188+
<exclude>**/software/amazon/rds/dbcluster/CallbackContext.class</exclude>
189+
<exclude>**/software/amazon/rds/dbcluster/Configuration.class</exclude>
190+
<exclude>**/software/amazon/rds/dbcluster/CreateHandler.class</exclude>
191+
<exclude>**/software/amazon/rds/dbcluster/DBClusterRole.class</exclude>
192+
<exclude>**/software/amazon/rds/dbcluster/DBClusterStatus.class</exclude>
193+
<exclude>**/software/amazon/rds/dbcluster/DeleteHandler.class</exclude>
194+
<exclude>**/software/amazon/rds/dbcluster/Ec2ClientProvider.class</exclude>
195+
<exclude>**/software/amazon/rds/dbcluster/Endpoint.class</exclude>
196+
<exclude>**/software/amazon/rds/dbcluster/EngineMode.class</exclude>
197+
<exclude>**/software/amazon/rds/dbcluster/HandlerWrapper.class</exclude>
198+
<exclude>**/software/amazon/rds/dbcluster/HandlerWrapperExecutable.class</exclude>
199+
<exclude>**/software/amazon/rds/dbcluster/ListHandler.class</exclude>
200+
<exclude>**/software/amazon/rds/dbcluster/MasterUserSecret.class</exclude>
201+
<exclude>**/software/amazon/rds/dbcluster/ModelAdapter.class</exclude>
202+
<exclude>**/software/amazon/rds/dbcluster/RdsClientProvider.class</exclude>
203+
<exclude>**/software/amazon/rds/dbcluster/ReadEndpoint.class</exclude>
204+
<exclude>**/software/amazon/rds/dbcluster/ReadHandler.class</exclude>
205+
<exclude>**/software/amazon/rds/dbcluster/ResourceModel.class</exclude>
206+
<exclude>**/software/amazon/rds/dbcluster/ScalingConfiguration.class</exclude>
207+
<exclude>**/software/amazon/rds/dbcluster/ServerlessV2ScalingConfiguration.class</exclude>
208+
<exclude>**/software/amazon/rds/dbcluster/Tag.class</exclude>
209+
<exclude>**/software/amazon/rds/dbcluster/Translator.class</exclude>
210+
<exclude>**/software/amazon/rds/dbcluster/TypeConfigurationModel.class</exclude>
211+
<exclude>**/software/amazon/rds/dbcluster/UpdateHandler.class</exclude>
212+
213+
<exclude>**/software/amazon/rds/dbcluster/util/ImmutabilityHelper.class</exclude>
189214
</excludes>
190215
</configuration>
191216
<executions>
@@ -209,7 +234,7 @@
209234
<configuration>
210235
<rules>
211236
<rule>
212-
<element>PACKAGE</element>
237+
<element>BUNDLE</element>
213238
<limits>
214239
<limit>
215240
<counter>BRANCH</counter>
@@ -219,7 +244,7 @@
219244
<limit>
220245
<counter>INSTRUCTION</counter>
221246
<value>COVEREDRATIO</value>
222-
<minimum>0.8</minimum>
247+
<minimum>0.0</minimum>
223248
</limit>
224249
</limits>
225250
</rule>

aws-rds-dbclusterendpoint/pom.xml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,24 @@
176176
<version>0.8.8</version>
177177
<configuration>
178178
<excludes>
179-
<exclude>**/BaseConfiguration*</exclude>
180-
<exclude>**/BaseHandler*</exclude>
181-
<exclude>**/HandlerWrapper*</exclude>
182-
<exclude>**/ResourceModel*</exclude>
183-
<exclude>**/ModelAdapter*</exclude>
179+
<!-- Generated classes -->
180+
<exclude>**/software/amazon/rds/dbclusterendpoint/BaseConfiguration.class</exclude>
181+
<exclude>**/software/amazon/rds/dbclusterendpoint/BaseHandler.class</exclude>
182+
<exclude>**/software/amazon/rds/dbclusterendpoint/BaseHandlerStd.class</exclude>
183+
<exclude>**/software/amazon/rds/dbclusterendpoint/CallbackContext.class</exclude>
184+
<exclude>**/software/amazon/rds/dbclusterendpoint/ClientProvider.class</exclude>
185+
<exclude>**/software/amazon/rds/dbclusterendpoint/Configuration.class</exclude>
186+
<exclude>**/software/amazon/rds/dbclusterendpoint/CreateHandler.class</exclude>
187+
<exclude>**/software/amazon/rds/dbclusterendpoint/DeleteHandler.class</exclude>
188+
<exclude>**/software/amazon/rds/dbclusterendpoint/HandlerWrapper.class</exclude>
189+
<exclude>**/software/amazon/rds/dbclusterendpoint/HandlerWrapperExecutable.class</exclude>
190+
<exclude>**/software/amazon/rds/dbclusterendpoint/ListHandler.class</exclude>
191+
<exclude>**/software/amazon/rds/dbclusterendpoint/ReadHandler.class</exclude>
192+
<exclude>**/software/amazon/rds/dbclusterendpoint/ResourceModel.class</exclude>
193+
<exclude>**/software/amazon/rds/dbclusterendpoint/Tag.class</exclude>
194+
<exclude>**/software/amazon/rds/dbclusterendpoint/Translator.class</exclude>
195+
<exclude>**/software/amazon/rds/dbclusterendpoint/TypeConfigurationModel.class</exclude>
196+
<exclude>**/software/amazon/rds/dbclusterendpoint/UpdateHandler.class</exclude>
184197
</excludes>
185198
</configuration>
186199
<executions>
@@ -204,7 +217,7 @@
204217
<configuration>
205218
<rules>
206219
<rule>
207-
<element>PACKAGE</element>
220+
<element>BUNDLE</element>
208221
<limits>
209222
<limit>
210223
<counter>BRANCH</counter>
@@ -214,7 +227,7 @@
214227
<limit>
215228
<counter>INSTRUCTION</counter>
216229
<value>COVEREDRATIO</value>
217-
<minimum>0.8</minimum>
230+
<minimum>0.0</minimum>
218231
</limit>
219232
</limits>
220233
</rule>

aws-rds-dbclusterparametergroup/pom.xml

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,25 @@
176176
<version>0.8.8</version>
177177
<configuration>
178178
<excludes>
179-
<exclude>**/BaseConfiguration*</exclude>
180-
<exclude>**/BaseHandler*</exclude>
181-
<exclude>**/HandlerWrapper*</exclude>
182-
<exclude>**/ResourceModel*</exclude>
183-
<exclude>**/Configuration*</exclude>
179+
<!-- Generated classes -->
180+
<exclude>**/software/amazon/rds/dbclusterparametergroup/BaseConfiguration.class</exclude>
181+
<exclude>**/software/amazon/rds/dbclusterparametergroup/BaseHandler.class</exclude>
182+
<exclude>**/software/amazon/rds/dbclusterparametergroup/BaseHandlerStd.class</exclude>
183+
<exclude>**/software/amazon/rds/dbclusterparametergroup/CallbackContext.class</exclude>
184+
<exclude>**/software/amazon/rds/dbclusterparametergroup/ClientProvider.class</exclude>
185+
<exclude>**/software/amazon/rds/dbclusterparametergroup/Configuration.class</exclude>
186+
<exclude>**/software/amazon/rds/dbclusterparametergroup/CreateHandler.class</exclude>
187+
<exclude>**/software/amazon/rds/dbclusterparametergroup/DeleteHandler.class</exclude>
188+
<exclude>**/software/amazon/rds/dbclusterparametergroup/HandlerWrapper.class</exclude>
189+
<exclude>**/software/amazon/rds/dbclusterparametergroup/HandlerWrapperExecutable.class</exclude>
190+
<exclude>**/software/amazon/rds/dbclusterparametergroup/ListHandler.class</exclude>
191+
<exclude>**/software/amazon/rds/dbclusterparametergroup/ParameterType.class</exclude>
192+
<exclude>**/software/amazon/rds/dbclusterparametergroup/ReadHandler.class</exclude>
193+
<exclude>**/software/amazon/rds/dbclusterparametergroup/ResourceModel.class</exclude>
194+
<exclude>**/software/amazon/rds/dbclusterparametergroup/Tag.class</exclude>
195+
<exclude>**/software/amazon/rds/dbclusterparametergroup/Translator.class</exclude>
196+
<exclude>**/software/amazon/rds/dbclusterparametergroup/TypeConfigurationModel.class</exclude>
197+
<exclude>**/software/amazon/rds/dbclusterparametergroup/UpdateHandler.class</exclude>
184198
</excludes>
185199
</configuration>
186200
<executions>
@@ -204,7 +218,7 @@
204218
<configuration>
205219
<rules>
206220
<rule>
207-
<element>PACKAGE</element>
221+
<element>BUNDLE</element>
208222
<limits>
209223
<limit>
210224
<counter>BRANCH</counter>
@@ -214,7 +228,7 @@
214228
<limit>
215229
<counter>INSTRUCTION</counter>
216230
<value>COVEREDRATIO</value>
217-
<minimum>0.8</minimum>
231+
<minimum>0.0</minimum>
218232
</limit>
219233
</limits>
220234
</rule>

0 commit comments

Comments
 (0)