| File: Hosting\TestRunTimeExtensionManager.cs | Web Access |
| Project: src\vstest\src\Microsoft.TestPlatform.Common\Microsoft.TestPlatform.Common.csproj (Microsoft.VisualStudio.TestPlatform.Common) |
// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System.Collections.Generic; using Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework; using Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.Utilities; using Microsoft.VisualStudio.TestPlatform.Common.Interfaces; using Microsoft.VisualStudio.TestPlatform.ObjectModel.Host; using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging; namespace Microsoft.VisualStudio.TestPlatform.Common.Hosting; /// <summary> /// Manages loading and provides access to testhost extensions implementing the /// ITestRuntimeProvider interface. /// </summary> internal class TestRuntimeExtensionManager : TestExtensionManager<ITestRuntimeProvider, ITestRuntimeCapabilities> { /// <summary> /// Initializes a new instance of the <see cref="TestRuntimeExtensionManager"/> class. /// Default constructor. /// </summary> /// <param name="unfilteredTestExtensions"> /// The unfiltered Test Extensions. /// </param> /// <param name="testExtensions"> /// The test Extensions. /// </param> /// <param name="logger"> /// The logger. /// </param> /// <remarks> /// The constructor is not public because the factory method should be used to get instances of this class. /// </remarks> protected TestRuntimeExtensionManager( IEnumerable<LazyExtension<ITestRuntimeProvider, Dictionary<string, object>>> unfilteredTestExtensions, IEnumerable<LazyExtension<ITestRuntimeProvider, ITestRuntimeCapabilities>> testExtensions, IMessageLogger logger) : base(unfilteredTestExtensions, testExtensions, logger) { } /// <summary> /// Gets an instance of the TestLoggerExtensionManager. /// </summary> /// <param name="messageLogger"> /// The message Logger. /// </param> /// <returns> /// The TestLoggerExtensionManager. /// </returns> public static TestRuntimeExtensionManager Create(IMessageLogger messageLogger) { TestPluginManager.GetSpecificTestExtensions<TestRuntimePluginInformation, ITestRuntimeProvider, ITestRuntimeCapabilities, TestRuntimeMetadata>( TestPlatformConstants.RunTimeEndsWithPattern, out IEnumerable<LazyExtension<ITestRuntimeProvider, Dictionary<string, object>>> unfilteredTestExtensions, out IEnumerable<LazyExtension<ITestRuntimeProvider, ITestRuntimeCapabilities>> filteredTestExtensions); return new TestRuntimeExtensionManager(unfilteredTestExtensions, filteredTestExtensions, messageLogger); } }