Skip to content

Commit

Permalink
Introduce mutation test script for changed code
Browse files Browse the repository at this point in the history
While there, optimize the existing `run-mutation-tests.sh` script.
  • Loading branch information
Stephan202 authored and rickie committed Aug 25, 2023
1 parent 1e80097 commit cebae8e
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 4 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,6 @@ Some pointers:
[error-prone-support-developing]: https://github.com/PicnicSupermarket/error-prone-support/tree/master#-developing-error-prone-support
[error-prone-support-full-build]: https://github.com/PicnicSupermarket/error-prone-support/blob/master/run-full-build.sh
[error-prone-support-issues]: https://github.com/PicnicSupermarket/error-prone-support/issues
[error-prone-support-mutation-tests]: https://github.com/PicnicSupermarket/error-prone-support/blob/master/run-mutation-tests.sh
[error-prone-support-mutation-tests]: https://github.com/PicnicSupermarket/error-prone-support/blob/master/run-branch-mutation-tests.sh
[error-prone-support-patch]: https://github.com/PicnicSupermarket/error-prone-support/blob/master/apply-error-prone-suggestions.sh
[error-prone-support-pulls]: https://github.com/PicnicSupermarket/error-prone-support/pulls
23 changes: 23 additions & 0 deletions run-branch-mutation-tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/env bash

# Executes Pitest to determine the mutation test coverage of changed code. By
# default code that is changed relative to the default branch is exercised,
# though another change set may be specified; see the Arcmutate Git integration
# documentation for details [1]. The results are found in each Maven module's
# `target/pit-reports` directory.
#
# [1] https://docs.arcmutate.com/docs/git-integration.html

set -e -u -o pipefail

if [ "${#}" -gt 1 ]; then
echo "Usage: ${0} [DiffSpec]"
exit 1
fi

diffSpec="${1:-+GIT(from[refs/remotes/origin/HEAD])}"

mvn clean test-compile pitest:mutationCoverage \
-DargLine.xmx=2048m \
-Dverification.skip \
-Dfeatures="${diffSpec}"
4 changes: 1 addition & 3 deletions run-mutation-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,7 @@ fi

targetTests="${1:-*}"

mvn clean test pitest:mutationCoverage \
mvn clean test-compile pitest:mutationCoverage \
-DargLine.xmx=2048m \
-Dverification.skip \
-Dsurefire.failIfNoSpecifiedTests=false \
-Dtest="${targetTests}" \
-DtargetTests="${targetTests}"

0 comments on commit cebae8e

Please sign in to comment.