Do not wrap analyze into write action priority in tests

In tests the code is executed in EDT and runInReadActionWithWriteActionPriority fails

See: MergingUpdateQueue.setPassThrough() and ExternalToolPassFactory() constructor
This commit is contained in:
Nikolay Krasko
2017-01-24 18:21:56 +03:00
committed by Dmitry Jemerov
parent 95061885b0
commit 82a2a705fb
@@ -19,6 +19,7 @@ import com.intellij.lang.annotation.AnnotationHolder;
import com.intellij.lang.annotation.ExternalAnnotator; import com.intellij.lang.annotation.ExternalAnnotator;
import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.openapi.actionSystem.IdeActions; import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.FileTypes; import com.intellij.openapi.fileTypes.FileTypes;
@@ -58,6 +59,7 @@ import static com.android.tools.klint.detector.api.TextFormat.RAW;
public class AndroidLintExternalAnnotator extends ExternalAnnotator<State, State> { public class AndroidLintExternalAnnotator extends ExternalAnnotator<State, State> {
static final boolean INCLUDE_IDEA_SUPPRESS_ACTIONS = false; static final boolean INCLUDE_IDEA_SUPPRESS_ACTIONS = false;
static final boolean IS_UNIT_TEST_MODE = ApplicationManager.getApplication().isUnitTestMode();
@Nullable @Nullable
@Override @Override
@@ -139,12 +141,17 @@ public class AndroidLintExternalAnnotator extends ExternalAnnotator<State, State
client, project, files, Collections.singletonList(state.getModule()), true /* incremental */); client, project, files, Collections.singletonList(state.getModule()), true /* incremental */);
request.setScope(scope); request.setScope(scope);
ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(new Runnable() { if (!IS_UNIT_TEST_MODE) {
@Override ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(new Runnable() {
public void run() { @Override
lint.analyze(request); public void run() {
} lint.analyze(request);
}); }
});
}
else {
lint.analyze(request);
}
} }
finally { finally {
Disposer.dispose(client); Disposer.dispose(client);