예제 #1
0
        protected override async Task RunTestAsync()
        {
            Jenkins.MainLog.WriteLine("Running XI on '{0}' ({2}) for {1}", Device?.Name, ProjectFile, Device?.UDID);

            ExecutionResult = ExecutionResult & ~TestExecutingResult.InProgressMask | TestExecutingResult.Running;
            await BuildTask.RunAsync();

            if (!BuildTask.Succeeded)
            {
                ExecutionResult = TestExecutingResult.BuildFailure;
                return;
            }
            using (var resource = await NotifyBlockingWaitAsync(AcquireResourceAsync())) {
                if (runner == null)
                {
                    await SelectSimulatorAsync();
                }
                await runner.RunAsync();
            }
            ExecutionResult = runner.Result;

            KnownFailure = null;
            if (Jenkins.IsKnownTestIssue(runner.MainLog, out KnownFailure))
            {
                Jenkins.MainLog.WriteLine($"Test run has a known failure: '{KnownFailure}'");
            }
        }