diff --git a/playground/TestPlatform.Playground/Program.cs b/playground/TestPlatform.Playground/Program.cs index 3520b7b67b..97a058ecbd 100644 --- a/playground/TestPlatform.Playground/Program.cs +++ b/playground/TestPlatform.Playground/Program.cs @@ -143,6 +143,8 @@ public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryComplete Console.WriteLine(WriteSources(discoveryCompleteEventArgs.FullyDiscoveredSources)); Console.WriteLine("Partially discovered:"); Console.WriteLine(WriteSources(discoveryCompleteEventArgs.PartiallyDiscoveredSources)); + Console.WriteLine("Skipped discovery:"); + Console.WriteLine(WriteSources(discoveryCompleteEventArgs.SkippedDiscoveredSources)); Console.WriteLine("Not discovered:"); Console.WriteLine(WriteSources(discoveryCompleteEventArgs.NotDiscoveredSources)); if (lastChunk != null) { TestCases.AddRange(lastChunk); } diff --git a/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeTestEventsRegistrar.cs b/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeTestEventsRegistrar.cs index f945491853..100d58aac8 100644 --- a/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeTestEventsRegistrar.cs +++ b/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeTestEventsRegistrar.cs @@ -63,3 +63,4 @@ public void LogWarning(string? message) _designModeClient.SendTestMessage(TestMessageLevel.Warning, message); } } + diff --git a/src/Microsoft.TestPlatform.Client/TestPlatform.cs b/src/Microsoft.TestPlatform.Client/TestPlatform.cs index a07f6618db..45447ac58d 100644 --- a/src/Microsoft.TestPlatform.Client/TestPlatform.cs +++ b/src/Microsoft.TestPlatform.Client/TestPlatform.cs @@ -80,7 +80,8 @@ public IDiscoveryRequest CreateDiscoveryRequest( IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions? options, - Dictionary sourceToSourceDetailMap) + Dictionary sourceToSourceDetailMap, + IWarningLogger warningLogger) { ValidateArg.NotNull(discoveryCriteria, nameof(discoveryCriteria)); @@ -90,7 +91,7 @@ public IDiscoveryRequest CreateDiscoveryRequest( ITestLoggerManager loggerManager = _testEngine.GetLoggerManager(requestData); loggerManager.Initialize(discoveryCriteria.RunSettings); - IProxyDiscoveryManager discoveryManager = _testEngine.GetDiscoveryManager(requestData, discoveryCriteria, sourceToSourceDetailMap); + IProxyDiscoveryManager discoveryManager = _testEngine.GetDiscoveryManager(requestData, discoveryCriteria, sourceToSourceDetailMap, warningLogger); discoveryManager.Initialize(options?.SkipDefaultAdapters ?? false); return new DiscoveryRequest(requestData, discoveryCriteria, discoveryManager, loggerManager); @@ -101,7 +102,8 @@ public ITestRunRequest CreateTestRunRequest( IRequestData requestData, TestRunCriteria testRunCriteria, TestPlatformOptions? options, - Dictionary sourceToSourceDetailMap) + Dictionary sourceToSourceDetailMap, + IWarningLogger warningLogger) { ValidateArg.NotNull(testRunCriteria, nameof(testRunCriteria)); @@ -112,7 +114,7 @@ public ITestRunRequest CreateTestRunRequest( ITestLoggerManager loggerManager = _testEngine.GetLoggerManager(requestData); loggerManager.Initialize(testRunCriteria.TestRunSettings); - IProxyExecutionManager executionManager = _testEngine.GetExecutionManager(requestData, testRunCriteria, sourceToSourceDetailMap); + IProxyExecutionManager executionManager = _testEngine.GetExecutionManager(requestData, testRunCriteria, sourceToSourceDetailMap, warningLogger); executionManager.Initialize(options?.SkipDefaultAdapters ?? false); return new TestRunRequest(requestData, testRunCriteria, executionManager, loggerManager); @@ -123,7 +125,8 @@ public bool StartTestSession( IRequestData requestData, StartTestSessionCriteria testSessionCriteria, ITestSessionEventsHandler eventsHandler, - Dictionary sourceToSourceDetailMap) + Dictionary sourceToSourceDetailMap, + IWarningLogger warningLogger) { ValidateArg.NotNull(testSessionCriteria, nameof(testSessionCriteria)); @@ -137,7 +140,7 @@ public bool StartTestSession( return false; } - IProxyTestSessionManager? testSessionManager = _testEngine.GetTestSessionManager(requestData, testSessionCriteria, sourceToSourceDetailMap); + IProxyTestSessionManager? testSessionManager = _testEngine.GetTestSessionManager(requestData, testSessionCriteria, sourceToSourceDetailMap, warningLogger); if (testSessionManager == null) { // The test session manager is null because the combination of runsettings and diff --git a/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/DiscoveryStatus.cs b/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/DiscoveryStatus.cs index 337b4139ff..e5e435ce8a 100644 --- a/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/DiscoveryStatus.cs +++ b/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/DiscoveryStatus.cs @@ -22,4 +22,9 @@ public enum DiscoveryStatus /// Indicates that source was fully discovered. /// FullyDiscovered, + + /// + /// Indicates that source was skipped in discovery. + /// + SkippedDiscovery } diff --git a/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/ITestEngine.cs b/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/ITestEngine.cs index 369049c605..abf9f1ce6b 100644 --- a/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/ITestEngine.cs +++ b/src/Microsoft.TestPlatform.Common/Interfaces/Engine/ClientProtocol/ITestEngine.cs @@ -29,7 +29,8 @@ public interface ITestEngine IProxyDiscoveryManager GetDiscoveryManager( IRequestData requestData, DiscoveryCriteria discoveryCriteria, - IDictionary sourceToSourceDetailMap); + IDictionary sourceToSourceDetailMap, + IWarningLogger warningLogger); /// /// Fetches the ExecutionManager for this engine. This manager would provide all @@ -46,7 +47,8 @@ IProxyDiscoveryManager GetDiscoveryManager( IProxyExecutionManager GetExecutionManager( IRequestData requestData, TestRunCriteria testRunCriteria, - IDictionary sourceToSourceDetailMap); + IDictionary sourceToSourceDetailMap, + IWarningLogger warningLogger); /// /// Fetches the TestSessionManager for this engine. This manager would provide all @@ -64,7 +66,8 @@ IProxyExecutionManager GetExecutionManager( IProxyTestSessionManager GetTestSessionManager( IRequestData requestData, StartTestSessionCriteria testSessionCriteria, - IDictionary sourceToSourceDetailMap); + IDictionary sourceToSourceDetailMap, + IWarningLogger warningLogger); /// /// Fetches the extension manager for this engine. This manager would provide extensibility diff --git a/src/Microsoft.TestPlatform.Common/PublicAPI/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.Common/PublicAPI/PublicAPI.Shipped.txt index ebcacf71b2..5f6cba85da 100644 --- a/src/Microsoft.TestPlatform.Common/PublicAPI/PublicAPI.Shipped.txt +++ b/src/Microsoft.TestPlatform.Common/PublicAPI/PublicAPI.Shipped.txt @@ -251,9 +251,6 @@ Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.DiscoveryStatus.Partially Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.DiscoveryStatus.FullyDiscovered = 2 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.DiscoveryStatus Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IParallelOperationManager Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IParallelOperationManager.UpdateParallelLevel(int parallelLevel) -> void -Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestEngine.GetDiscoveryManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria discoveryCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyDiscoveryManager -Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestEngine.GetExecutionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCriteria testRunCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyExecutionManager -Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestEngine.GetTestSessionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCriteria testSessionCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyTestSessionManager Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyExecutionManager.Abort(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler eventHandler) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyExecutionManager.Cancel(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler eventHandler) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyExecutionManager.StartTestRun(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCriteria testRunCriteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler eventHandler) -> int @@ -261,3 +258,7 @@ Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.TesthostProtocol.IExecuti Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.TesthostProtocol.IExecutionManager.Cancel(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler testRunEventsHandler) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.TesthostProtocol.IExecutionManager.StartTestRun(System.Collections.Generic.Dictionary> adapterSourceMap, string package, string runSettings, Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol.TestExecutionContext testExecutionContext, Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestCaseEventsHandler testCaseEvents, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler eventHandler) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.TesthostProtocol.IExecutionManager.StartTestRun(System.Collections.Generic.IEnumerable tests, string package, string runSettings, Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol.TestExecutionContext testExecutionContext, Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestCaseEventsHandler testCaseEvents, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler eventHandler) -> void +Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.DiscoveryStatus.SkippedDiscovery = 3 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.DiscoveryStatus +Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestEngine.GetDiscoveryManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria discoveryCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyDiscoveryManager +Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestEngine.GetExecutionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCriteria testRunCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyExecutionManager +Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestEngine.GetTestSessionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCriteria testSessionCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyTestSessionManager diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/Messages/DiscoveryCompletePayload.cs b/src/Microsoft.TestPlatform.CommunicationUtilities/Messages/DiscoveryCompletePayload.cs index d08b59dc2d..ec1217b4cc 100644 --- a/src/Microsoft.TestPlatform.CommunicationUtilities/Messages/DiscoveryCompletePayload.cs +++ b/src/Microsoft.TestPlatform.CommunicationUtilities/Messages/DiscoveryCompletePayload.cs @@ -49,6 +49,11 @@ public class DiscoveryCompletePayload /// public IList NotDiscoveredSources { get; set; } = new List(); + /// + /// Gets or sets list of sources which skipped in discovery on purpose, e.g. because they are known dlls that have no tests, or there is no runtime provider to run them. + /// + public IList SkippedDiscoverySources { get; set; } = new List(); + /// /// Gets or sets the collection of discovered extensions. /// diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/PublicAPI.Shipped.txt index d6981453d1..1986a7af5d 100644 --- a/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/PublicAPI.Shipped.txt +++ b/src/Microsoft.TestPlatform.CommunicationUtilities/PublicAPI/PublicAPI.Shipped.txt @@ -372,11 +372,8 @@ static Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources.Reso static Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources.Resources.VersionCheckFailed.get -> string static Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources.Resources.VersionCheckTimedout.get -> string Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces.ITestRequestSender.SendDiscoveryAbort() -> void -Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.FullyDiscoveredSources.get -> System.Collections.Generic.IList Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.FullyDiscoveredSources.set -> void -Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.NotDiscoveredSources.get -> System.Collections.Generic.IList Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.NotDiscoveredSources.set -> void -Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.PartiallyDiscoveredSources.get -> System.Collections.Generic.IList Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.PartiallyDiscoveredSources.set -> void Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.TestRequestSender.SendDiscoveryAbort() -> void Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.DiscoveredExtensions.get -> System.Collections.Generic.Dictionary> @@ -389,3 +386,8 @@ Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces.ITestReque Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces.ITestRequestSender.StartTestRun(Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.TestRunCriteriaWithTests runCriteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler eventHandler) -> void Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.TestRequestSender.StartTestRun(Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.TestRunCriteriaWithSources runCriteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler eventHandler) -> void Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.TestRequestSender.StartTestRun(Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.TestRunCriteriaWithTests runCriteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler eventHandler) -> void +Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.FullyDiscoveredSources.get -> System.Collections.Generic.IList +Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.NotDiscoveredSources.get -> System.Collections.Generic.IList +Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.PartiallyDiscoveredSources.get -> System.Collections.Generic.IList +Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.SkippedDiscoverySources.get -> System.Collections.Generic.IList +Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel.DiscoveryCompletePayload.SkippedDiscoverySources.set -> void diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs b/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs index ead4d77aaa..df4bffc283 100644 --- a/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs +++ b/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs @@ -586,6 +586,7 @@ private void OnDiscoveryMessageReceived(ITestDiscoveryEventsHandler2 discoveryEv PartiallyDiscoveredSources = payload.PartiallyDiscoveredSources, NotDiscoveredSources = payload.NotDiscoveredSources, DiscoveredExtensions = payload.DiscoveredExtensions, + SkippedDiscoveredSources = payload.SkippedDiscoverySources, }; discoveryCompleteEventArgs.Metrics = payload.Metrics; diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/DiscoveryDataAggregator.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/DiscoveryDataAggregator.cs index b30d95546d..e087f83017 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/DiscoveryDataAggregator.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/DiscoveryDataAggregator.cs @@ -212,7 +212,7 @@ public void MarkSourcesWithStatus(IEnumerable? sources, DiscoveryStatus (_, previousStatus) => { if (previousStatus == DiscoveryStatus.FullyDiscovered && status != DiscoveryStatus.FullyDiscovered - || previousStatus == DiscoveryStatus.PartiallyDiscovered && status == DiscoveryStatus.NotDiscovered) + || previousStatus == DiscoveryStatus.PartiallyDiscovered && (status == DiscoveryStatus.NotDiscovered || status == DiscoveryStatus.SkippedDiscovery)) { EqtTrace.Warning($"DiscoveryDataAggregator.MarkSourcesWithStatus: Downgrading source {source} status from '{previousStatus}' to '{status}'."); } diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelDiscoveryEventsHandler.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelDiscoveryEventsHandler.cs index c3d9f18b22..4603f83c08 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelDiscoveryEventsHandler.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelDiscoveryEventsHandler.cs @@ -7,6 +7,7 @@ using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities; using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces; using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel; +using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Utilities; using Microsoft.VisualStudio.TestPlatform.ObjectModel; using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client; using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine; @@ -89,6 +90,7 @@ public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryComplete var fullyDiscovered = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.FullyDiscovered); var partiallyDiscovered = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.PartiallyDiscovered); var notDiscovered = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.NotDiscovered); + var skippedDiscovery = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.SkippedDiscovery); // As we immediately return results to IDE in case of aborting we need to set // isAborted = true and totalTests = -1 @@ -131,6 +133,7 @@ public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryComplete FullyDiscoveredSources = fullyDiscovered, PartiallyDiscoveredSources = partiallyDiscovered, NotDiscoveredSources = notDiscovered, + SkippedDiscoverySources = skippedDiscovery, DiscoveredExtensions = _discoveryDataAggregator.DiscoveredExtensions, Metrics = aggregatedDiscoveryDataMetrics, }; @@ -146,6 +149,7 @@ public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryComplete FullyDiscoveredSources = fullyDiscovered, PartiallyDiscoveredSources = partiallyDiscovered, NotDiscoveredSources = notDiscovered, + SkippedDiscoveredSources = skippedDiscovery, DiscoveredExtensions = _discoveryDataAggregator.DiscoveredExtensions, Metrics = aggregatedDiscoveryDataMetrics, }; diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelProxyDiscoveryManager.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelProxyDiscoveryManager.cs index ec86e4ea34..1d46f668a4 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelProxyDiscoveryManager.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelProxyDiscoveryManager.cs @@ -83,7 +83,9 @@ public void DiscoverTests(DiscoveryCriteria discoveryCriteria, ITestDiscoveryEve var workloads = SplitToWorkloads(discoveryCriteria, _sourceToTestHostProviderMap); _availableTestSources = workloads.SelectMany(w => w.Work.Sources).Count(); - _availableWorkloads = workloads.Count(); + var runnableWorkloads = workloads.Where(workload => workload.HasProvider).ToList(); + _availableWorkloads = runnableWorkloads.Count(); + var nonRunnableWorkloads = workloads.Where(workload => !workload.HasProvider).ToList(); EqtTrace.Verbose("ParallelProxyDiscoveryManager.DiscoverTests: Start discovery. Total sources: " + _availableTestSources); @@ -95,7 +97,17 @@ public void DiscoverTests(DiscoveryCriteria discoveryCriteria, ITestDiscoveryEve // marked as NotDiscovered. _dataAggregator.MarkSourcesWithStatus(discoveryCriteria.Sources, DiscoveryStatus.NotDiscovered); - _parallelOperationManager.StartWork(workloads, eventHandler, GetParallelEventHandler, DiscoverTestsOnConcurrentManager); + if (nonRunnableWorkloads.Count > 0) + { + // We found some sources that don't associate to any runtime provider and so they cannot run. + // Mark the sources as skipped. + + _dataAggregator.MarkSourcesWithStatus(nonRunnableWorkloads.SelectMany(w => w.Work.Sources), DiscoveryStatus.SkippedDiscovery); + // TODO: in strict mode keep them as non-discovered, and mark the run as aborted. + // _dataAggregator.MarkAsAborted(); + } + + _parallelOperationManager.StartWork(runnableWorkloads, eventHandler, GetParallelEventHandler, DiscoverTestsOnConcurrentManager); } private ITestDiscoveryEventsHandler2 GetParallelEventHandler(ITestDiscoveryEventsHandler2 eventHandler, IProxyDiscoveryManager concurrentManager) @@ -139,11 +151,12 @@ public bool HandlePartialDiscoveryComplete(IProxyDiscoveryManager proxyDiscovery var notDiscoveredCount = _dataAggregator.GetSourcesWithStatus(DiscoveryStatus.NotDiscovered).Count; var partiallyDiscoveredCount = _dataAggregator.GetSourcesWithStatus(DiscoveryStatus.PartiallyDiscovered).Count; var fullyDiscoveredCount = _dataAggregator.GetSourcesWithStatus(DiscoveryStatus.FullyDiscovered).Count; + var skippedCount = _dataAggregator.GetSourcesWithStatus(DiscoveryStatus.SkippedDiscovery).Count; var expectedCount = _availableTestSources; // When this fails, look at the _dataAggregator and look at the sources that it holds. It is possible that adapter incorrectly reports // the source on the testcase object. Each distinct source that will appear on TestCase will be considered a file. - TPDebug.Assert(notDiscoveredCount + partiallyDiscoveredCount + fullyDiscoveredCount == expectedCount, - $"Total count of sources ({expectedCount}) should match the count of sources with status not discovered ({notDiscoveredCount}), partially discovered ({partiallyDiscoveredCount}) and fully discovered ({fullyDiscoveredCount})."); + TPDebug.Assert(notDiscoveredCount + partiallyDiscoveredCount + fullyDiscoveredCount + skippedCount == expectedCount, + $"Total count of sources ({expectedCount}) should match the count of sources with status not discovered ({notDiscoveredCount}), partially discovered ({partiallyDiscoveredCount}), fully discovered ({fullyDiscoveredCount}) and skipped ({skippedCount})."); #endif var allDiscoverersCompleted = false; diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelProxyExecutionManager.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelProxyExecutionManager.cs index a9266d0256..33b907059e 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelProxyExecutionManager.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelProxyExecutionManager.cs @@ -94,7 +94,10 @@ public void Initialize(bool skipDefaultAdapters) public int StartTestRun(TestRunCriteria testRunCriteria, IInternalTestRunEventsHandler eventHandler) { var workloads = SplitToWorkloads(testRunCriteria, _sourceToTestHostProviderMap); - _availableWorkloads = workloads.Count; + var runnableWorkloads = workloads.Where(workload => workload.HasProvider).ToList(); + var nonRunnableWorkloads = workloads.Where(workload => !workload.HasProvider).ToList(); + + _availableWorkloads = runnableWorkloads.Count; EqtTrace.Verbose("ParallelProxyExecutionManager: Start execution. Total sources: " + _availableWorkloads); @@ -103,8 +106,13 @@ public int StartTestRun(TestRunCriteria testRunCriteria, IInternalTestRunEventsH // One data aggregator per parallel run _currentRunDataAggregator = new ParallelRunDataAggregator(testRunCriteria.TestRunSettings); + if (nonRunnableWorkloads.Count > 0) + { + // TODO: in strict mode fail if we find a source that we cannot run. + // _currentRunDataAggregator.MarkAsAborted(); + } - _parallelOperationManager.StartWork(workloads, eventHandler, GetParallelEventHandler, StartTestRunOnConcurrentManager); + _parallelOperationManager.StartWork(runnableWorkloads, eventHandler, GetParallelEventHandler, StartTestRunOnConcurrentManager); // Why 1? Because this is supposed to be a processId, and that is just the default that was chosen by someone before me, // and maybe is checked somewhere, but I don't see it checked in our codebase. @@ -409,6 +417,8 @@ internal class ProviderSpecificWorkload public TestRuntimeProviderInfo Provider { get; protected set; } + public bool HasProvider => Provider.Type is not null; + public ProviderSpecificWorkload(T work, TestRuntimeProviderInfo provider) { Provider = provider; diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelRunDataAggregator.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelRunDataAggregator.cs index ba4b56f9c6..c6968b56b6 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelRunDataAggregator.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/Parallel/ParallelRunDataAggregator.cs @@ -210,4 +210,13 @@ public void AggregateRunDataMetrics(IDictionary metrics) } } } + + + public void MarkAsAborted() + { + lock (_dataUpdateSyncObject) + { + IsAborted = true; + } + } } diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/TestRuntimeProviderInfo.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/TestRuntimeProviderInfo.cs index 1369e89f55..38374fdcfe 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Client/TestRuntimeProviderInfo.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Client/TestRuntimeProviderInfo.cs @@ -10,12 +10,12 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client; public class TestRuntimeProviderInfo { - public Type Type { get; } + public Type? Type { get; } public bool Shared { get; } public string RunSettings { get; } public List SourceDetails { get; } - public TestRuntimeProviderInfo(Type type, bool shared, string runSettings, List sourceDetails) + public TestRuntimeProviderInfo(Type? type, bool shared, string runSettings, List sourceDetails) { Type = type; Shared = shared; diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Discovery/DiscoveryManager.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Discovery/DiscoveryManager.cs index 21a79ac77e..5f9307c9f7 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Discovery/DiscoveryManager.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Discovery/DiscoveryManager.cs @@ -16,6 +16,7 @@ using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing; using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.Interfaces; using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.Parallel; +using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Utilities; using Microsoft.VisualStudio.TestPlatform.ObjectModel; using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client; using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine; @@ -175,6 +176,7 @@ public void DiscoverTests(DiscoveryCriteria discoveryCriteria, ITestDiscoveryEve FullyDiscoveredSources = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.FullyDiscovered), PartiallyDiscoveredSources = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.PartiallyDiscovered), NotDiscoveredSources = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.NotDiscovered), + SkippedDiscoveredSources = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.SkippedDiscovery), DiscoveredExtensions = TestPluginCache.Instance.TestExtensions?.GetCachedExtensions(), Metrics = _requestData.MetricsCollection.Metrics, }; @@ -214,6 +216,7 @@ public void Abort(ITestDiscoveryEventsHandler2 eventHandler) FullyDiscoveredSources = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.FullyDiscovered), PartiallyDiscoveredSources = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.PartiallyDiscovered), NotDiscoveredSources = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.NotDiscovered), + SkippedDiscoveredSources = _discoveryDataAggregator.GetSourcesWithStatus(DiscoveryStatus.SkippedDiscovery), }; eventHandler.HandleDiscoveryComplete(discoveryCompleteEventArgs, null); } diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/EventHandlers/TestRequestHandler.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/EventHandlers/TestRequestHandler.cs index 0ae55ce3bf..89a0d0848a 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/EventHandlers/TestRequestHandler.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/EventHandlers/TestRequestHandler.cs @@ -242,6 +242,7 @@ public void DiscoveryComplete(DiscoveryCompleteEventArgs discoveryCompleteEventA FullyDiscoveredSources = discoveryCompleteEventArgs.FullyDiscoveredSources, PartiallyDiscoveredSources = discoveryCompleteEventArgs.PartiallyDiscoveredSources, NotDiscoveredSources = discoveryCompleteEventArgs.NotDiscoveredSources, + SkippedDiscoverySources = discoveryCompleteEventArgs.SkippedDiscoveredSources, DiscoveredExtensions = discoveryCompleteEventArgs.DiscoveredExtensions, }, _protocolVersion); diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/PublicAPI.Shipped.txt index 5a2dcd7df6..93ca9f3443 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/PublicAPI.Shipped.txt +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/PublicAPI/PublicAPI.Shipped.txt @@ -124,9 +124,6 @@ Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.TestRuntimeProviderIn Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.TestRuntimeProviderInfo.SourceDetails.get -> System.Collections.Generic.List Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.TestRuntimeProviderInfo.TestRuntimeProviderInfo(System.Type type, bool shared, string runSettings, System.Collections.Generic.List sourceDetails) -> void Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.TestRuntimeProviderInfo.Type.get -> System.Type -Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.TestEngine.GetDiscoveryManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria discoveryCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyDiscoveryManager -Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.TestEngine.GetExecutionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCriteria testRunCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyExecutionManager -Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.TestEngine.GetTestSessionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCriteria testSessionCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyTestSessionManager Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.ProxyTestSessionManager.ProxyTestSessionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCriteria criteria, int maxTesthostCount, System.Func proxyCreator, System.Collections.Generic.List runtimeProviders) -> void Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.TestRequestHandler.AttachDebuggerToProcess(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.Interfaces.AttachDebuggerInfo attachDebuggerInfo) -> bool Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.ProxyOperationManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces.ITestRequestSender requestSender, Microsoft.VisualStudio.TestPlatform.ObjectModel.Host.ITestRuntimeProvider testHostManager, Microsoft.VisualStudio.TestPlatform.ObjectModel.Framework testhostManagerFramework) -> void @@ -137,3 +134,6 @@ Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.ExecutionManager.A Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.ExecutionManager.Cancel(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler testRunEventsHandler) -> void Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.ExecutionManager.StartTestRun(System.Collections.Generic.Dictionary> adapterSourceMap, string package, string runSettings, Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol.TestExecutionContext testExecutionContext, Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestCaseEventsHandler testCaseEventsHandler, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler runEventsHandler) -> void Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.ExecutionManager.StartTestRun(System.Collections.Generic.IEnumerable tests, string package, string runSettings, Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol.TestExecutionContext testExecutionContext, Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ITestCaseEventsHandler testCaseEventsHandler, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IInternalTestRunEventsHandler runEventsHandler) -> void +Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.TestEngine.GetDiscoveryManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria discoveryCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyDiscoveryManager +Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.TestEngine.GetExecutionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCriteria testRunCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyExecutionManager +Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.TestEngine.GetTestSessionManager(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCriteria testSessionCriteria, System.Collections.Generic.IDictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.IProxyTestSessionManager diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.Designer.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.Designer.cs index 16c486e848..847038f2b9 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.Designer.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.Designer.cs @@ -11,7 +11,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources { using System; using System.Reflection; - + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -19,7 +19,7 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -277,7 +277,16 @@ internal static string NoSuchProxyId { } /// - /// Looks up a localized string similar to No suitable test runtime provider found for this run.. + /// Looks up a localized string similar to No suitable test runtime provider was found:. + /// + internal static string NoSuitableRuntimeProviderFound { + get { + return ResourceManager.GetString("NoSuitableRuntimeProviderFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No suitable test runtime provider was found for any source in this run.. /// internal static string NoTestHostProviderFound { get { @@ -321,6 +330,15 @@ internal static string ProxyIsAlreadyAvailable { } } + /// + /// Looks up a localized string similar to Skipping source:. + /// + internal static string SkippingSource { + get { + return ResourceManager.GetString("SkippingSource", resourceCulture); + } + } + /// /// Looks up a localized string similar to , . /// diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.resx b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.resx index a7f9b33437..ebbda678c9 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.resx +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/Resources.resx @@ -214,7 +214,7 @@ Proxy with id {0} is already available and cannot be re-enqueued. - No suitable test runtime provider found for this run. + No suitable test runtime provider was found for any source in this run. The runsettings changed between the time when the test session was established and the time of the current run/discovery request. @@ -225,4 +225,10 @@ Attachments: + + No suitable test runtime provider was found: + + + Skipping source: + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.cs.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.cs.xlf index eb196e9f0a..0983db0304 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.cs.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.cs.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - Pro tento běh se nenašel žádný vhodný zprostředkovatel testů v režimu runtime. + No suitable test runtime provider was found for any source in this run. + Pro tento běh se nenašel žádný vhodný zprostředkovatel testů v režimu runtime. @@ -177,6 +177,16 @@ Přílohy: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.de.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.de.xlf index fecf791420..0e8b40de15 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.de.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.de.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - Für diese Ausführung wurde kein geeigneter Testlaufzeitanbieter gefunden. + No suitable test runtime provider was found for any source in this run. + Für diese Ausführung wurde kein geeigneter Testlaufzeitanbieter gefunden. @@ -177,6 +177,16 @@ Anlagen: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.es.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.es.xlf index 6136c2c671..4c3b9c5414 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.es.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.es.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - No se encontró un proveedor de tiempo de ejecución de prueba adecuado para esta ejecución. + No suitable test runtime provider was found for any source in this run. + No se encontró un proveedor de tiempo de ejecución de prueba adecuado para esta ejecución. @@ -177,6 +177,16 @@ Datos adjuntos: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.fr.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.fr.xlf index 221d695db9..ed714a10d0 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.fr.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.fr.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - Aucun fournisseur d'exécution de tests approprié n'a été trouvé pour cette série. + No suitable test runtime provider was found for any source in this run. + Aucun fournisseur d'exécution de tests approprié n'a été trouvé pour cette série. @@ -177,6 +177,16 @@ Pièces jointes : + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.it.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.it.xlf index 1b7a288297..f4fe40f2d6 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.it.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.it.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - Non è stato trovato alcun provider di runtime dei test adatto per questa esecuzione. + No suitable test runtime provider was found for any source in this run. + Non è stato trovato alcun provider di runtime dei test adatto per questa esecuzione. @@ -177,6 +177,16 @@ Allegati: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ja.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ja.xlf index 2a79f9c193..7c2bab3467 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ja.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ja.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - この実行に対して適切なテスト ランタイム プロバイダーが見つかりませんでした。 + No suitable test runtime provider was found for any source in this run. + この実行に対して適切なテスト ランタイム プロバイダーが見つかりませんでした。 @@ -177,6 +177,16 @@ 添付ファイル: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ko.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ko.xlf index 6986ed00e9..4b519ff692 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ko.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ko.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - 이 실행에 적합한 테스트 런타임 공급자를 찾지 못했습니다. + No suitable test runtime provider was found for any source in this run. + 이 실행에 적합한 테스트 런타임 공급자를 찾지 못했습니다. @@ -177,6 +177,16 @@ 첨부 파일: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pl.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pl.xlf index 472f48372e..d31300fc9b 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pl.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pl.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - Nie znaleziono odpowiedniego dostawcy testowego środowiska uruchomieniowego dla tego uruchomienia. + No suitable test runtime provider was found for any source in this run. + Nie znaleziono odpowiedniego dostawcy testowego środowiska uruchomieniowego dla tego uruchomienia. @@ -177,6 +177,16 @@ Załączniki: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pt-BR.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pt-BR.xlf index b4572a38bf..362702a031 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pt-BR.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.pt-BR.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - Nenhum provedor de runtime de teste encontrado para esta execução. + No suitable test runtime provider was found for any source in this run. + Nenhum provedor de runtime de teste encontrado para esta execução. @@ -177,6 +177,16 @@ Anexos: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ru.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ru.xlf index bc17b4ac02..996081f67d 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ru.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.ru.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - Не найден подходящий поставщик среды выполнения теста для этого запуска. + No suitable test runtime provider was found for any source in this run. + Не найден подходящий поставщик среды выполнения теста для этого запуска. @@ -177,6 +177,16 @@ Вложения: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.tr.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.tr.xlf index e0f1397ff7..2dae4e8f5c 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.tr.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.tr.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - Bu çalıştırma için uygun bir test çalışma zamanı sağlayıcısı yok. + No suitable test runtime provider was found for any source in this run. + Bu çalıştırma için uygun bir test çalışma zamanı sağlayıcısı yok. @@ -177,6 +177,16 @@ Ekler: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.xlf index 4c6eba4a84..2cd35c2e0b 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.xlf @@ -144,7 +144,7 @@ - No suitable test runtime provider found for this run. + No suitable test runtime provider was found for any source in this run. No suitable test runtime provider found for this run. @@ -163,6 +163,16 @@ Attachments: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hans.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hans.xlf index e6cb06ca3a..e8c460aa96 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hans.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hans.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - 对于此运行,未找到适合的测试运行时提供程序。 + No suitable test runtime provider was found for any source in this run. + 对于此运行,未找到适合的测试运行时提供程序。 @@ -177,6 +177,16 @@ 附件: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hant.xlf b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hant.xlf index a3e7d4a62c..71b3b643da 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hant.xlf +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Resources/xlf/Resources.zh-Hant.xlf @@ -158,8 +158,8 @@ - No suitable test runtime provider found for this run. - 找不到適用於此回合的測試執行階段提供者。 + No suitable test runtime provider was found for any source in this run. + 找不到適用於此回合的測試執行階段提供者。 @@ -177,6 +177,16 @@ 附件: + + No suitable test runtime provider was found: + No suitable test runtime provider was found: + + + + Skipping source: + Skipping source: + + \ No newline at end of file diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/TestEngine.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/TestEngine.cs index 08a2a113d5..8113e9a138 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/TestEngine.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/TestEngine.cs @@ -68,7 +68,8 @@ internal TestEngine( public IProxyDiscoveryManager GetDiscoveryManager( IRequestData requestData, DiscoveryCriteria discoveryCriteria, - IDictionary sourceToSourceDetailMap) + IDictionary sourceToSourceDetailMap, + IWarningLogger warningLogger) { // Parallel level determines how many processes at most we should start at the same time. We take the number from settings, and if user // has no preference or the preference is 0 then we use the number of logical processors. Or the number of sources, whatever is lower. @@ -86,7 +87,7 @@ public IProxyDiscoveryManager GetDiscoveryManager( requestData.MetricsCollection.Add(TelemetryDataConstants.TestSessionId, discoveryCriteria.TestSessionInfo?.Id.ToString() ?? string.Empty); // Get testhost managers by configuration, and either use it for in-process run. or for single source run. - List testHostManagers = GetTestRuntimeProvidersForUniqueConfigurations(discoveryCriteria.RunSettings, sourceToSourceDetailMap, out ITestRuntimeProvider testHostManager); + List testHostManagers = GetTestRuntimeProvidersForUniqueConfigurations(discoveryCriteria.RunSettings, sourceToSourceDetailMap, warningLogger, out ITestRuntimeProvider testHostManager); // This is a big if that figures out if we can run in process. In process run is very restricted, it is non-parallel run // that has the same target framework as the current process, and it also must not be running in DesignMode (server mode / under IDE) @@ -186,7 +187,8 @@ public IProxyDiscoveryManager GetDiscoveryManager( public IProxyExecutionManager GetExecutionManager( IRequestData requestData, TestRunCriteria testRunCriteria, - IDictionary sourceToSourceDetailMap) + IDictionary sourceToSourceDetailMap, + IWarningLogger warningLogger) { // We use mulitple "different" runsettings here. We have runsettings that come with the testRunCriteria, // and we use that to figure out the common stuff before we try to setup the run. Later we patch the settings @@ -205,7 +207,7 @@ public IProxyExecutionManager GetExecutionManager( var isDataCollectorEnabled = XmlRunSettingsUtilities.IsDataCollectionEnabled(testRunCriteria.TestRunSettings); var isInProcDataCollectorEnabled = XmlRunSettingsUtilities.IsInProcDataCollectionEnabled(testRunCriteria.TestRunSettings); - var testHostProviders = GetTestRuntimeProvidersForUniqueConfigurations(testRunCriteria.TestRunSettings, sourceToSourceDetailMap, out ITestRuntimeProvider testHostManager); + var testHostProviders = GetTestRuntimeProvidersForUniqueConfigurations(testRunCriteria.TestRunSettings, sourceToSourceDetailMap, warningLogger, out ITestRuntimeProvider testHostManager); if (ShouldRunInProcess( testRunCriteria.TestRunSettings, @@ -340,7 +342,8 @@ internal IProxyExecutionManager CreateNonParallelExecutionManager(IRequestData r public IProxyTestSessionManager GetTestSessionManager( IRequestData requestData, StartTestSessionCriteria testSessionCriteria, - IDictionary sourceToSourceDetailMap) + IDictionary sourceToSourceDetailMap, + IWarningLogger warningLogger) { var parallelLevel = VerifyParallelSettingAndCalculateParallelLevel( testSessionCriteria.Sources.Count, @@ -354,7 +357,7 @@ public IProxyTestSessionManager GetTestSessionManager( var isDataCollectorEnabled = XmlRunSettingsUtilities.IsDataCollectionEnabled(testSessionCriteria.RunSettings); var isInProcDataCollectorEnabled = XmlRunSettingsUtilities.IsInProcDataCollectionEnabled(testSessionCriteria.RunSettings); - List testRuntimeProviders = GetTestRuntimeProvidersForUniqueConfigurations(testSessionCriteria.RunSettings, sourceToSourceDetailMap, out var _); + List testRuntimeProviders = GetTestRuntimeProvidersForUniqueConfigurations(testSessionCriteria.RunSettings, sourceToSourceDetailMap, warningLogger, out var _); if (ShouldRunInProcess( testSessionCriteria.RunSettings, @@ -425,6 +428,7 @@ public IProxyTestSessionManager GetTestSessionManager( private List GetTestRuntimeProvidersForUniqueConfigurations( string runSettings, IDictionary sourceToSourceDetailMap, + IWarningLogger warningLogger, out ITestRuntimeProvider mostRecentlyCreatedInstance) { // Group source details to get unique frameworks and architectures for which we will run, so we can figure @@ -440,17 +444,30 @@ private List GetTestRuntimeProvidersForUniqueConfigurat var sources = runConfiguration.Select(c => c.Source).ToList(); var testRuntimeProvider = _testHostProviderManager.GetTestHostManagerByRunConfiguration(runsettingsXml, sources); - // Initialize here, because Shared is picked up from the instance, and it can be set during initalization. - testRuntimeProvider?.Initialize(TestSessionMessageLogger.Instance, runsettingsXml); - // If the type is null, we throw in ThrowExceptionIfAnyTestHostManagerIsNullOrNoneAreFound - var testRuntimeProviderInfo = new TestRuntimeProviderInfo(testRuntimeProvider?.GetType(), testRuntimeProvider?.Shared ?? false, runsettingsXml, sourceDetails: runConfiguration.ToList()); + if (testRuntimeProvider != null) + { + // Initialize here, because Shared is picked up from the instance, and it can be set during initalization. + testRuntimeProvider.Initialize(TestSessionMessageLogger.Instance, runsettingsXml); + + // DO NOT move this above Initialize, the intialization can set Shared, to true, and we would not capture that. + testRuntimeProviders.Add(new TestRuntimeProviderInfo(testRuntimeProvider.GetType(), testRuntimeProvider.Shared, + runsettingsXml, sourceDetails: runConfiguration.ToList())); - // Outputting the instance, because the code for in-process run uses it, and we don't want to resolve it another time. - mostRecentlyCreatedInstance = testRuntimeProvider; - testRuntimeProviders.Add(testRuntimeProviderInfo); + // Outputting the instance, because the code for in-process run uses it, and we don't want to resolve it one more time. + mostRecentlyCreatedInstance = testRuntimeProvider; + } + else + { + testRuntimeProviders.Add(new TestRuntimeProviderInfo(type: null, shared: false, runsettingsXml, sourceDetails: runConfiguration.ToList())); + } } - ThrowExceptionIfAnyTestHostManagerIsNullOrNoneAreFound(testRuntimeProviders); + WarnAboutNotFoundRuntimeProvidersOrThrowWhenNoneAreFound(testRuntimeProviders, warningLogger); + + // Do NOT return just found providers here, instead return all of them. Later sources will be split to criteria + // and we need to have all the sources available there, and filter them down to skip the ones that don't + // have runtime providers there. + // var foundRuntimeProviders = testRuntimeProviders.Where(runtimeProvider => runtimeProvider.Type != null).ToList(); return testRuntimeProviders; } @@ -607,23 +624,49 @@ private static void ThrowExceptionIfTestHostManagerIsNull(ITestRuntimeProvider t } } - private static void ThrowExceptionIfAnyTestHostManagerIsNullOrNoneAreFound(List testRuntimeProviders) + private static void WarnAboutNotFoundRuntimeProvidersOrThrowWhenNoneAreFound(List testRuntimeProviders, IWarningLogger warningLogger) { if (!testRuntimeProviders.Any()) throw new ArgumentException(null, nameof(testRuntimeProviders)); + // Throw when we did not find any runtime provider for any of the provided sources. + var shouldThrow = testRuntimeProviders.All(runtimeProvider => runtimeProvider == null); + var missingRuntimeProviders = testRuntimeProviders.Where(p => p.Type == null); if (missingRuntimeProviders.Any()) { var stringBuilder = new StringBuilder(); - stringBuilder.AppendLine(string.Format(CultureInfo.CurrentCulture, Resources.Resources.NoTestHostProviderFound)); + stringBuilder.AppendLine(string.Format(CultureInfo.CurrentCulture, Resources.Resources.NoSuitableRuntimeProviderFound)); foreach (var missingRuntimeProvider in missingRuntimeProviders) { - EqtTrace.Error($"{nameof(TestEngine)}.{nameof(ThrowExceptionIfAnyTestHostManagerIsNullOrNoneAreFound)}: No suitable testHostProvider found for sources {missingRuntimeProvider.SourceDetails.Select(s => s.Source)} and runsettings: {missingRuntimeProvider.RunSettings}"); - missingRuntimeProvider.SourceDetails.ForEach(detail => stringBuilder.AppendLine(detail.Source)); + var text = $"{nameof(TestEngine)}.{nameof(WarnAboutNotFoundRuntimeProvidersOrThrowWhenNoneAreFound)}: No suitable testHostProvider found for sources {string.Join(", ", missingRuntimeProvider.SourceDetails.Select(s => s.Source))} and runsettings: {missingRuntimeProvider.RunSettings}"; + if (shouldThrow) + { + EqtTrace.Error(text); + } + else + { + EqtTrace.Warning(text); + } + missingRuntimeProvider.SourceDetails.ForEach(detail => + { + if (!shouldThrow) + { + stringBuilder.Append(Resources.Resources.SkippingSource).Append(' '); + } + stringBuilder.AppendLine($"{detail.Source} ({detail.Framework}, {detail.Architecture})"); + }); } - throw new TestPlatformException(stringBuilder.ToString()); + if (shouldThrow) + { + stringBuilder.AppendLine().AppendLine(Resources.Resources.NoTestHostProviderFound); + throw new TestPlatformException(stringBuilder.ToString()); + } + else + { + warningLogger.LogWarning(stringBuilder.ToString()); + } } } } diff --git a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Microsoft - Backup.TestPlatform.Extensions.TrxLogger.csproj b/src/Microsoft.TestPlatform.Extensions.TrxLogger/Microsoft - Backup.TestPlatform.Extensions.TrxLogger.csproj deleted file mode 100644 index dda735f4ae..0000000000 --- a/src/Microsoft.TestPlatform.Extensions.TrxLogger/Microsoft - Backup.TestPlatform.Extensions.TrxLogger.csproj +++ /dev/null @@ -1,75 +0,0 @@ - - - - ..\..\ - - - - Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger - netstandard2.0;net451 - net6.0 - false - - - - - - - - - - - - - - - - - - - - - - - - - - - True - True - NullableHelpers.tt - - - True - True - TrxResource.resx - - - - - ResXFileCodeGenerator - TrxResource.Designer.cs - - - - Microsoft.VisualStudio.TestPlatform.Extensions.TrxLogger - - - - - - - - - - - - NullableHelpers.cs - TextTemplatingFileGenerator - - - - - - - diff --git a/src/Microsoft.TestPlatform.ObjectModel/Client/Events/DiscoveryCompleteEventArgs.cs b/src/Microsoft.TestPlatform.ObjectModel/Client/Events/DiscoveryCompleteEventArgs.cs index c7334ec504..92609a36ef 100644 --- a/src/Microsoft.TestPlatform.ObjectModel/Client/Events/DiscoveryCompleteEventArgs.cs +++ b/src/Microsoft.TestPlatform.ObjectModel/Client/Events/DiscoveryCompleteEventArgs.cs @@ -47,19 +47,27 @@ public DiscoveryCompleteEventArgs(long totalTests, bool isAborted) public IDictionary Metrics { get; set; } /// - /// Gets the list of sources which were fully discovered. + /// Gets or sets the list of sources which were fully discovered. /// [DataMember] public IList FullyDiscoveredSources { get; set; } = new List(); /// - /// Gets the list of sources which were partially discovered (started discover tests, but then discovery aborted). + /// Gets or sets the list of sources which were partially discovered (started discover tests, but then discovery aborted). /// [DataMember] + // Added in protocol version 6. public IList PartiallyDiscoveredSources { get; set; } = new List(); /// - /// Gets the list of sources which were not discovered at all. + /// Gets or sets the list of sources that were skipped during discovery. + /// + [DataMember] + // Added in protocol version 7, for previous versions this is put into NotDiscoveredSources. + public IList SkippedDiscoveredSources { get; set; } = new List(); + + /// + /// Gets or sets the list of sources which were not discovered at all. /// [DataMember] public IList NotDiscoveredSources { get; set; } = new List(); diff --git a/src/Microsoft.TestPlatform.ObjectModel/Client/Interfaces/ITestPlatform.cs b/src/Microsoft.TestPlatform.ObjectModel/Client/Interfaces/ITestPlatform.cs index 4df3088b58..26d1074f71 100644 --- a/src/Microsoft.TestPlatform.ObjectModel/Client/Interfaces/ITestPlatform.cs +++ b/src/Microsoft.TestPlatform.ObjectModel/Client/Interfaces/ITestPlatform.cs @@ -46,7 +46,8 @@ IDiscoveryRequest CreateDiscoveryRequest( IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, - Dictionary sourceToSourceDetailMap); + Dictionary sourceToSourceDetailMap, + IWarningLogger warningLogger); /// /// Creates a test run request. @@ -61,7 +62,8 @@ ITestRunRequest CreateTestRunRequest( IRequestData requestData, TestRunCriteria testRunCriteria, TestPlatformOptions options, - Dictionary sourceToSourceDetailMap); + Dictionary sourceToSourceDetailMap, + IWarningLogger warningLogger); /// /// Starts a test session. @@ -78,5 +80,6 @@ bool StartTestSession( IRequestData requestData, StartTestSessionCriteria criteria, ITestSessionEventsHandler eventsHandler, - Dictionary sourceToSourceDetailMap); + Dictionary sourceToSourceDetailMap, + IWarningLogger warningLogger); } diff --git a/src/Microsoft.TestPlatform.ObjectModel/Client/Interfaces/IWarningLogger.cs b/src/Microsoft.TestPlatform.ObjectModel/Client/Interfaces/IWarningLogger.cs new file mode 100644 index 0000000000..ded7ceaf39 --- /dev/null +++ b/src/Microsoft.TestPlatform.ObjectModel/Client/Interfaces/IWarningLogger.cs @@ -0,0 +1,16 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client; + +/// +/// DO NOT use this to extend TestPlatform, it is public only because ITestPlatform is also public, and will be made internal later. +/// +public interface IWarningLogger +{ + /// + /// Log warning message that will be shown to user. + /// + /// message string + void LogWarning(string message); +} diff --git a/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt b/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt index 92f9d455b4..5a67f67e54 100644 --- a/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt +++ b/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt @@ -228,8 +228,6 @@ Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestMessageEventHandler. Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestMessageEventHandler.HandleRawMessage(string rawMessage) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform.ClearExtensions() -> void -Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform.CreateDiscoveryRequest(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria discoveryCriteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestPlatformOptions options, System.Collections.Generic.Dictionary sourceToSourceDetailMap) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IDiscoveryRequest -Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform.CreateTestRunRequest(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCriteria testRunCriteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestPlatformOptions options, System.Collections.Generic.Dictionary sourceToSourceDetailMap) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestRunRequest Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform.UpdateExtensions(System.Collections.Generic.IEnumerable pathToAdditionalExtensions, bool skipExtensionFilters) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatformCapabilities Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatformCapabilities.TestPlatformType.get -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestPlatformType @@ -882,18 +880,14 @@ override Microsoft.VisualStudio.TestPlatform.ObjectModel.InvokedDataCollector.Eq override Microsoft.VisualStudio.TestPlatform.ObjectModel.InvokedDataCollector.GetHashCode() -> int override Microsoft.VisualStudio.TestPlatform.ObjectModel.InvokedDataCollector.ToString() -> string const Microsoft.VisualStudio.TestPlatform.ObjectModel.Constants.MinimumProtocolVersionWithCancelDiscoveryEventHandlerSupport = 6 -> int -Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.FullyDiscoveredSources.get -> System.Collections.Generic.IList Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.FullyDiscoveredSources.set -> void -Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.NotDiscoveredSources.get -> System.Collections.Generic.IList Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.NotDiscoveredSources.set -> void -Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.PartiallyDiscoveredSources.get -> System.Collections.Generic.IList Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.PartiallyDiscoveredSources.set -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria.DiscoveryCriteria(System.Collections.Generic.IEnumerable sources, long frequencyOfDiscoveredTestsEvent, System.TimeSpan discoveredTestEventTimeout, string runSettings, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestSessionInfo testSessionInfo) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria.TestSessionInfo.get -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestSessionInfo Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria.TestSessionInfo.set -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryRequestPayload.TestSessionInfo.get -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestSessionInfo Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryRequestPayload.TestSessionInfo.set -> void -Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform.StartTestSession(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCriteria criteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestSessionEventsHandler eventsHandler, System.Collections.Generic.Dictionary sourceToSourceDetailMap) -> bool Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestSessionEventsHandler.HandleStartTestSessionComplete(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCompleteEventArgs eventArgs) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestSessionEventsHandler.HandleStopTestSessionComplete(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StopTestSessionCompleteEventArgs eventArgs) -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.Payloads.StartTestSessionAckPayload.EventArgs.get -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCompleteEventArgs @@ -954,3 +948,13 @@ Microsoft.VisualStudio.TestPlatform.ObjectModel.EditorAttachDebuggerPayload.Targ Microsoft.VisualStudio.TestPlatform.ObjectModel.EditorAttachDebuggerPayload.TargetFramework.set -> void Microsoft.VisualStudio.TestPlatform.ObjectModel.TestProcessAttachDebuggerPayload.TargetFramework.get -> string Microsoft.VisualStudio.TestPlatform.ObjectModel.TestProcessAttachDebuggerPayload.TargetFramework.set -> void +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.SkippedDiscoveredSources.set -> void +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform.CreateDiscoveryRequest(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCriteria discoveryCriteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestPlatformOptions options, System.Collections.Generic.Dictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IDiscoveryRequest +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform.CreateTestRunRequest(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCriteria testRunCriteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestPlatformOptions options, System.Collections.Generic.Dictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestRunRequest +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestPlatform.StartTestSession(Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IRequestData requestData, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.StartTestSessionCriteria criteria, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.ITestSessionEventsHandler eventsHandler, System.Collections.Generic.Dictionary sourceToSourceDetailMap, Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger warningLogger) -> bool +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.IWarningLogger.LogWarning(string message) -> void +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.FullyDiscoveredSources.get -> System.Collections.Generic.IList +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.NotDiscoveredSources.get -> System.Collections.Generic.IList +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.PartiallyDiscoveredSources.get -> System.Collections.Generic.IList +Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.DiscoveryCompleteEventArgs.SkippedDiscoveredSources.get -> System.Collections.Generic.IList diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/VsTestConsoleRequestSender.cs b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/VsTestConsoleRequestSender.cs index eb7d1a4a8d..61aad0044d 100644 --- a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/VsTestConsoleRequestSender.cs +++ b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/VsTestConsoleRequestSender.cs @@ -979,6 +979,7 @@ private void SendMessageAndListenAndReportTestCases( FullyDiscoveredSources = discoveryCompletePayload.FullyDiscoveredSources, PartiallyDiscoveredSources = discoveryCompletePayload.PartiallyDiscoveredSources, NotDiscoveredSources = discoveryCompletePayload.NotDiscoveredSources, + SkippedDiscoveredSources = discoveryCompletePayload.SkippedDiscoverySources, DiscoveredExtensions = discoveryCompletePayload.DiscoveredExtensions, Metrics = discoveryCompletePayload.Metrics, }; @@ -1070,6 +1071,7 @@ private async Task SendMessageAndListenAndReportTestCasesAsync( FullyDiscoveredSources = discoveryCompletePayload.FullyDiscoveredSources, PartiallyDiscoveredSources = discoveryCompletePayload.PartiallyDiscoveredSources, NotDiscoveredSources = discoveryCompletePayload.NotDiscoveredSources, + SkippedDiscoveredSources = discoveryCompletePayload.SkippedDiscoverySources, DiscoveredExtensions = discoveryCompletePayload.DiscoveredExtensions, }; diff --git a/src/vstest.console/Internal/EventRegistrarToWarningLoggerAdapter.cs b/src/vstest.console/Internal/EventRegistrarToWarningLoggerAdapter.cs new file mode 100644 index 0000000000..9f5e31b2e2 --- /dev/null +++ b/src/vstest.console/Internal/EventRegistrarToWarningLoggerAdapter.cs @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.VisualStudio.TestPlatform.Common.Interfaces; +using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client; + +namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Internal; + +internal class EventRegistrarToWarningLoggerAdapter : IWarningLogger +{ + private readonly IBaseTestEventsRegistrar _testEventsRegistrar; + + public EventRegistrarToWarningLoggerAdapter(IBaseTestEventsRegistrar testEventsRegistrar) + { + _testEventsRegistrar = testEventsRegistrar; + } + + public void LogWarning(string message) + { + _testEventsRegistrar.LogWarning(message); + } +} diff --git a/src/vstest.console/Internal/NullWarningLogger.cs b/src/vstest.console/Internal/NullWarningLogger.cs new file mode 100644 index 0000000000..916eab1579 --- /dev/null +++ b/src/vstest.console/Internal/NullWarningLogger.cs @@ -0,0 +1,14 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client; + +namespace Microsoft.VisualStudio.TestPlatform.CommandLine.Internal; + +internal class NullWarningLogger : IWarningLogger +{ + public void LogWarning(string message) + { + //TODO: Implement registrar in StartTestSession instead of passing null, and stop using this class. + } +} diff --git a/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs b/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs index bc40c0d72f..a7cf09071d 100644 --- a/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs +++ b/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs @@ -226,7 +226,8 @@ public void DiscoverTests( requestData, criteria, discoveryPayload.TestPlatformOptions, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new EventRegistrarToWarningLoggerAdapter(discoveryEventsRegistrar)); discoveryEventsRegistrar?.RegisterDiscoveryEvents(_currentDiscoveryRequest); // Notify start of discovery start. @@ -509,7 +510,7 @@ public void StartTestSession( TestHostLauncher = testHostLauncher }; - var testSessionStarted = _testPlatform.StartTestSession(requestData, criteria, eventsHandler, sourceToSourceDetailMap); + var testSessionStarted = _testPlatform.StartTestSession(requestData, criteria, eventsHandler, sourceToSourceDetailMap, new NullWarningLogger()); if (!testSessionStarted) { EqtTrace.Warning("TestRequestManager.StartTestSession: Unable to start test session."); @@ -1124,7 +1125,8 @@ private void RunTests( requestData, testRunCriteria, options, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new EventRegistrarToWarningLoggerAdapter(testRunEventsRegistrar)); _testRunResultAggregator.RegisterTestRunEvents(_currentTestRunRequest); testRunEventsRegistrar?.RegisterTestRunEvents(_currentTestRunRequest); diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/TranslationLayerTests/EventHandler/DiscoveryEventHandler.cs b/test/Microsoft.TestPlatform.AcceptanceTests/TranslationLayerTests/EventHandler/DiscoveryEventHandler.cs index 62e21775d3..2423e8ae25 100644 --- a/test/Microsoft.TestPlatform.AcceptanceTests/TranslationLayerTests/EventHandler/DiscoveryEventHandler.cs +++ b/test/Microsoft.TestPlatform.AcceptanceTests/TranslationLayerTests/EventHandler/DiscoveryEventHandler.cs @@ -74,6 +74,7 @@ public class DiscoveryEventHandler2 : ITestDiscoveryEventsHandler2 public IList? FullyDiscoveredSources { get; private set; } public IList? PartiallyDiscoveredSources { get; private set; } public IList? NotDiscoveredSources { get; private set; } + public IList? SkippedDiscoveredSources { get; private set; } public List TestMessages; @@ -109,6 +110,7 @@ public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryComplete FullyDiscoveredSources = discoveryCompleteEventArgs.FullyDiscoveredSources; PartiallyDiscoveredSources = discoveryCompleteEventArgs.PartiallyDiscoveredSources; NotDiscoveredSources = discoveryCompleteEventArgs.NotDiscoveredSources; + SkippedDiscoveredSources = discoveryCompleteEventArgs.SkippedDiscoveredSources; } public void HandleDiscoveredTests(IEnumerable discoveredTestCases) diff --git a/test/Microsoft.TestPlatform.Client.UnitTests/TestPlatformTests.cs b/test/Microsoft.TestPlatform.Client.UnitTests/TestPlatformTests.cs index ae968206a4..14f69fe448 100644 --- a/test/Microsoft.TestPlatform.Client.UnitTests/TestPlatformTests.cs +++ b/test/Microsoft.TestPlatform.Client.UnitTests/TestPlatformTests.cs @@ -55,12 +55,12 @@ public void CreateDiscoveryRequestShouldInitializeDiscoveryManagerAndCreateDisco _hostManager.Setup(hm => hm.GetTestSources(discoveryCriteria.Sources)) .Returns(discoveryCriteria.Sources); - _testEngine.Setup(te => te.GetDiscoveryManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_discoveryManager.Object); + _testEngine.Setup(te => te.GetDiscoveryManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_discoveryManager.Object); _testEngine.Setup(te => te.GetExtensionManager()).Returns(_extensionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); var tp = new TestableTestPlatform(_testEngine.Object, _hostManager.Object); - var discoveryRequest = tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, new TestPlatformOptions(), It.IsAny>()); + var discoveryRequest = tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); _discoveryManager.Verify(dm => dm.Initialize(false), Times.Once); Assert.AreEqual(discoveryCriteria, discoveryRequest.DiscoveryCriteria); @@ -105,7 +105,7 @@ public void CreateDiscoveryRequestThrowsIfDiscoveryCriteriaIsNull() { TestPlatform tp = new(); - Assert.ThrowsException(() => tp.CreateDiscoveryRequest(_mockRequestData.Object, null!, new TestPlatformOptions(), It.IsAny>())); + Assert.ThrowsException(() => tp.CreateDiscoveryRequest(_mockRequestData.Object, null!, new TestPlatformOptions(), It.IsAny>(), It.IsAny())); } [TestMethod] @@ -152,13 +152,13 @@ public void CreateTestRunRequestShouldUpdateLoggerExtensionWhenDesingModeIsFalse _hostManager.Setup(hm => hm.GetTestSources(testRunCriteria.Sources)) .Returns(testRunCriteria.Sources); - _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_executionManager.Object); + _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_executionManager.Object); _testEngine.Setup(te => te.GetExtensionManager()).Returns(_extensionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); var tp = new TestableTestPlatform(_testEngine.Object, _mockFileHelper.Object, _hostManager.Object); - var testRunRequest = tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>()); + var testRunRequest = tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); _extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, false)); } @@ -181,13 +181,13 @@ public void CreateTestRunRequestShouldUpdateLoggerExtensionWhenDesignModeIsFalse var testRunCriteria = new TestRunCriteria(new List { new TestCase("dll1.class1.test1", new Uri("hello://x/"), $"xyz{Path.DirectorySeparatorChar}1.dll") }, 10, false, settingsXml); - _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_executionManager.Object); + _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_executionManager.Object); _testEngine.Setup(te => te.GetExtensionManager()).Returns(_extensionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); var tp = new TestableTestPlatform(_testEngine.Object, _mockFileHelper.Object, _hostManager.Object); - var testRunRequest = tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>()); + var testRunRequest = tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); _extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, false)); } @@ -212,13 +212,13 @@ public void CreateTestRunRequestShouldNotUpdateTestSourcesIfSelectedTestAreRun() _hostManager.Setup(hm => hm.GetTestSources(It.IsAny>())) .Returns(new List { $"xyz{Path.DirectorySeparatorChar}1.dll" }); - _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_executionManager.Object); + _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_executionManager.Object); _testEngine.Setup(te => te.GetExtensionManager()).Returns(_extensionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); var tp = new TestableTestPlatform(_testEngine.Object, _mockFileHelper.Object, _hostManager.Object); - tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>()); + tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); _extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, false)); _hostManager.Verify(hm => hm.GetTestSources(It.IsAny>()), Times.Never); } @@ -227,7 +227,7 @@ public void CreateTestRunRequestShouldNotUpdateTestSourcesIfSelectedTestAreRun() public void CreateTestRunRequestShouldInitializeManagersAndCreateTestRunRequestWithSpecifiedCriteria() { _executionManager.Setup(dm => dm.Initialize(false)).Verifiable(); - _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_executionManager.Object); + _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_executionManager.Object); _testEngine.Setup(te => te.GetExtensionManager()).Returns(_extensionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); @@ -236,7 +236,7 @@ public void CreateTestRunRequestShouldInitializeManagersAndCreateTestRunRequestW _hostManager.Setup(hm => hm.GetTestSources(testRunCriteria.Sources)) .Returns(testRunCriteria.Sources); - var testRunRequest = tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>()); + var testRunRequest = tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); var actualTestRunRequest = testRunRequest as TestRunRequest; @@ -283,7 +283,7 @@ public void CreateTestRunRequestThrowsIfTestRunCriteriaIsNull() { var tp = new TestPlatform(); - Assert.ThrowsException(() => tp.CreateTestRunRequest(_mockRequestData.Object, null!, new TestPlatformOptions(), It.IsAny>())); + Assert.ThrowsException(() => tp.CreateTestRunRequest(_mockRequestData.Object, null!, new TestPlatformOptions(), It.IsAny>(), It.IsAny())); } /// @@ -311,13 +311,13 @@ public void CreateDiscoveryRequestShouldUpdateLoggerExtensionWhenDesignModeIsFal _hostManager.Setup(hm => hm.GetTestSources(discoveryCriteria.Sources)) .Returns(discoveryCriteria.Sources); - _testEngine.Setup(te => te.GetDiscoveryManager(It.IsAny(), It.IsAny(), It.IsAny>())).Returns(_discoveryManager.Object); + _testEngine.Setup(te => te.GetDiscoveryManager(It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_discoveryManager.Object); _testEngine.Setup(te => te.GetExtensionManager()).Returns(_extensionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); var tp = new TestableTestPlatform(_testEngine.Object, _mockFileHelper.Object, _hostManager.Object); // Action - var discoveryRequest = tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, new TestPlatformOptions(), It.IsAny>()); + var discoveryRequest = tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); // Verify _extensionManager.Verify(em => em.UseAdditionalExtensions(additionalExtensions, false)); @@ -329,7 +329,7 @@ public void CreateDiscoveryRequestShouldUpdateLoggerExtensionWhenDesignModeIsFal [TestMethod] public void CreateTestRunRequestShouldInitializeLoggerManagerForDesignMode() { - _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_executionManager.Object); + _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_executionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); string settingsXml = @@ -342,7 +342,7 @@ public void CreateTestRunRequestShouldInitializeLoggerManagerForDesignMode() var testRunCriteria = new TestRunCriteria(new List { @"x:dummy\foo.dll" }, 10, false, settingsXml); var tp = new TestableTestPlatform(_testEngine.Object, _hostManager.Object); - tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>()); + tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); _loggerManager.Verify(lm => lm.Initialize(settingsXml)); } @@ -353,7 +353,7 @@ public void CreateTestRunRequestShouldInitializeLoggerManagerForDesignMode() [TestMethod] public void CreateDiscoveryRequestShouldInitializeLoggerManagerForDesignMode() { - _testEngine.Setup(te => te.GetDiscoveryManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_discoveryManager.Object); + _testEngine.Setup(te => te.GetDiscoveryManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_discoveryManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); string settingsXml = @@ -366,7 +366,7 @@ public void CreateDiscoveryRequestShouldInitializeLoggerManagerForDesignMode() var discoveryCriteria = new DiscoveryCriteria(new List { @"x:dummy\foo.dll" }, 10, settingsXml); var tp = new TestableTestPlatform(_testEngine.Object, _hostManager.Object); - tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, new TestPlatformOptions(), It.IsAny>()); + tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); _loggerManager.Verify(lm => lm.Initialize(settingsXml)); } @@ -377,7 +377,7 @@ public void CreateDiscoveryRequestShouldInitializeLoggerManagerForDesignMode() [TestMethod] public void CreateTestRunRequestShouldInitializeLoggerManagerForNonDesignMode() { - _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_executionManager.Object); + _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_executionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); string settingsXml = @@ -390,7 +390,7 @@ public void CreateTestRunRequestShouldInitializeLoggerManagerForNonDesignMode() var testRunCriteria = new TestRunCriteria(new List { "foo" }, 10, false, settingsXml); var tp = new TestableTestPlatform(_testEngine.Object, _hostManager.Object); - tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>()); + tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); _loggerManager.Verify(lm => lm.Initialize(settingsXml)); } @@ -401,7 +401,7 @@ public void CreateTestRunRequestShouldInitializeLoggerManagerForNonDesignMode() [TestMethod] public void CreateDiscoveryRequestShouldInitializeLoggerManagerForNonDesignMode() { - _testEngine.Setup(te => te.GetDiscoveryManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_discoveryManager.Object); + _testEngine.Setup(te => te.GetDiscoveryManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_discoveryManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); string settingsXml = @@ -414,7 +414,7 @@ public void CreateDiscoveryRequestShouldInitializeLoggerManagerForNonDesignMode( var discoveryCriteria = new DiscoveryCriteria(new List { "foo" }, 10, settingsXml); var tp = new TestableTestPlatform(_testEngine.Object, _hostManager.Object); - tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, new TestPlatformOptions(), It.IsAny>()); + tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, new TestPlatformOptions(), It.IsAny>(), It.IsAny()); _loggerManager.Verify(lm => lm.Initialize(settingsXml)); } @@ -429,7 +429,8 @@ public void StartTestSessionShouldThrowExceptionIfTestSessionCriteriaIsNull() new Mock().Object, null!, new Mock().Object, - new Dictionary())); + new Dictionary(), + new Mock().Object)); } [TestMethod] @@ -452,7 +453,7 @@ public void StartTestSessionShouldReturnFalseIfDesignModeIsDisabled() new Mock().Object, testSessionCriteria, new Mock().Object, - It.IsAny>())); + It.IsAny>(), It.IsAny())); } [TestMethod] @@ -462,7 +463,7 @@ public void StartTestSessionShouldReturnFalseIfTestSessionManagerIsNull() te => te.GetTestSessionManager( It.IsAny(), It.IsAny(), - It.IsAny>())) + It.IsAny>(), It.IsAny())) .Returns((IProxyTestSessionManager)null!); var tp = new TestableTestPlatform(_testEngine.Object, _hostManager.Object); @@ -492,7 +493,7 @@ public void StartTestSessionShouldReturnFalseIfTestSessionManagerIsNull() new Mock().Object, testSessionCriteria, mockEventsHandler.Object, - It.IsAny>())); + It.IsAny>(), It.IsAny())); mockEventsHandler.Verify( eh => eh.HandleStartTestSessionComplete(It.IsAny()), @@ -526,7 +527,7 @@ public void StartTestSessionShouldReturnTrueIfTestSessionManagerStartSessionRetu te => te.GetTestSessionManager( It.IsAny(), It.IsAny(), - It.IsAny>())) + It.IsAny>(), It.IsAny())) .Returns(mockTestSessionManager.Object); Assert.IsTrue( @@ -534,7 +535,7 @@ public void StartTestSessionShouldReturnTrueIfTestSessionManagerStartSessionRetu new Mock().Object, testSessionCriteria, mockEventsHandler.Object, - It.IsAny>())); + It.IsAny>(), It.IsAny())); mockTestSessionManager.Verify( tsm => tsm.StartSession(mockEventsHandler.Object, It.IsAny()), @@ -568,7 +569,7 @@ public void StartTestSessionShouldReturnFalseIfTestSessionManagerStartSessionRet te => te.GetTestSessionManager( It.IsAny(), It.IsAny(), - It.IsAny>())) + It.IsAny>(), It.IsAny())) .Returns(mockTestSessionManager.Object); Assert.IsFalse( @@ -576,7 +577,7 @@ public void StartTestSessionShouldReturnFalseIfTestSessionManagerStartSessionRet mockRequestData.Object, testSessionCriteria, mockEventsHandler.Object, - It.IsAny>())); + It.IsAny>(), It.IsAny())); mockTestSessionManager.Verify( tsm => tsm.StartSession(mockEventsHandler.Object, mockRequestData.Object), @@ -590,18 +591,18 @@ private void InvokeCreateDiscoveryRequest(TestPlatformOptions? options = null) _hostManager.Setup(hm => hm.GetTestSources(discoveryCriteria.Sources)) .Returns(discoveryCriteria.Sources); - _testEngine.Setup(te => te.GetDiscoveryManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_discoveryManager.Object); + _testEngine.Setup(te => te.GetDiscoveryManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_discoveryManager.Object); _testEngine.Setup(te => te.GetExtensionManager()).Returns(_extensionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); var tp = new TestableTestPlatform(_testEngine.Object, _hostManager.Object); - tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, options, new Dictionary()); + tp.CreateDiscoveryRequest(_mockRequestData.Object, discoveryCriteria, options, new Dictionary(), new Mock().Object); } private void InvokeCreateTestRunRequest(TestPlatformOptions? options = null) { _executionManager.Setup(dm => dm.Initialize(false)).Verifiable(); - _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>())).Returns(_executionManager.Object); + _testEngine.Setup(te => te.GetExecutionManager(_mockRequestData.Object, It.IsAny(), It.IsAny>(), It.IsAny())).Returns(_executionManager.Object); _testEngine.Setup(te => te.GetExtensionManager()).Returns(_extensionManager.Object); _testEngine.Setup(te => te.GetLoggerManager(_mockRequestData.Object)).Returns(_loggerManager.Object); @@ -610,7 +611,7 @@ private void InvokeCreateTestRunRequest(TestPlatformOptions? options = null) _hostManager.Setup(hm => hm.GetTestSources(testRunCriteria.Sources)) .Returns(testRunCriteria.Sources); - tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, options, new Dictionary()); + tp.CreateTestRunRequest(_mockRequestData.Object, testRunCriteria, options, new Dictionary(), new Mock().Object); } private class TestableTestPlatform : TestPlatform diff --git a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/TestEngineTests.cs b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/TestEngineTests.cs index 6a62a2657d..b1678cce6a 100644 --- a/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/TestEngineTests.cs +++ b/test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/TestEngineTests.cs @@ -57,7 +57,7 @@ public void GetDiscoveryManagerShouldReturnANonNullInstance() ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - Assert.IsNotNull(_testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap)); + Assert.IsNotNull(_testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object)); } @@ -76,7 +76,7 @@ public void GetDiscoveryManagerShouldReturnParallelProxyDiscoveryManagerIfNotRun ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsInstanceOfType(discoveryManager, typeof(ParallelProxyDiscoveryManager)); } @@ -98,7 +98,7 @@ public void GetDiscoveryManagerShouldNotReturnInProcessProxyDiscoveryManagerIfCu _mockProcessHelper.Setup(o => o.GetCurrentProcessFileName()).Returns("dotnet.exe"); - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsNotInstanceOfType(discoveryManager, typeof(InProcessProxyDiscoveryManager)); } @@ -122,7 +122,7 @@ public void GetDiscoveryManagerShouldNotReturnInProcessProxyDiscoveryManagerIfDi ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsNotInstanceOfType(discoveryManager, typeof(InProcessProxyDiscoveryManager)); } @@ -146,7 +146,7 @@ public void GetDiscoveryManagerShouldNotReturnInProcessProxyDiscoveryManagerIfDe ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsNotInstanceOfType(discoveryManager, typeof(InProcessProxyDiscoveryManager)); } @@ -170,7 +170,7 @@ public void GetDiscoveryManagerShouldNotReturnInProcessProxyDiscoveryManagereIfT ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsNotInstanceOfType(discoveryManager, typeof(InProcessProxyDiscoveryManager)); } @@ -194,7 +194,7 @@ public void GetDiscoveryManagerShouldNotReturnInProcessProxyDiscoveryManagereIfT ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsNotInstanceOfType(discoveryManager, typeof(InProcessProxyDiscoveryManager)); } @@ -218,7 +218,7 @@ public void GetDiscoveryManagerShouldNotReturnInProcessProxyDiscoveryManagereIfT ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsNotInstanceOfType(discoveryManager, typeof(InProcessProxyDiscoveryManager)); } @@ -245,7 +245,7 @@ public void GetDiscoveryManagerShouldNotReturnInProcessProxyDiscoveryManagereIfr ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsNotInstanceOfType(discoveryManager, typeof(InProcessProxyDiscoveryManager)); } @@ -269,7 +269,7 @@ public void GetDiscoveryManagerShouldReturnsInProcessProxyDiscoveryManager() ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap); + var discoveryManager = _testEngine.GetDiscoveryManager(_mockRequestData.Object, discoveryCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(discoveryManager); Assert.IsInstanceOfType(discoveryManager, typeof(InProcessProxyDiscoveryManager)); } @@ -284,7 +284,7 @@ public void GetExecutionManagerShouldReturnANonNullInstance() ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - Assert.IsNotNull(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap)); + Assert.IsNotNull(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object)); } [TestMethod] @@ -296,9 +296,9 @@ public void GetExecutionManagerShouldReturnNewInstance() { ["1.dll"] = new SourceDetail { Source = "1.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap); + var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object); - Assert.AreNotSame(executionManager, _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap)); + Assert.AreNotSame(executionManager, _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object)); } [TestMethod] @@ -318,8 +318,8 @@ public void GetExecutionManagerShouldReturnParallelExecutionManagerIfParallelEna ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - Assert.IsNotNull(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap)); - Assert.IsInstanceOfType(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap), typeof(ParallelProxyExecutionManager)); + Assert.IsNotNull(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object)); + Assert.IsInstanceOfType(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object), typeof(ParallelProxyExecutionManager)); } [TestMethod] @@ -339,8 +339,8 @@ public void GetExecutionManagerShouldReturnParallelExecutionManagerIfHostIsNotSh ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - Assert.IsNotNull(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap)); - Assert.IsInstanceOfType(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap), typeof(ParallelProxyExecutionManager)); + Assert.IsNotNull(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object)); + Assert.IsInstanceOfType(_testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object), typeof(ParallelProxyExecutionManager)); } [TestMethod] @@ -363,7 +363,7 @@ public void GetExecutionManagerShouldNotReturnInProcessProxyexecutionManagerIfIn ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap); + var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(executionManager); Assert.IsNotInstanceOfType(executionManager, typeof(InProcessProxyExecutionManager)); @@ -389,7 +389,7 @@ public void GetExecutionManagerShouldNotReturnInProcessProxyexecutionManagerIfPa ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap); + var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(executionManager); Assert.IsNotInstanceOfType(executionManager, typeof(InProcessProxyExecutionManager)); @@ -421,7 +421,7 @@ public void GetExecutionManagerShouldNotReturnInProcessProxyexecutionManagerIfDa ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap); + var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(executionManager); Assert.IsNotInstanceOfType(executionManager, typeof(InProcessProxyExecutionManager)); @@ -456,7 +456,7 @@ public void GetExecutionManagerShouldNotReturnInProcessProxyexecutionManagerIfIn ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap); + var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(executionManager); Assert.IsNotInstanceOfType(executionManager, typeof(InProcessProxyExecutionManager)); @@ -485,7 +485,7 @@ public void GetExecutionManagerShouldNotReturnInProcessProxyexecutionManagerIfru ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap); + var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(executionManager); Assert.IsNotInstanceOfType(executionManager, typeof(InProcessProxyExecutionManager)); @@ -512,7 +512,7 @@ public void GetExecutionManagerShouldReturnInProcessProxyexecutionManager() ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap); + var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object); Assert.IsNotNull(executionManager); Assert.IsInstanceOfType(executionManager, typeof(InProcessProxyExecutionManager)); @@ -544,7 +544,7 @@ public void GetExtensionManagerShouldCollectMetrics() ["2.dll"] = new SourceDetail { Source = "2.dll", Architecture = Architecture.X86, Framework = Framework.DefaultFramework }, }; - var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap); + var executionManager = _testEngine.GetExecutionManager(_mockRequestData.Object, testRunCriteria, sourceToSourceDetailMap, new Mock().Object); _mockMetricsCollection.Verify(mc => mc.Add(TelemetryDataConstants.ParallelEnabledDuringExecution, It.IsAny()), Times.Once); } @@ -585,7 +585,8 @@ public void GetTestSessionManagerShouldReturnAValidInstance() Assert.IsNotNull(_testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap)); + sourceToSourceDetailMap, + new Mock().Object)); } [TestMethod] @@ -606,13 +607,15 @@ public void GetTestSessionManagerShouldReturnNewInstance() var testSessionManager1 = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.AreNotSame( _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap), + sourceToSourceDetailMap, + new Mock().Object), testSessionManager1); } @@ -640,7 +643,8 @@ public void GetTestSessionManagerShouldReturnDefaultTestSessionManagerIfParallel var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); Assert.IsInstanceOfType(testSessionManager, typeof(ProxyTestSessionManager)); @@ -671,7 +675,8 @@ public void GetTestSessionManagerShouldReturnDefaultTestSessionManagerEvenIfPara var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); Assert.IsInstanceOfType(testSessionManager, typeof(ProxyTestSessionManager)); @@ -701,7 +706,8 @@ public void GetTestSessionManagerShouldReturnDefaultTestSessionManagerIfParallel var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); Assert.IsInstanceOfType(testSessionManager, typeof(ProxyTestSessionManager)); @@ -731,7 +737,8 @@ public void GetTestSessionManagerShouldReturnDefaultTestSessionManagerIfHostIsNo var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); Assert.IsInstanceOfType(testSessionManager, typeof(ProxyTestSessionManager)); @@ -762,7 +769,8 @@ public void GetTestSessionManagerShouldReturnDefaultTestSessionManagerIfDataColl var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); Assert.IsInstanceOfType(testSessionManager, typeof(ProxyTestSessionManager)); @@ -792,7 +800,8 @@ public void GetTestSessionManagerShouldReturnNullWhenTargetFrameworkIsNetFramewo Assert.IsNull(_testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap)); + sourceToSourceDetailMap, + new Mock().Object)); } [TestMethod] @@ -814,7 +823,8 @@ public void GetTestSessionManagerShouldReturnNotNullIfCurrentProcessIsDotnet() var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, +new Mock().Object); Assert.IsNotNull(testSessionManager); } @@ -845,7 +855,8 @@ public void GetTestSessionManagerShouldReturnNotNullIfDisableAppDomainIsSet() var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); } @@ -877,7 +888,8 @@ public void GetTestSessionManagerShouldReturnNotNullIfDesignModeIsTrue() var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); } @@ -909,7 +921,8 @@ public void GetTestSessionManagerShouldReturnNotNullIfTargetFrameworkIsNetcoreAp var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); } @@ -941,7 +954,8 @@ public void GetTestSessionManagerShouldReturnNotNullIfTargetFrameworkIsNetStanda var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); } @@ -973,7 +987,8 @@ public void GetTestSessionManagerShouldReturnNotNullIfTargetPlatformIsX64() var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); } @@ -1008,7 +1023,8 @@ public void GetTestSessionManagerShouldReturnNotNullIfRunSettingsHasTestSettings var testSessionManager = _testEngine.GetTestSessionManager( _mockRequestData.Object, testSessionCriteria, - sourceToSourceDetailMap); + sourceToSourceDetailMap, + new Mock().Object); Assert.IsNotNull(testSessionManager); } diff --git a/test/vstest.console.UnitTests/Processors/ListFullyQualifiedTestsArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/ListFullyQualifiedTestsArgumentProcessorTests.cs index 8f7d808751..47e8cb65a0 100644 --- a/test/vstest.console.UnitTests/Processors/ListFullyQualifiedTestsArgumentProcessorTests.cs +++ b/test/vstest.console.UnitTests/Processors/ListFullyQualifiedTestsArgumentProcessorTests.cs @@ -156,7 +156,7 @@ public void ExecutorExecuteShouldThrowTestPlatformException() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new TestPlatformException("DummyTestPlatformException")); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(true); @@ -174,7 +174,7 @@ public void ExecutorExecuteShouldThrowSettingsException() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new SettingsException("DummySettingsException")); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(true); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); @@ -191,7 +191,7 @@ public void ExecutorExecuteShouldThrowInvalidOperationException() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new InvalidOperationException("DummyInvalidOperationException")); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(true); @@ -210,7 +210,7 @@ public void ExecutorExecuteShouldThrowOtherExceptions() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new Exception("DummyException")); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(true); @@ -300,7 +300,7 @@ private void RunListFullyQualifiedTestArgumentProcessorWithTraits(Mock dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(legitPath); var cmdOptions = CommandLineOptions.Instance; @@ -320,7 +320,7 @@ private void RunListFullyQualifiedTestArgumentProcessorExecuteWithMockSetup(Mock new TestCase("Test2", new Uri("http://FooTestUri2"), "Source2") }; mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(legitPath); diff --git a/test/vstest.console.UnitTests/Processors/ListTestsArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/ListTestsArgumentProcessorTests.cs index f20f085a44..d09dc9055e 100644 --- a/test/vstest.console.UnitTests/Processors/ListTestsArgumentProcessorTests.cs +++ b/test/vstest.console.UnitTests/Processors/ListTestsArgumentProcessorTests.cs @@ -159,7 +159,7 @@ public void ExecutorExecuteShouldThrowTestPlatformException() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new TestPlatformException("DummyTestPlatformException")); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); @@ -176,7 +176,7 @@ public void ExecutorExecuteShouldThrowSettingsException() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new SettingsException("DummySettingsException")); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); @@ -193,7 +193,7 @@ public void ExecutorExecuteShouldThrowInvalidOperationException() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new InvalidOperationException("DummyInvalidOperationException")); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); @@ -210,7 +210,7 @@ public void ExecutorExecuteShouldThrowOtherExceptions() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new Exception("DummyException")); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); @@ -268,7 +268,7 @@ private void RunListTestArgumentProcessorExecuteWithMockSetup(Mock dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); diff --git a/test/vstest.console.UnitTests/Processors/RunSpecificTestsArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/RunSpecificTestsArgumentProcessorTests.cs index 27b2fecc04..bc6417ff72 100644 --- a/test/vstest.console.UnitTests/Processors/RunSpecificTestsArgumentProcessorTests.cs +++ b/test/vstest.console.UnitTests/Processors/RunSpecificTestsArgumentProcessorTests.cs @@ -196,8 +196,8 @@ public void ExecutorExecuteForValidSourceWithTestCaseFilterShouldRunTests() }; mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); var executor = GetExecutor(testRequestManager); @@ -207,7 +207,7 @@ public void ExecutorExecuteForValidSourceWithTestCaseFilterShouldRunTests() ArgumentProcessorResult argumentProcessorResult = executor.Execute(); _mockOutput.Verify(o => o.WriteLine(It.IsAny(), OutputLevel.Warning), Times.Never); - mockTestPlatform.Verify(o => o.CreateDiscoveryRequest(It.IsAny(), It.Is(c => c.TestCaseFilter == "Filter"), It.IsAny(), It.IsAny>()), Times.Once()); + mockTestPlatform.Verify(o => o.CreateDiscoveryRequest(It.IsAny(), It.Is(c => c.TestCaseFilter == "Filter"), It.IsAny(), It.IsAny>(), It.IsAny()), Times.Once()); Assert.AreEqual(ArgumentProcessorResult.Success, argumentProcessorResult); } @@ -220,8 +220,8 @@ public void ExecutorExecuteShouldThrowTestPlatformExceptionThrownDuringDiscovery var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new TestPlatformException("DummyTestPlatformException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); @@ -238,8 +238,8 @@ public void ExecutorExecuteShouldThrowInvalidOperationExceptionThrownDuringDisco var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new InvalidOperationException("DummyInvalidOperationException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); @@ -256,8 +256,8 @@ public void ExecutorExecuteShouldThrowSettingsExceptionThrownDuringDiscovery() var mockDiscoveryRequest = new Mock(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Throws(new SettingsException("DummySettingsException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); @@ -281,8 +281,8 @@ public void ExecutorExecuteShouldThrowTestPlatformExceptionThrownDuringExecution mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); mockTestRunRequest.Setup(dr => dr.ExecuteAsync()).Throws(new TestPlatformException("DummyTestPlatformException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); @@ -308,8 +308,8 @@ public void ExecutorExecuteShouldThrowSettingsExceptionThrownDuringExecution() mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); mockTestRunRequest.Setup(dr => dr.ExecuteAsync()).Throws(new SettingsException("DummySettingsException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); @@ -335,8 +335,8 @@ public void ExecutorExecuteShouldThrowInvalidOperationExceptionThrownDuringExecu mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); mockTestRunRequest.Setup(dr => dr.ExecuteAsync()).Throws(new InvalidOperationException("DummySettingsException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); @@ -360,7 +360,7 @@ public void ExecutorExecuteShouldForValidSourcesAndNoTestsDiscoveredShouldLogWar CommandLineOptions.Instance.TestAdapterPath = new[] { @"C:\Foo" }; mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(new List())); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); var executor = GetExecutor(testRequestManager); @@ -381,7 +381,7 @@ public void ExecutorExecuteShouldForValidSourcesAndNoTestsDiscoveredShouldLogApp ResetAndAddSourceToCommandLineOptions(); mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(new List())); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); var executor = GetExecutor(testRequestManager); @@ -408,8 +408,8 @@ public void ExecutorExecuteShouldForValidSourcesAndValidSelectedTestsRunsTestsAn }; mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); var executor = GetExecutor(testRequestManager); @@ -436,8 +436,8 @@ public void ExecutorShouldRunTestsWhenTestsAreCommaSeparated() }; mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); var executor = GetExecutor(testRequestManager); @@ -465,8 +465,8 @@ public void ExecutorShouldRunTestsWhenTestsAreFiltered() }; mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); var executor = GetExecutor(testRequestManager); @@ -493,8 +493,8 @@ public void ExecutorShouldWarnWhenTestsAreNotAvailable() }; mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); var executor = GetExecutor(testRequestManager); @@ -522,8 +522,8 @@ public void ExecutorShouldRunTestsWhenTestsAreCommaSeparatedWithEscape() }; mockDiscoveryRequest.Setup(dr => dr.DiscoverAsync()).Raises(dr => dr.OnDiscoveredTests += null, new DiscoveredTestsEventArgs(list)); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); var executor = GetExecutor(testRequestManager); @@ -553,8 +553,8 @@ public void ExecutorShouldDisplayWarningIfNoTestsAreExecuted() mockTestRunRequest.Setup(tr => tr.ExecuteAsync()).Returns(1).Raises(tr => tr.OnRunCompletion += null, new TestRunCompleteEventArgs(mockTestRunStats.Object, false, false, null, null, null, new TimeSpan())); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); @@ -584,8 +584,8 @@ public void ExecutorShouldNotDisplayWarningIfTestsAreExecuted() mockTestRunRequest.Setup(tr => tr.ExecuteAsync()).Returns(1).Raises(tr => tr.OnRunCompletion += null, new TestRunCompleteEventArgs(testRunStats, false, false, null, null, null, new TimeSpan())); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); - mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockDiscoveryRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockDiscoveryRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); diff --git a/test/vstest.console.UnitTests/Processors/RunTestsArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/RunTestsArgumentProcessorTests.cs index 709fb1336c..d260437ccc 100644 --- a/test/vstest.console.UnitTests/Processors/RunTestsArgumentProcessorTests.cs +++ b/test/vstest.console.UnitTests/Processors/RunTestsArgumentProcessorTests.cs @@ -156,7 +156,7 @@ public void ExecutorExecuteShouldThrowTestPlatformException() var mockTestRunRequest = new Mock(); mockTestRunRequest.Setup(tr => tr.ExecuteAsync()).Throws(new TestPlatformException("DummyTestPlatformException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _environment.Object); @@ -172,7 +172,7 @@ public void ExecutorExecuteShouldThrowSettingsException() var mockTestRunRequest = new Mock(); mockTestRunRequest.Setup(tr => tr.ExecuteAsync()).Throws(new SettingsException("DummySettingsException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _environment.Object); @@ -188,7 +188,7 @@ public void ExecutorExecuteShouldThrowInvalidOperationException() var mockTestRunRequest = new Mock(); mockTestRunRequest.Setup(tr => tr.ExecuteAsync()).Throws(new InvalidOperationException("DummyInvalidOperationException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _environment.Object); @@ -204,7 +204,7 @@ public void ExecutorExecuteShouldThrowOtherExceptions() var mockTestRunRequest = new Mock(); mockTestRunRequest.Setup(tr => tr.ExecuteAsync()).Throws(new Exception("DummyException")); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(mockTestRunRequest.Object); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(mockTestRunRequest.Object); ResetAndAddSourceToCommandLineOptions(); var testRequestManager = new TestRequestManager(CommandLineOptions.Instance, mockTestPlatform.Object, TestRunResultAggregator.Instance, _mockTestPlatformEventSource.Object, _inferHelper, _mockMetricsPublisherTask, _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _environment.Object); @@ -260,7 +260,7 @@ private ArgumentProcessorResult RunRunArgumentProcessorExecuteWithMockSetup(ITes var args = new TestRunCompleteEventArgs(mockTestRunStats.Object, false, false, null, null, null, new TimeSpan()); - mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Returns(testRunRequest); + mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Returns(testRunRequest); ResetAndAddSourceToCommandLineOptions(); diff --git a/test/vstest.console.UnitTests/Processors/TestSourceArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/TestSourceArgumentProcessorTests.cs index 568cf62b7d..2a2e7f8e3a 100644 --- a/test/vstest.console.UnitTests/Processors/TestSourceArgumentProcessorTests.cs +++ b/test/vstest.console.UnitTests/Processors/TestSourceArgumentProcessorTests.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.IO; using System.Linq; using Microsoft.Extensions.FileSystemGlobbing; @@ -81,7 +82,8 @@ public void ExecuterInitializeWithInvalidSourceShouldThrowCommandLineException() catch (Exception ex) { Assert.IsTrue(ex is TestSourceException); - Assert.AreEqual("The test source file \"" + testFilePath + "\" provided was not found.", ex.Message); + StringAssert.StartsWith(ex.Message, "The test source file \""); + StringAssert.EndsWith(ex.Message, testFilePath + "\" provided was not found."); } } diff --git a/test/vstest.console.UnitTests/TestPlatformHelpers/TestRequestManagerTests.cs b/test/vstest.console.UnitTests/TestPlatformHelpers/TestRequestManagerTests.cs index 34ef3ea010..750392c7f1 100644 --- a/test/vstest.console.UnitTests/TestPlatformHelpers/TestRequestManagerTests.cs +++ b/test/vstest.console.UnitTests/TestPlatformHelpers/TestRequestManagerTests.cs @@ -90,9 +90,9 @@ public TestRequestManagerTests() _mockProcessHelper.Object, _mockAttachmentsProcessingManager.Object, _mockEnvironment.Object); - _mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + _mockTestPlatform.Setup(tp => tp.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Returns(_mockDiscoveryRequest.Object); - _mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + _mockTestPlatform.Setup(tp => tp.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Returns(_mockRunRequest.Object); _mockAssemblyMetadataProvider.Setup(a => a.GetArchitecture(It.IsAny())) .Returns(Architecture.X86); @@ -167,8 +167,8 @@ public void DiscoverTestsShouldReadTheBatchSizeFromSettingsAndSetItForDiscoveryC DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); Assert.AreEqual(15, actualDiscoveryCriteria!.FrequencyOfDiscoveredTestsEvent); @@ -186,8 +186,8 @@ public void DiscoverTestsShouldCallTestPlatformAndSucceed() var createDiscoveryRequestCalled = 0; DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => { createDiscoveryRequestCalled++; actualDiscoveryCriteria = discoveryCriteria; @@ -241,8 +241,8 @@ public void DiscoverTestsShouldPassSameProtocolConfigInRequestData() IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); var mockDiscoveryRegistrar = new Mock(); @@ -293,8 +293,8 @@ public void DiscoverTestsShouldCollectMetrics() IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -343,8 +343,8 @@ public void DiscoverTestsShouldCollectTargetDeviceLocalMachineIfTargetDeviceStri IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -387,8 +387,8 @@ public void DiscoverTestsShouldCollectTargetDeviceIfTargetDeviceIsDevice() IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -431,8 +431,8 @@ public void DiscoverTestsShouldCollectTargetDeviceIfTargetDeviceIsEmulator() IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -475,8 +475,8 @@ public void DiscoverTestsShouldCollectCommands() IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -531,8 +531,8 @@ public void DiscoverTestsShouldCollectTestSettings() IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -578,8 +578,8 @@ public void DiscoverTestsShouldCollectVsmdiFile() IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -625,8 +625,8 @@ public void DiscoverTestsShouldCollectTestRunConfigFile() IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -671,8 +671,8 @@ public void DiscoverTestsShouldUpdateFrameworkAndPlatformIfNotSpecifiedInDesignM .Returns(new FrameworkName(Constants.DotNetFramework46)); DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); @@ -705,8 +705,8 @@ public void DiscoverTestsShouldNotUpdateFrameworkAndPlatformIfSpecifiedInDesignM .Returns(new FrameworkName(Constants.DotNetFramework451)); DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); @@ -737,8 +737,8 @@ public void DiscoverTestsShouldUpdateFrameworkAndPlatformInCommandLineScenariosI .Returns(new FrameworkName(Constants.DotNetFramework46)); DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); _mockAssemblyMetadataProvider.Verify(a => a.GetArchitecture(It.IsAny())); @@ -773,9 +773,9 @@ public void DiscoverTestsShouldNotInferAndUpdateFrameworkAndPlatformInCommandLin DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); _mockTestPlatform - .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); @@ -855,8 +855,8 @@ public void RunTestsShouldReadTheBatchSizeFromSettingsAndSetItForTestRunCriteria TestRunCriteria? actualTestRunCriteria = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); Assert.AreEqual(15, actualTestRunCriteria!.FrequencyOfRunStatsChangeEvent); @@ -879,8 +879,8 @@ public void RunTestsShouldNotThrowForFramework35() TestRunCriteria? actualTestRunCriteria = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockDiscoveryRequest.Object); _mockAssemblyMetadataProvider.Setup(a => a.GetFrameworkName(It.IsAny())).Returns(new FrameworkName(Constants.DotNetFramework35)); var mockRunEventsRegistrar = new Mock(); @@ -904,8 +904,8 @@ public void RunTestsShouldPassSameProtocolConfigInRequestData() var mockProtocolConfig = new ProtocolConfig { Version = 6 }; IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); // Act. _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, mockProtocolConfig); @@ -928,8 +928,8 @@ public void RunTestsShouldCollectCommands() var mockProtocolConfig = new ProtocolConfig { Version = 6 }; IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -993,8 +993,8 @@ public void RunTestsShouldCollectTelemetryForLegacySettings() var mockProtocolConfig = new ProtocolConfig { Version = 6 }; IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -1041,8 +1041,8 @@ public void RunTestsShouldCollectTelemetryForTestSettingsEmbeddedInsideRunSettin var mockProtocolConfig = new ProtocolConfig { Version = 6 }; IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -1087,8 +1087,8 @@ public void RunTestsShouldCollectMetrics() var mockProtocolConfig = new ProtocolConfig { Version = 6 }; IRequestData? actualRequestData = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualRequestData = requestData).Returns(mockDiscoveryRequest.Object); _testRequestManager = new TestRequestManager( CommandLineOptions.Instance, @@ -1127,8 +1127,8 @@ public void RunTestsWithSourcesShouldCallTestPlatformAndSucceed() var createRunRequestCalled = 0; TestRunCriteria? observedCriteria = null; var mockRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => { createRunRequestCalled++; observedCriteria = runCriteria; @@ -1185,7 +1185,7 @@ public void RunTestsMultipleCallsShouldNotRunInParallel() }; var mockRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Returns(mockRunRequest.Object); var mockRunEventsRegistrar1 = new Mock(); @@ -1324,11 +1324,11 @@ public void DiscoverTestsShouldUpdateDesignModeAndCollectSourceInformation(bool var designmode = $"{designModeValue}"; _mockTestPlatform.Verify( - tp => tp.CreateDiscoveryRequest(It.IsAny(), It.Is(dc => dc.RunSettings.Contains(designmode)), It.IsAny(), It.IsAny>())); + tp => tp.CreateDiscoveryRequest(It.IsAny(), It.Is(dc => dc.RunSettings.Contains(designmode)), It.IsAny(), It.IsAny>(), It.IsAny())); var collectSourceInformation = $"{designModeValue}"; _mockTestPlatform.Verify( - tp => tp.CreateDiscoveryRequest(It.IsAny(), It.Is(dc => dc.RunSettings.Contains(collectSourceInformation)), It.IsAny(), It.IsAny>())); + tp => tp.CreateDiscoveryRequest(It.IsAny(), It.Is(dc => dc.RunSettings.Contains(collectSourceInformation)), It.IsAny(), It.IsAny>(), It.IsAny())); } [TestMethod] @@ -1342,7 +1342,7 @@ public void DiscoverTestsShouldNotUpdateDesignModeIfUserHasSetDesignModeInRunSet var designmode = "False"; _mockTestPlatform.Verify( - tp => tp.CreateDiscoveryRequest(It.IsAny(), It.Is(dc => dc.RunSettings.Contains(designmode)), It.IsAny(), It.IsAny>())); + tp => tp.CreateDiscoveryRequest(It.IsAny(), It.Is(dc => dc.RunSettings.Contains(designmode)), It.IsAny(), It.IsAny>(), It.IsAny())); } [DataTestMethod] @@ -1362,7 +1362,7 @@ public void RunTestsShouldUpdateDesignModeIfRunnerIsInDesignMode(bool designMode _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); var designmode = $"{designModeValue}"; - _mockTestPlatform.Verify(tp => tp.CreateTestRunRequest(It.IsAny(), It.Is(rc => rc.TestRunSettings.Contains(designmode)), It.IsAny(), It.IsAny>())); + _mockTestPlatform.Verify(tp => tp.CreateTestRunRequest(It.IsAny(), It.Is(rc => rc.TestRunSettings.Contains(designmode)), It.IsAny(), It.IsAny>(), It.IsAny())); } [DataTestMethod] @@ -1377,7 +1377,7 @@ public void DiscoverTestsShouldNotUpdateCollectSourceInformationIfUserHasSetItIn var collectSourceInformation = $"{val}"; _mockTestPlatform.Verify( - tp => tp.CreateDiscoveryRequest(It.IsAny(), It.Is(dc => dc.RunSettings.Contains(collectSourceInformation)), It.IsAny(), It.IsAny>())); + tp => tp.CreateDiscoveryRequest(It.IsAny(), It.Is(dc => dc.RunSettings.Contains(collectSourceInformation)), It.IsAny(), It.IsAny>(), It.IsAny())); } [TestMethod] @@ -1401,8 +1401,8 @@ public void RunTestsShouldShouldUpdateFrameworkAndPlatformIfNotSpecifiedInDesign .Returns(new FrameworkName(Constants.DotNetFramework46)); TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); @@ -1438,8 +1438,8 @@ public void RunTestsShouldNotUpdateFrameworkAndPlatformIfSpecifiedInDesignMode() .Returns(new FrameworkName(Constants.DotNetFramework451)); TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); @@ -1479,8 +1479,8 @@ public void RunTestsShouldNotUpdatePlatformIfSpecifiedInDesignMode(string target .Returns(new FrameworkName(Constants.DotNetFramework451)); TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); @@ -1513,8 +1513,8 @@ public void RunTestsShouldUpdateFrameworkAndPlatformInCommandLineScenarios() .Returns(new FrameworkName(Constants.DotNetFramework46)); TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); @@ -1551,8 +1551,8 @@ public void RunTestsShouldNotpdateFrameworkAndPlatformInRunsettingsIfSpecifiedBy .Returns(new FrameworkName(Constants.DotNetFramework46)); TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); @@ -1593,8 +1593,8 @@ public void RunTestsWithTestCasesShouldUpdateFrameworkAndPlatformIfNotSpecifiedI .Returns(new FrameworkName(Constants.DotNetFramework46)); TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); @@ -1728,8 +1728,8 @@ public void RunTestsShouldAddConsoleLoggerInRunSettingsInNonDesignMode() _commandLineOptions.IsDesignMode = false; TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); @@ -1767,8 +1767,8 @@ public void RunTestsShouldAddConsoleLoggerInRunSettingsIfDesignModeSetFalseInRun _commandLineOptions.IsDesignMode = true; TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); var loggerSettingsList = XmlRunSettingsUtilities.GetLoggerRunSettings(actualTestRunCriteria!.TestRunSettings).LoggerSettingsList; @@ -1807,9 +1807,9 @@ public void DiscoverTestsShouldAddConsoleLoggerInRunSettingsIfDesignModeSetFalse DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); _mockTestPlatform - .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); @@ -1841,8 +1841,8 @@ public void RunTestsShouldNotAddConsoleLoggerInRunSettingsInDesignMode() _commandLineOptions.IsDesignMode = false; TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); Assert.IsFalse(actualTestRunCriteria!.TestRunSettings.Contains("LoggerRunSettings")); @@ -1865,9 +1865,9 @@ public void DiscoverTestsShouldAddConsoleLoggerInRunSettingsInNonDesignMode() DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); _mockTestPlatform - .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); @@ -1897,9 +1897,9 @@ public void DiscoverTestsShouldNotAddConsoleLoggerInRunSettingsInDesignMode() DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); _mockTestPlatform - .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); @@ -1939,8 +1939,8 @@ public void RunTestsShouldOverrideOnlyAssemblyNameIfConsoleLoggerAlreadyPresentI _commandLineOptions.IsDesignMode = false; TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); var loggerSettingsList = XmlRunSettingsUtilities.GetLoggerRunSettings(actualTestRunCriteria!.TestRunSettings).LoggerSettingsList; @@ -1988,9 +1988,9 @@ public void DiscoverTestsShouldOverrideOnlyAssemblyNameIfConsoleLoggerAlreadyPre DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); _mockTestPlatform - .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); @@ -2040,8 +2040,8 @@ public void RunTestsShouldOverrideOnlyAssemblyNameIfConsoleLoggerAlreadyPresentI _commandLineOptions.IsDesignMode = false; TestRunCriteria? actualTestRunCriteria = null; var mockTestRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualTestRunCriteria = runCriteria).Returns(mockTestRunRequest.Object); _testRequestManager.RunTests(payload, new Mock().Object, new Mock().Object, _protocolConfig); var loggerSettingsList = XmlRunSettingsUtilities.GetLoggerRunSettings(actualTestRunCriteria!.TestRunSettings).LoggerSettingsList; @@ -2089,9 +2089,9 @@ public void DiscoverTestsShouldOverrideOnlyAssemblyNameIfConsoleLoggerAlreadyPre DiscoveryCriteria? actualDiscoveryCriteria = null; var mockDiscoveryRequest = new Mock(); _mockTestPlatform - .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())) + .Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())) .Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => actualDiscoveryCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); _testRequestManager.DiscoverTests(payload, new Mock().Object, _protocolConfig); @@ -2225,10 +2225,10 @@ public void StartTestSessionShouldPassCorrectTelemetryOptedInOptionToTestPlatfor It.IsAny(), It.IsAny(), It.IsAny(), - It.IsAny>())) + It.IsAny>(), It.IsAny())) .Returns(true) .Callback( - (IRequestData rd, StartTestSessionCriteria _, ITestSessionEventsHandler _, Dictionary _) => Assert.IsTrue(rd.IsTelemetryOptedIn)); + (IRequestData rd, StartTestSessionCriteria _, ITestSessionEventsHandler _, Dictionary _, IWarningLogger _) => Assert.IsTrue(rd.IsTelemetryOptedIn)); Environment.SetEnvironmentVariable("VSTEST_TELEMETRY_OPTEDIN", "1"); @@ -2272,10 +2272,11 @@ public void StartTestSessionShouldUpdateSettings() It.IsAny(), It.IsAny(), It.IsAny(), - It.IsAny>())) + It.IsAny>(), + It.IsAny())) .Returns(true) .Callback( - (IRequestData _, StartTestSessionCriteria criteria, ITestSessionEventsHandler _, Dictionary _) => + (IRequestData _, StartTestSessionCriteria criteria, ITestSessionEventsHandler _, Dictionary _, IWarningLogger _) => { Assert.IsTrue(criteria.RunSettings.Contains(Constants.DotNetFramework46)); Assert.IsTrue(criteria.RunSettings.Contains(nameof(Architecture.ARM))); @@ -2343,7 +2344,7 @@ public void StartTestSessionShouldBeSuccessful() It.IsAny(), It.IsAny(), It.IsAny(), - It.IsAny>())) + It.IsAny>(), It.IsAny())) .Returns(true); _testRequestManager.StartTestSession( @@ -2535,8 +2536,8 @@ private void RunTestsIfThrowsExceptionShouldThrowOut(Exception exception) var createRunRequestCalled = 0; TestRunCriteria? observedCriteria = null; var mockRunRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => + _mockTestPlatform.Setup(mt => mt.CreateTestRunRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, TestRunCriteria runCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => { createRunRequestCalled++; observedCriteria = runCriteria; @@ -2560,8 +2561,8 @@ private void DiscoverTestsIfThrowsExceptionShouldThrowOut(Exception exception) DiscoveryCriteria? observedCriteria = null; var mockDiscoveryRequest = new Mock(); - _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>())).Callback( - (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap) => observedCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); + _mockTestPlatform.Setup(mt => mt.CreateDiscoveryRequest(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny>(), It.IsAny())).Callback( + (IRequestData requestData, DiscoveryCriteria discoveryCriteria, TestPlatformOptions options, Dictionary sourceToSourceDetailMap, IWarningLogger _) => observedCriteria = discoveryCriteria).Returns(mockDiscoveryRequest.Object); mockDiscoveryRequest.Setup(mr => mr.DiscoverAsync()).Throws(exception);