Skip to content

Commit ed8c98a

Browse files
dfa1claude
andcommitted
build(core): add pitest profile targeting IoBounds
Extend the mutation-testing pilot to core, the home of the IoBounds bounds primitive (ADR 0003 Phase E) that the reader file-structure guards delegate to. IoBounds scores 15/15 mutations killed, test strength 100% — the existing IoBoundsTest already pins every boundary of checkRange/toIntSize/checkCount, and the primitive carries no redundant clause to begin with. Profile only; no test changes needed. Run: ./mvnw -pl core -P pitest verify Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 3632828 commit ed8c98a

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

core/pom.xml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,51 @@
176176
</plugins>
177177
</build>
178178
</profile>
179+
180+
<!-- Mutation testing for the bounds primitive (ADR 0003 Phase E). Opt-in only:
181+
./mvnw -pl core -P pitest verify
182+
Report: core/target/pit-reports/. -->
183+
<profile>
184+
<id>pitest</id>
185+
<build>
186+
<plugins>
187+
<plugin>
188+
<groupId>org.pitest</groupId>
189+
<artifactId>pitest-maven</artifactId>
190+
<version>1.20.0</version>
191+
<dependencies>
192+
<dependency>
193+
<groupId>org.pitest</groupId>
194+
<artifactId>pitest-junit5-plugin</artifactId>
195+
<version>1.2.3</version>
196+
</dependency>
197+
</dependencies>
198+
<executions>
199+
<execution>
200+
<id>pit-report</id>
201+
<phase>verify</phase>
202+
<goals>
203+
<goal>mutationCoverage</goal>
204+
</goals>
205+
</execution>
206+
</executions>
207+
<configuration>
208+
<targetClasses>
209+
<param>io.github.dfa1.vortex.core.IoBounds</param>
210+
</targetClasses>
211+
<targetTests>
212+
<param>io.github.dfa1.vortex.core.*</param>
213+
</targetTests>
214+
<outputFormats>
215+
<param>HTML</param>
216+
<param>XML</param>
217+
</outputFormats>
218+
<timestampedReports>false</timestampedReports>
219+
</configuration>
220+
</plugin>
221+
</plugins>
222+
</build>
223+
</profile>
179224
</profiles>
180225

181226
</project>

0 commit comments

Comments
 (0)