forked from microsoft/vstest
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathITestEngine.cs
More file actions
93 lines (85 loc) · 3.78 KB
/
Copy pathITestEngine.cs
File metadata and controls
93 lines (85 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// 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.Client;
namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;
/// <summary>
/// Defines the functionality of a test engine.
/// </summary>
public interface ITestEngine
{
/// <summary>
/// Fetches the DiscoveryManager for this engine. This manager would provide all
/// functionality required for discovery.
/// </summary>
///
/// <param name="requestData">
/// The request data for providing discovery services and data.
/// </param>
/// <param name="discoveryCriteria">The discovery criteria.</param>
/// <param name="sourceToSourceDetailMap">Details of every source.</param>
/// <param name="warningLogger">Logger of warnings.</param>
///
/// <returns>An IProxyDiscoveryManager object that can do discovery.</returns>
IProxyDiscoveryManager GetDiscoveryManager(
IRequestData requestData,
DiscoveryCriteria discoveryCriteria,
IDictionary<string, SourceDetail> sourceToSourceDetailMap,
IWarningLogger warningLogger);
/// <summary>
/// Fetches the ExecutionManager for this engine. This manager would provide all
/// functionality required for execution.
/// </summary>
///
/// <param name="requestData">
/// The request data for providing common execution services and data.
/// </param>
/// <param name="sourceToSourceDetailMap">Details of every source.</param>
/// <param name="warningLogger">Logger of warnings.</param>
/// <param name="testRunCriteria">Test run criteria of the current test run.</param>
///
/// <returns>An IProxyExecutionManager object that can do execution.</returns>
IProxyExecutionManager GetExecutionManager(
IRequestData requestData,
TestRunCriteria testRunCriteria,
IDictionary<string, SourceDetail> sourceToSourceDetailMap,
IWarningLogger warningLogger);
/// <summary>
/// Fetches the TestSessionManager for this engine. This manager would provide all
/// functionality required for test session management.
/// </summary>
///
/// <param name="requestData">
/// The request data for providing test session services and data.
/// </param>
/// <param name="testSessionCriteria">
/// Test session criteria of the current test session.
/// </param>
/// <param name="sourceToSourceDetailMap">Details of every source.</param>
/// <param name="warningLogger">Logger of warnings.</param>
///
/// <returns>An IProxyTestSessionManager object that can manage test sessions.</returns>
IProxyTestSessionManager? GetTestSessionManager(
IRequestData requestData,
StartTestSessionCriteria testSessionCriteria,
IDictionary<string, SourceDetail> sourceToSourceDetailMap,
IWarningLogger warningLogger);
/// <summary>
/// Fetches the extension manager for this engine. This manager would provide extensibility
/// features that this engine supports.
/// </summary>
///
/// <returns>An ITestExtensionManager object that helps with extensibility.</returns>
ITestExtensionManager GetExtensionManager();
/// <summary>
/// Fetches the logger manager for this engine. This manager will provide logger
/// extensibility features that this engine supports.
/// </summary>
///
/// <param name="requestData">
/// The request data for providing common execution services and data.
/// </param>
///
/// <returns>An ITestLoggerManager object that helps with logger extensibility.</returns>
ITestLoggerManager GetLoggerManager(IRequestData requestData);
}