diff --git a/platform/execution-impl/src/com/intellij/execution/actions/RunContextAction.java b/platform/execution-impl/src/com/intellij/execution/actions/RunContextAction.java index d09441b15024..ca85a06476b3 100644 --- a/platform/execution-impl/src/com/intellij/execution/actions/RunContextAction.java +++ b/platform/execution-impl/src/com/intellij/execution/actions/RunContextAction.java @@ -12,6 +12,7 @@ import com.intellij.execution.runners.ExecutionUtil; import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.ui.RunConfigurationStartHistory; import com.intellij.icons.AllIcons; +import com.intellij.idea.AppMode; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DataContext; @@ -73,7 +74,11 @@ public class RunContextAction extends BaseRunConfigurationAction { String configurationClass = configuration.getConfiguration().getClass().getName(); LOG.debug(String.format("Execute run configuration: %s", configurationClass)); } - if (ApplicationManager.getApplication().isUnitTestMode()) { + + // Unfortunately, some unit tests try to invoke this action and fail. + // Meanwhile, some dev-build–based integration tests need to invoke it. + // As a workaround, allow the action to run in dev-build tests. + if (ApplicationManager.getApplication().isUnitTestMode() && !AppMode.isRunningFromDevBuild()) { return; } ExecutionUtil.doRunConfiguration(configuration, myExecutor, null, null, dataContext);