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:
committed by
Dmitry Jemerov
parent
95061885b0
commit
82a2a705fb
+13
-6
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user