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.IsHE0038Error(runner.MainLog))
            {
                KnownFailure = $"<a href='https://github.com/xamarin/maccore/issues/581'>HE0038</a>";
            }
        }