feat: PIT report added

This commit is contained in:
2026-04-14 02:01:30 +02:00
parent f183ee96e2
commit 3c3f3b4312
2 changed files with 28 additions and 1 deletions

View File

@@ -37,7 +37,7 @@ jobs:
uses: gradle/actions/setup-gradle@v4 uses: gradle/actions/setup-gradle@v4
- name: Build reports for publication - name: Build reports for publication
run: ./gradlew --no-daemon clean build pmdMain javadoc jacocoTestReport run: ./gradlew --no-daemon clean build pmdMain javadoc jacocoTestReport pitest
- name: Prepare gh-pages worktree - name: Prepare gh-pages worktree
shell: bash shell: bash
@@ -80,6 +80,9 @@ jobs:
cp -R build/reports/jacoco/test/html "${RUN_DIR}/coverage" cp -R build/reports/jacoco/test/html "${RUN_DIR}/coverage"
cp -R build/reports/jacoco/test/html "${LATEST_DIR}/coverage" cp -R build/reports/jacoco/test/html "${LATEST_DIR}/coverage"
cp -R build/reports/pitest "${RUN_DIR}/pitest"
cp -R build/reports/pitest "${LATEST_DIR}/pitest"
if [ -d "build/reports/jmh" ]; then if [ -d "build/reports/jmh" ]; then
cp -R build/reports/jmh "${RUN_DIR}/jmh" cp -R build/reports/jmh "${RUN_DIR}/jmh"
cp -R build/reports/jmh "${LATEST_DIR}/jmh" cp -R build/reports/jmh "${LATEST_DIR}/jmh"
@@ -111,6 +114,7 @@ jobs:
<li><a href="./test/">Test Report</a></li> <li><a href="./test/">Test Report</a></li>
<li><a href="./pmd/main.html">PMD Report</a></li> <li><a href="./pmd/main.html">PMD Report</a></li>
<li><a href="./coverage/">Coverage Report</a></li> <li><a href="./coverage/">Coverage Report</a></li>
<li><a href="./pitest/">Mutation Testing Report</a></li>
$( [ "${HAS_JMH}" = "true" ] && echo '<li><a href="./jmh/">Benchmark Report</a></li>' || echo '<li>Benchmark Report: not available in this build</li>' ) $( [ "${HAS_JMH}" = "true" ] && echo '<li><a href="./jmh/">Benchmark Report</a></li>' || echo '<li>Benchmark Report: not available in this build</li>' )
</ul> </ul>
<p><a href="../latest/">Open latest report set</a></p> <p><a href="../latest/">Open latest report set</a></p>
@@ -153,6 +157,7 @@ jobs:
<li><a href="./builds/latest/test/">Test Report</a></li> <li><a href="./builds/latest/test/">Test Report</a></li>
<li><a href="./builds/latest/pmd/main.html">PMD Report</a></li> <li><a href="./builds/latest/pmd/main.html">PMD Report</a></li>
<li><a href="./builds/latest/coverage/">Coverage Report</a></li> <li><a href="./builds/latest/coverage/">Coverage Report</a></li>
<li><a href="./builds/latest/pitest/">Mutation Testing Report</a></li>
EOF EOF
if [ "${HAS_JMH}" = "true" ]; then if [ "${HAS_JMH}" = "true" ]; then

View File

@@ -3,6 +3,7 @@ plugins {
id 'application' id 'application'
id 'pmd' id 'pmd'
id 'jacoco' id 'jacoco'
id 'info.solidsoft.pitest' version '1.19.0'
id 'com.palantir.git-version' version '4.0.0' id 'com.palantir.git-version' version '4.0.0'
} }
@@ -78,6 +79,27 @@ tasks.named('check') {
dependsOn(tasks.named('jacocoTestReport')) dependsOn(tasks.named('jacocoTestReport'))
} }
pitest {
pitestVersion = '1.22.1'
junit5PluginVersion = '1.2.3'
targetClasses = [
'org.egothor.stemmer.*',
'org.egothor.stemmer.trie.*'
]
targetTests = [
'org.egothor.stemmer.*Test',
'org.egothor.stemmer.trie.*Test'
]
excludedClasses = ['org.egothor.stemmer.Compile']
outputFormats = ['XML', 'HTML']
timestampedReports = false
exportLineCoverage = true
failWhenNoMutations = true
threads = Math.max(1, Runtime.runtime.availableProcessors().intdiv(2))
}
application { application {
mainClass = 'org.egothor.stemmer.Compile' mainClass = 'org.egothor.stemmer.Compile'
} }