Emcee
1import BuildArtifacts
2import CommonTestModels
3import DeveloperDirLocator
4import EmceeLogging
5import EmceeLoggingModels
6import Foundation
7import MetricsExtensions
8import RunnerModels
9import SimulatorPoolModels
10import PathLib
11
12public protocol TestRunnerRunningInvocation {
13var pidInfo: PidInfo { get }
14func cancel()
15func wait()
16}
17
18public protocol TestRunnerInvocation {
19func startExecutingTests() throws -> TestRunnerRunningInvocation
20}
21
22public protocol TestRunner {
23func additionalEnvironment(
24testRunnerWorkingDirectory: AbsolutePath
25) -> [String: String]
26
27func prepareTestRun(
28buildArtifacts: AppleBuildArtifacts,
29developerDirLocator: DeveloperDirLocator,
30entriesToRun: [TestEntry],
31logger: ContextualLogger,
32specificMetricRecorder: SpecificMetricRecorder,
33testContext: AppleTestContext,
34testRunnerStream: TestRunnerStream
35) throws -> TestRunnerInvocation
36}
37