diff options
author | Lluis Sanchez <llsan@microsoft.com> | 2019-05-09 18:33:58 +0300 |
---|---|---|
committer | Lluis Sanchez <llsan@microsoft.com> | 2019-05-23 14:39:15 +0300 |
commit | a31fca602f8bf7ab7c6fe51aba0115749ece0534 (patch) | |
tree | 625942ec34d6d6c7b128c8e49a9f34889a228798 /main/src/addins/MonoDevelop.UnitTesting | |
parent | a8a86f596191f8b18fe0e895d0f5af924d1b04ac (diff) |
Improve unit test service initialization time
Delay initialization of package service until the first solution is opened
Diffstat (limited to 'main/src/addins/MonoDevelop.UnitTesting')
-rw-r--r-- | main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs index 04c3715e09..ba945712a3 100644 --- a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs +++ b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs @@ -50,6 +50,7 @@ namespace MonoDevelop.UnitTesting { static ArrayList providers = new ArrayList (); static UnitTest[] rootTests = Array.Empty<UnitTest> (); + static bool packageEventsInitialized; static UnitTestService () { @@ -61,11 +62,16 @@ namespace MonoDevelop.UnitTesting IdeApp.Workspace.ItemRemovedFromSolution += OnItemsChangedInSolution; IdeApp.Workspace.ReferenceAddedToProject += OnReferenceChangedInProject; IdeApp.Workspace.ReferenceRemovedFromProject += OnReferenceChangedInProject; - - PackageManagementServices.ProjectOperations.PackageReferenceAdded += ProjectOperations_PackageReferencesModified; - PackageManagementServices.ProjectOperations.PackageReferenceRemoved += ProjectOperations_PackageReferencesModified; - PackageManagementServices.ProjectOperations.PackagesRestored += ProjectOperations_PackageReferencesModified; - + + IdeApp.Workspace.FirstWorkspaceItemOpened += (s,a) => { + if (!packageEventsInitialized) { + packageEventsInitialized = true; + PackageManagementServices.ProjectOperations.PackageReferenceAdded += ProjectOperations_PackageReferencesModified; + PackageManagementServices.ProjectOperations.PackageReferenceRemoved += ProjectOperations_PackageReferencesModified; + PackageManagementServices.ProjectOperations.PackagesRestored += ProjectOperations_PackageReferencesModified; + } + }; + Mono.Addins.AddinManager.AddExtensionNodeHandler ("/MonoDevelop/UnitTesting/TestProviders", OnExtensionChange); RebuildTests (); |