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.HighlightSeverity;
import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileTypes.FileType;
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> {
static final boolean INCLUDE_IDEA_SUPPRESS_ACTIONS = false;
static final boolean IS_UNIT_TEST_MODE = ApplicationManager.getApplication().isUnitTestMode();
@Nullable
@Override
@@ -139,12 +141,17 @@ public class AndroidLintExternalAnnotator extends ExternalAnnotator<State, State
client, project, files, Collections.singletonList(state.getModule()), true /* incremental */);
request.setScope(scope);
ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(new Runnable() {
@Override
public void run() {
lint.analyze(request);
}
});
if (!IS_UNIT_TEST_MODE) {
ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(new Runnable() {
@Override
public void run() {
lint.analyze(request);
}
});
}
else {
lint.analyze(request);
}
}
finally {
Disposer.dispose(client);