| File: Client\Interfaces\ITestRunEventsHandler.cs | Web Access |
| Project: src\vstest\src\Microsoft.TestPlatform.ObjectModel\Microsoft.TestPlatform.ObjectModel.csproj (Microsoft.VisualStudio.TestPlatform.ObjectModel) |
// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System.Collections.Generic; using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging; namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client; /// <summary> /// Interface contract for handling test run events during run operation /// </summary> public interface ITestRunEventsHandler : ITestMessageEventHandler { /// <summary> /// Handle the TestRunCompletion event from a test engine /// </summary> /// <param name="testRunCompleteArgs">TestRunCompletion Data</param> /// <param name="lastChunkArgs">Last set of test results</param> /// <param name="runContextAttachments">Attachments of the test run</param> /// <param name="executorUris">ExecutorURIs of the adapters involved in test run</param> void HandleTestRunComplete(TestRunCompleteEventArgs testRunCompleteArgs, TestRunChangedEventArgs? lastChunkArgs, ICollection<AttachmentSet>? runContextAttachments, ICollection<string>? executorUris); /// <summary> /// Handle a change in TestRun i.e. new testresults and stats /// </summary> /// <param name="testRunChangedArgs">TestRunChanged Data</param> void HandleTestRunStatsChange(TestRunChangedEventArgs? testRunChangedArgs); /// <summary> /// Launches a process with a given process info under debugger /// Adapter get to call into this to launch any additional processes under debugger /// </summary> /// <param name="testProcessStartInfo">Process start info</param> /// <returns>ProcessId of the launched process</returns> int LaunchProcessWithDebuggerAttached(TestProcessStartInfo testProcessStartInfo); } /// <summary> /// Interface for handling generic message events during various operations /// </summary> public interface ITestMessageEventHandler { /// <summary> /// Raw Message from the host directly /// </summary> /// <param name="rawMessage">raw message args from host</param> void HandleRawMessage(string rawMessage); /// <summary> /// Handle a IMessageLogger message event from Adapter /// Whenever adapters call IMessageLogger.SendMessage, TestEngine notifies client with this event /// </summary> /// <param name="level">Message Level</param> /// <param name="message">string message</param> void HandleLogMessage(TestMessageLevel level, string? message); }