Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Early testhost startup performance work #2584

Merged
Merged
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
4c4ee43
Protocol augmentation for early testhost startup
cvpoienaru Sep 29, 2020
4b789f7
Early testhost startup POC working
cvpoienaru Oct 5, 2020
ab5caae
Parallelized testhost startup process
cvpoienaru Oct 6, 2020
33c32dd
Refactoring to facilitate adding EndSession call
cvpoienaru Oct 8, 2020
84bd529
Enabled custom host launcher for session start
cvpoienaru Oct 9, 2020
1208b3a
Reverted TestPlatform class to old visibility level
cvpoienaru Oct 9, 2020
1d1b959
Public API changes & data collection support
cvpoienaru Oct 23, 2020
ea03fa5
Synchronized test session proxy operations
cvpoienaru Oct 26, 2020
a6351ae
Changes to make sure debugging still works
cvpoienaru Oct 29, 2020
be2f335
Merge branch 'master' into copoiena/tp-testhost-early-start
cvpoienaru Oct 29, 2020
0a99e8e
Fixed build crash (hopefully)
cvpoienaru Oct 29, 2020
add7800
Fixed unit tests
cvpoienaru Oct 30, 2020
5d6260e
Incremental updates
cvpoienaru Oct 30, 2020
282ef6a
Removed unnecessary using directive
cvpoienaru Oct 30, 2020
a52efd9
Added test platform options to the start test session call
cvpoienaru Oct 30, 2020
40b5e7a
Added some more documentation
cvpoienaru Oct 30, 2020
b4a1759
Fixed build crash
cvpoienaru Oct 30, 2020
9354e1f
Changes for proxies
cvpoienaru Oct 30, 2020
cb1a38e
Fixed documentation issues
cvpoienaru Oct 30, 2020
b9751d5
Added more documentation changes
cvpoienaru Nov 2, 2020
19d1de5
Corrected typo
cvpoienaru Nov 2, 2020
95805cf
Updated test request manager
cvpoienaru Nov 2, 2020
e0de31a
Merge branch 'master' into copoiena/tp-testhost-early-start
cvpoienaru Nov 3, 2020
85bc7b4
Polished public API
cvpoienaru Nov 4, 2020
72076dd
Updated public API
cvpoienaru Nov 5, 2020
658130d
Fixed build crash
cvpoienaru Nov 5, 2020
bab9567
Added naive test discovery on the test session object
cvpoienaru Nov 5, 2020
ec922bb
Merge branch 'master' into copoiena/tp-testhost-early-start
cvpoienaru Nov 25, 2020
cb3899f
Fixed compilation issues
cvpoienaru Nov 25, 2020
5be44dd
Fixed acceptance tests
cvpoienaru Nov 27, 2020
bff2729
Fixed code review comments
cvpoienaru Dec 3, 2020
f396cc0
Fixed compat issue
cvpoienaru Dec 11, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.TestRunner
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.VisualStudio.TestPlatform.Common.Interfaces.Engine.TesthostProtocol;
using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
Expand Down Expand Up @@ -41,15 +43,21 @@ public void StartTestRunner(StartTestRunnerCriteria criteria, IStartTestRunnerEv
{
var session = new Session();

// Should be done by spawning a task.
var taskList = new List<Task>();
while (parallelLevel-- > 0)
{
var operationManagerProxy = this.proxyCreator();
operationManagerProxy.SetupChannel(criteria.Sources, criteria.RunSettings);
taskList.Add(Task.Factory.StartNew(
() =>
{
var operationManagerProxy = this.proxyCreator();
operationManagerProxy.SetupChannel(criteria.Sources, criteria.RunSettings);

TestRunnerPool.Instance.AddProxy(session, operationManagerProxy);
TestRunnerPool.Instance.AddProxy(session, operationManagerProxy);
}));
}

Task.WaitAll(taskList.ToArray());
cvpoienaru marked this conversation as resolved.
Show resolved Hide resolved

eventsHandler.HandleStartTestRunnerComplete(session);
}
}
Expand Down