Yes, the 'Run impacted tests automatically, others manually' engine mode solves the issue for me, it is far faster than the normal Run all tests automatically mode for me (10s vs 2s). For some reason today it works also far better than yesterday, maybe some outdated files were messing things up.
About the engine modes: Yes, I did change the mode settings to match my 'Run all tests automatically' mode, but it already executed and the results messed up my NCrunch Tests window and also took forever (because of slow and nightly tests not designed to be run with NCrunch). For some reason even restarting NCrunch did not help. Today it seems to work correctly, I even deleted the <IgnoredTests> sections from my ncrunch project files and all tests executed correctly.
Here is the engine performance for me (in Run impacted tests automatically mode), btw: I have a 4.2ghz overclocked i7 with 6 hyperthreads dedicated to NCrunch.
- When just changing a comment or adding an empty line no execution steps are shown, the build was also quick (<0.1s) when I changed something in the most basic project. Strange.
- Doing actual code changes did also work pretty well, but I cannot see anything in "Execution Steps", it stays empty except when manually executing a test.
- Here is what it looks like for most tests (could not find an overview, it only shows something when clicking on a single test or class)
Quote:
Step Duration Started At Finished At
All steps required for the execution of DeltaEngine.Tests.Datatypes.ColorTests.CreateWithBytes 00:00:31.4467062 2016-12-18 10:58:12 2016-12-18 10:58:44
Complete processing of task 'Run tests from DeltaEngine.Tests on (local)' 00:00:00.0035033 2016-12-18 10:58:44 2016-12-18 10:58:44
Enqueue tests for high priority execution 00:00:00.0335319 2016-12-18 10:58:12 2016-12-18 10:58:12
Merge test code coverage data 00:00:00.0100094 2016-12-18 10:58:44 2016-12-18 10:58:44
Prepare primary task for processing 'Run tests from DeltaEngine.Tests' 00:00:00.0010009 2016-12-18 10:58:43 2016-12-18 10:58:43
Process task 'Run tests from DeltaEngine.Tests on (local)' 00:00:01.2391900 2016-12-18 10:58:43 2016-12-18 10:58:44
Register result data for test 'DeltaEngine.Tests.Datatypes.ColorTests.CreateWithBytes' with engine 00:00:00 2016-12-18 10:58:44 2016-12-18 10:58:44
Waiting in processing queue 00:00:30.1589698 2016-12-18 10:58:12 2016-12-18 10:58:43
Not sure how useful that is, all pretty low times except for 'Waiting for processing queue', here is another result (from a class):
Quote:
Step Duration Started At Finished At
All steps required for the execution of DeltaEngine.Tests.Achievements.AchievementProcessorTests.* 00:00:38.8142824 2016-12-18 10:58:12 2016-12-18 10:58:51
Complete processing of task 'Run tests from DeltaEngine.Tests on (local)' 00:00:00.0055053 2016-12-18 10:58:51 2016-12-18 10:58:51
Enqueue tests for high priority execution 00:00:00.0335319 2016-12-18 10:58:12 2016-12-18 10:58:12
Merge test code coverage data 00:00:00.2872757 2016-12-18 10:58:51 2016-12-18 10:58:51
Prepare primary task for processing 'Run tests from DeltaEngine.Tests' 00:00:00.0010009 2016-12-18 10:58:47 2016-12-18 10:58:47
Process task 'Run tests from DeltaEngine.Tests on (local)' 00:00:04.3656934 2016-12-18 10:58:47 2016-12-18 10:58:51
Register result data for test 'DeltaEngine.Tests.Achievements.AchievementProcessorTests' with engine 00:00:00 2016-12-18 10:58:51 2016-12-18 10:58:51
Waiting in processing queue 00:00:34.1162704 2016-12-18 10:58:12 2016-12-18 10:58:47
And switching back to 'Run all tests automatically' mode, the results are much more detailed. I was yesterday probably talking about the "Dependency 'Analyse" steps being too slow for me (what I called build times), the tests could be faster, but I understand that running 5000 tests is going to be slow. This is why the 'Run impacted tests automatically, others manually' engine mode now works great for me, it only executes a tiny amount of tests I am working on and I can manually run them all when I am not sure if all of them were really not impacted.
Quote:
Step Duration Started At Finished At
All steps required for the execution of DeltaEngineServices.Server.Tests.Build.CodeUnpackerTests.* 00:01:06.7816489 2016-12-18 11:10:25 2016-12-18 11:11:32
Complete processing of task 'Run tests from DeltaEngineServices.Server.Tests on (local)' 00:00:00.0090086 2016-12-18 11:11:32 2016-12-18 11:11:32
Dependency 'Analyse DeltaEngine.Mocks on (local)' 00:00:00.4689505 2016-12-18 11:10:46 2016-12-18 11:10:47
Dependency 'Analyse DeltaEngineServices.Server.Mocks on (local)' 00:00:00.2722612 2016-12-18 11:10:49 2016-12-18 11:10:49
Dependency 'Analyse DeltaEngineServices.Server.Tests on (local)' 00:00:00.3117993 2016-12-18 11:10:49 2016-12-18 11:10:50
Dependency 'Build DeltaEngine on (local)' 00:00:02.1560751 2016-12-18 11:10:26 2016-12-18 11:10:28
Dependency 'Build DeltaEngine.Achievements on (local)' 00:00:00.3168044 2016-12-18 11:10:30 2016-12-18 11:10:30
Dependency 'Build DeltaEngine.Ads on (local)' 00:00:00.2307215 2016-12-18 11:10:30 2016-12-18 11:10:31
Dependency 'Build DeltaEngine.Analytics on (local)' 00:00:00.1431376 2016-12-18 11:10:30 2016-12-18 11:10:31
Dependency 'Build DeltaEngine.Authentication on (local)' 00:00:00.2507408 2016-12-18 11:10:30 2016-12-18 11:10:30
Dependency 'Build DeltaEngine.Content on (local)' 00:00:00.2287204 2016-12-18 11:10:29 2016-12-18 11:10:29
Dependency 'Build DeltaEngine.Editor on (local)' 00:00:00.4474301 2016-12-18 11:10:34 2016-12-18 11:10:35
Dependency 'Build DeltaEngine.Entities on (local)' 00:00:00.8403070 2016-12-18 11:10:28 2016-12-18 11:10:29
Dependency 'Build DeltaEngine.Fonts on (local)' 00:00:00.2667564 2016-12-18 11:10:29 2016-12-18 11:10:30
Dependency 'Build DeltaEngine.Graphics on (local)' 00:00:00.2617515 2016-12-18 11:10:29 2016-12-18 11:10:29
Dependency 'Build DeltaEngine.InAppPurchase on (local)' 00:00:00.5630410 2016-12-18 11:10:31 2016-12-18 11:10:31
Dependency 'Build DeltaEngine.Input on (local)' 00:00:00.4714529 2016-12-18 11:10:29 2016-12-18 11:10:29
Dependency 'Build DeltaEngine.Mocks on (local)' 00:00:00.4519340 2016-12-18 11:10:34 2016-12-18 11:10:34
Dependency 'Build DeltaEngine.Multimedia on (local)' 00:00:00.3062946 2016-12-18 11:10:30 2016-12-18 11:10:30
Dependency 'Build DeltaEngine.Networking on (local)' 00:00:00.4349177 2016-12-18 11:10:30 2016-12-18 11:10:30
Dependency 'Build DeltaEngine.Optional.Json on (local)' 00:00:00.2457360 2016-12-18 11:10:31 2016-12-18 11:10:32
Dependency 'Build DeltaEngine.Resolvers on (local)' 00:00:00.2932819 2016-12-18 11:10:33 2016-12-18 11:10:34
Dependency 'Build DeltaEngine.Spine on (local)' 00:00:00.3428292 2016-12-18 11:10:31 2016-12-18 11:10:31
Dependency 'Build DeltaEngine.Sprites on (local)' 00:00:00.4209044 2016-12-18 11:10:29 2016-12-18 11:10:29
Dependency 'Build DeltaEngine.Xml on (local)' 00:00:02.6280242 2016-12-18 11:10:31 2016-12-18 11:10:33
Dependency 'Build DeltaEngineServices.CodeConverters on (local)' 00:00:00.4048890 2016-12-18 11:10:35 2016-12-18 11:10:35
Dependency 'Build DeltaEngineServices.CodeConverters.Mocks on (local)' 00:00:00.2066985 2016-12-18 11:10:37 2016-12-18 11:10:37
Dependency 'Build DeltaEngineServices.ContentConverters on (local)' 00:00:00.6851582 2016-12-18 11:10:37 2016-12-18 11:10:38
Dependency 'Build DeltaEngineServices.Database on (local)' 00:00:00.2482390 2016-12-18 11:10:38 2016-12-18 11:10:38
Dependency 'Build DeltaEngineServices.Database.Mocks on (local)' 00:00:00.2051970 2016-12-18 11:10:40 2016-12-18 11:10:40
Dependency 'Build DeltaEngineServices.Database.Mongo on (local)' 00:00:00.2497393 2016-12-18 11:10:38 2016-12-18 11:10:38
Dependency 'Build DeltaEngineServices.Database.Sql on (local)' 00:00:00.2192104 2016-12-18 11:10:40 2016-12-18 11:10:40
Dependency 'Build DeltaEngineServices.Platforms on (local)' 00:00:00.2567467 2016-12-18 11:10:37 2016-12-18 11:10:37
Dependency 'Build DeltaEngineServices.Server on (local)' 00:00:00.9469097 2016-12-18 11:10:39 2016-12-18 11:10:40
Dependency 'Build DeltaEngineServices.Server.Mocks on (local)' 00:00:00.2672571 2016-12-18 11:10:44 2016-12-18 11:10:45
Dependency 'Build DeltaEngineServices.Server.Tests on (local)' 00:00:00.2562458 2016-12-18 11:10:45 2016-12-18 11:10:45
Enqueue tests for execution with normal priority 00:00:00.1941867 2016-12-18 11:10:25 2016-12-18 11:10:25
Filter tests to identify execution targets 00:00:00.0035035 2016-12-18 11:10:25 2016-12-18 11:10:25
Merge test code coverage data 00:00:00.0030029 2016-12-18 11:11:32 2016-12-18 11:11:32
Prepare primary task for processing 'Run tests from DeltaEngineServices.Server.Tests' 00:00:00.0010008 2016-12-18 11:11:31 2016-12-18 11:11:31
Process task 'Run tests from DeltaEngineServices.Server.Tests on (local)' 00:00:00.5670446 2016-12-18 11:11:31 2016-12-18 11:11:32
Register result data for test 'DeltaEngineServices.Server.Tests.Build.CodeUnpackerTests' with engine 00:00:00 2016-12-18 11:11:32 2016-12-18 11:11:32
Waiting in processing queue 00:00:00.4234064 2016-12-18 11:10:25 2016-12-18 11:10:26
Waiting in processing queue 00:00:00.0885852 2016-12-18 11:10:34 2016-12-18 11:10:34
Waiting in processing queue 00:00:01.8227509 2016-12-18 11:10:35 2016-12-18 11:10:37
Waiting in processing queue 00:00:00.4179017 2016-12-18 11:10:38 2016-12-18 11:10:39
Waiting in processing queue 00:00:04.2696005 2016-12-18 11:10:40 2016-12-18 11:10:44
Waiting in processing queue 00:00:00.2287198 2016-12-18 11:10:45 2016-12-18 11:10:45
Waiting in processing queue 00:00:01.1846377 2016-12-18 11:10:45 2016-12-18 11:10:46
Waiting in processing queue 00:00:02.3112201 2016-12-18 11:10:47 2016-12-18 11:10:49
Waiting in processing queue 00:00:41.5924513 2016-12-18 11:10:50 2016-12-18 11:11:31
Hope this helps ..