mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 15:09:39 +07:00
fix dumb-mode race condition on startup (IDEA-67563)
This commit is contained in:
@@ -169,8 +169,10 @@ public abstract class DaemonAnalyzerTestCase extends CodeInsightTestCase {
|
||||
DaemonCodeAnalyzerImpl daemonCodeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(getProject());
|
||||
toInitializeDaemon = !daemonCodeAnalyzer.isInitialized();
|
||||
daemonCodeAnalyzer.prepareForTest(toInitializeDaemon);
|
||||
((StartupManagerImpl)StartupManagerEx.getInstanceEx(getProject())).runStartupActivities();
|
||||
((StartupManagerImpl)StartupManagerEx.getInstanceEx(getProject())).runPostStartupActivities();
|
||||
final StartupManagerImpl startupManager = (StartupManagerImpl)StartupManagerEx.getInstanceEx(getProject());
|
||||
startupManager.runStartupActivities();
|
||||
startupManager.startCacheUpdate();
|
||||
startupManager.runPostStartupActivities();
|
||||
DaemonCodeAnalyzerSettings.getInstance().setImportHintEnabled(false);
|
||||
|
||||
if (isPerformanceTest()) {
|
||||
|
||||
@@ -117,7 +117,6 @@ public class StartupManagerImpl extends StartupManagerEx {
|
||||
|
||||
myStartupActivitiesRunning = false;
|
||||
|
||||
startCacheUpdate();
|
||||
myStartupActivitiesPassed = true;
|
||||
}
|
||||
finally {
|
||||
@@ -170,9 +169,9 @@ public class StartupManagerImpl extends StartupManagerEx {
|
||||
Registry.get("ide.firstStartup").setValue(false);
|
||||
}
|
||||
|
||||
private void startCacheUpdate() {
|
||||
public void startCacheUpdate() {
|
||||
try {
|
||||
DumbServiceImpl.getInstance(myProject).queueCacheUpdate(myCacheUpdaters);
|
||||
DumbServiceImpl.getInstance(myProject).queueCacheUpdateInDumbMode(myCacheUpdaters);
|
||||
}
|
||||
catch (ProcessCanceledException e) {
|
||||
throw e;
|
||||
|
||||
@@ -391,7 +391,9 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt
|
||||
notifyProjectOpenFailed();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
startupManager.startCacheUpdate();
|
||||
|
||||
startupManager.runPostStartupActivities();
|
||||
|
||||
if (!ApplicationManager.getApplication().isHeadlessEnvironment() && !ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
|
||||
@@ -300,7 +300,9 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da
|
||||
});
|
||||
|
||||
|
||||
((StartupManagerImpl)StartupManager.getInstance(ourProject)).runStartupActivities();
|
||||
final StartupManagerImpl startupManager = (StartupManagerImpl)StartupManager.getInstance(ourProject);
|
||||
startupManager.runStartupActivities();
|
||||
startupManager.startCacheUpdate();
|
||||
}
|
||||
}.execute().throwException();
|
||||
}
|
||||
|
||||
@@ -234,8 +234,10 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro
|
||||
}
|
||||
|
||||
protected void runStartupActivities() {
|
||||
((StartupManagerImpl)StartupManager.getInstance(myProject)).runStartupActivities();
|
||||
((StartupManagerImpl)StartupManager.getInstance(myProject)).runPostStartupActivities();
|
||||
final StartupManagerImpl startupManager = (StartupManagerImpl)StartupManager.getInstance(myProject);
|
||||
startupManager.runStartupActivities();
|
||||
startupManager.startCacheUpdate();
|
||||
startupManager.runPostStartupActivities();
|
||||
}
|
||||
|
||||
protected File getIprFile() throws IOException {
|
||||
@@ -448,6 +450,7 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro
|
||||
mm.projectOpened();
|
||||
setUpJdk();
|
||||
sm.runStartupActivities();
|
||||
sm.startCacheUpdate();
|
||||
// extra init for libraries
|
||||
sm.runPostStartupActivities();
|
||||
}
|
||||
|
||||
@@ -157,6 +157,7 @@ class HeavyIdeaTestFixtureImpl extends BaseFixture implements HeavyIdeaTestFixtu
|
||||
|
||||
StartupManagerImpl sm = (StartupManagerImpl)StartupManager.getInstance(myProject);
|
||||
sm.runStartupActivities();
|
||||
sm.startCacheUpdate();
|
||||
sm.runPostStartupActivities();
|
||||
|
||||
ProjectManagerEx.getInstanceEx().setCurrentTestProject(myProject);
|
||||
|
||||
Reference in New Issue
Block a user