protected void createAndRun(SettingsFactory settings) {
final JavaAgent agent = new JarCreatingJarFinder();
try {
final CoverageOptions coverageOptions = createCoverageOptions(settings.createCoverageOptions().getPitConfig());
final LaunchOptions launchOptions = new LaunchOptions(agent,
new DefaultJavaExecutableLocator(), this.data.getJvmArgs(),
new HashMap<String, String>());
final PathFilter pf = new PathFilter(p -> true, p -> true);
final ProjectClassPaths cps = new ProjectClassPaths(
this.data.getClassPath(), this.data.createClassesFilter(), pf);
final Timings timings = new Timings();
final CodeSource code = new CodeSource(cps);
final CoverageGenerator coverageDatabase = new DefaultCoverageGenerator(
null, coverageOptions, launchOptions, code,
new NullCoverageExporter(), timings, false);
final HistoryStore history = new NullHistoryStore();
final MutationStrategies strategies = new MutationStrategies(
new GregorEngineFactory(), history, coverageDatabase,
listenerFactory(), null);
final MutationCoverage testee = new MutationCoverage(strategies, null,
code, this.data, new SettingsFactory(this.data, this.plugins),
timings);
testee.runReport();
} catch (final IOException e) {
throw Unchecked.translateCheckedException(e);
} finally {
agent.close();
}
}