Issue #3316: use pitest tool testing of checks package in shippable CI

This commit is contained in:
Oleg Efremenkov 2017-01-09 23:01:36 +03:00 committed by Roman Ivanov
parent bcd5297cea
commit fde083d175
2 changed files with 318 additions and 6 deletions

302
pom.xml
View File

@ -208,6 +208,10 @@
<java.version>1.8</java.version>
<tools.jar.version>${java.version}.0</tools.jar.version>
<tools.jar.path>${java.home}/../lib/tools.jar</tools.jar.path>
<pitest.plugin.version>1.1.11</pitest.plugin.version>
<pitest.plugin.timeout.factor>10</pitest.plugin.timeout.factor>
<pitest.plugin.timeout.constant>50000</pitest.plugin.timeout.constant>
<pitest.plugin.threads>4</pitest.plugin.threads>
</properties>
<!-- that repositories are required for testing plugin's snapshot version -->
@ -1466,6 +1470,270 @@
</build>
</profile>
<profile>
<id>pitest-checks-blocks</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.blocks.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.blocks.*</param>
</targetTests>
<mutationThreshold>97</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-coding</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.coding.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.coding.*</param>
</targetTests>
<mutationThreshold>93</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-design</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.design.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.design.*</param>
</targetTests>
<mutationThreshold>98</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-header</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.header.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.header.*</param>
</targetTests>
<mutationThreshold>78</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-imports</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.imports.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.imports.*</param>
</targetTests>
<mutationThreshold>94</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-indentation</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.indentation.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.indentation.*</param>
</targetTests>
<mutationThreshold>94</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-javadoc</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.javadoc.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.javadoc.*</param>
</targetTests>
<mutationThreshold>95</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-metrics</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.metrics.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.metrics.*</param>
</targetTests>
<mutationThreshold>83</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-modifier</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.modifier.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.modifier.*</param>
</targetTests>
<mutationThreshold>100</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-naming</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.naming.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.naming.*</param>
</targetTests>
<mutationThreshold>98</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-regexp</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.regexp.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.regexp.*</param>
</targetTests>
<mutationThreshold>93</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-sizes</id>
<build>
@ -1473,7 +1741,7 @@
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.1.11</version>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.sizes.*</param>
@ -1481,10 +1749,34 @@
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.sizes.*</param>
</targetTests>
<mutationThreshold>88</mutationThreshold>
<timeoutFactor>10</timeoutFactor>
<timeoutConstant>50000</timeoutConstant>
<threads>4</threads>
<mutationThreshold>94</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pitest-checks-whitespace</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest.plugin.version}</version>
<configuration>
<targetClasses>
<param>com.puppycrawl.tools.checkstyle.checks.whitespace.*</param>
</targetClasses>
<targetTests>
<param>com.puppycrawl.tools.checkstyle.checks.whitespace.*</param>
</targetTests>
<mutationThreshold>96</mutationThreshold>
<timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
<timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
<threads>${pitest.plugin.threads}</threads>
</configuration>
</plugin>
</plugins>

View File

@ -4,10 +4,30 @@ language: java
jdk:
- oraclejdk8
env:
matrix:
- PITEST_CMD="-Ppitest-checks-blocks org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-coding org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-design org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-header org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-imports org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-indentation org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-javadoc org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-metrics org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-modifier org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-naming org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-regexp org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-sizes org.pitest:pitest-maven:mutationCoverage"
- PITEST_CMD="-Ppitest-checks-whitespace org.pitest:pitest-maven:mutationCoverage"
build:
cache: true
cache_dir_list:
- /root/.m2
ci:
- mvn clean verify -Ppitest-checks-sizes org.pitest:pitest-maven:mutationCoverage
- >-
if [ $(git log -1 | grep -E "Issue \#[0-9]+\:" | cat | wc -l) -gt 0 ];
then
mvn clean verify $PITEST_CMD;
fi