in src/main/kotlin/com/pestphp/pest/coverage/PestCoverageProgramRunner.kt [52:77]
fun createPestCoverageCommand(
runConfiguration: PestRunConfiguration,
interpreter: PhpInterpreter,
coverageArguments: List<String>,
localCoverage: String,
targetCoverage: String
): PhpCommandSettings {
val command = PhpCommandSettingsBuilder(runConfiguration.project, interpreter)
.loadDebugExtension().build().apply {
runConfiguration.applyTestArguments(this, coverageArguments)
}
val options = when (runConfiguration.pestSettings.pestRunnerSettings.coverageEngine) {
CoverageEngine.XDEBUG -> XdebugConfigurationOptionsManager
.getConfigurationOptionsProvider(runConfiguration.project, interpreter)
.enableCoverage()
.createXdebugConfigurations()
CoverageEngine.PCOV -> listOf(PhpConfigurationOption("pcov.enabled", 1))
else -> throw IllegalArgumentException("Unsupported coverage engine.")
}
command.addConfigurationOptions(options)
addParallelArguments(runConfiguration, command)
setAdditionalMapping(localCoverage, targetCoverage, command)
return command
}