use of com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration in project Perl5-IDEA by Camelcade.
the class PerlPlatformTestCase method createOnlyRunConfiguration.
@NotNull
protected GenericPerlRunConfiguration createOnlyRunConfiguration(@NotNull String relativePath) {
List<ConfigurationFromContext> configurationsFromContext = getRunConfigurationsFromFileContext(relativePath);
assertSize(1, configurationsFromContext);
ConfigurationFromContext configurationFromContext = configurationsFromContext.get(0);
RunConfiguration runConfiguration = configurationFromContext.getConfiguration();
assertInstanceOf(runConfiguration, GenericPerlRunConfiguration.class);
return (GenericPerlRunConfiguration) runConfiguration;
}
use of com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration in project Perl5-IDEA by Camelcade.
the class PerlProfilerRunProfileState method getAdditionalEnvironmentVariables.
@Override
public Map<String, String> getAdditionalEnvironmentVariables() throws ExecutionException {
Sdk effectiveSdk = ((GenericPerlRunConfiguration) getEnvironment().getRunProfile()).getEffectiveSdk();
PerlHostData<?, ?> hostData = PerlHostData.notNullFrom(effectiveSdk);
var dumpLocalPath = getDumpFile().getAbsolutePath();
var remotePath = hostData.getRemotePath(dumpLocalPath);
if (StringUtil.isEmpty(remotePath)) {
throw new ExecutionException("Unable to compute remote path for: " + dumpLocalPath);
}
var nytProfOptions = "stmts=0:calls=2:savesrc=0:slowops=1:sigexit=1:addpid=1" + ":file=" + StringUtil.escapeChar(FileUtil.toSystemIndependentName(remotePath), ':') + ":start=" + myProfilerConfigurationState.getStartupMode().getProfilerCommand();
if (myProfilerConfigurationState.isOptimizerDisabled()) {
nytProfOptions += ":optimize=0";
}
return Map.of("NYTPROF", nytProfOptions);
}
use of com.perl5.lang.perl.idea.run.GenericPerlRunConfiguration in project Perl5-IDEA by Camelcade.
the class PerlCoverageProgramRunner method execute.
@Override
public void execute(@NotNull ExecutionEnvironment environment) throws ExecutionException {
ExecutionManager.getInstance(environment.getProject()).startRunProfile(environment, state -> {
GenericPerlRunConfiguration runConfiguration = (GenericPerlRunConfiguration) environment.getRunProfile();
RunContentDescriptor descriptor = DefaultProgramRunnerKt.executeState(state, environment, this);
if (descriptor == null) {
return null;
}
ProcessHandler processHandler = descriptor.getProcessHandler();
if (processHandler != null) {
CoverageDataManager.getInstance(runConfiguration.getProject()).attachToProcess(processHandler, runConfiguration, environment.getRunnerSettings());
}
return descriptor;
});
}
Aggregations