KitchenChaos/Library/PackageCache/com.unity.test-framework@1.3.2/UnityEditor.TestRunner/TestRun/Tasks/LegacyEditModeRunTask.cs

38 lines
1.4 KiB
C#

using System;
using System.Collections;
using UnityEngine.TestTools;
namespace UnityEditor.TestTools.TestRunner.TestRun.Tasks
{
internal class LegacyEditModeRunTask : TestTaskBase
{
public LegacyEditModeRunTask()
{
SupportsResumingEnumerator = true;
}
public override IEnumerator Execute(TestJobData testJobData)
{
if (testJobData.taskInfoStack.Peek().taskMode == TaskMode.Canceled)
{
var runner = testJobData.editModeRunner;
if (runner != null)
{
runner.OnRunCancel();
}
yield break;
}
var testLauncher = new EditModeLauncher(testJobData.executionSettings.filters, TestPlatform.EditMode, testJobData.executionSettings.runSynchronously,
testJobData.RunStartedEvent, testJobData.TestStartedEvent, testJobData.TestFinishedEvent, testJobData.RunFinishedEvent, testJobData.executionSettings.orderedTestNames);
testJobData.editModeRunner = testLauncher.m_EditModeRunner;
testLauncher.Run();
while (testJobData.editModeRunner != null && !testJobData.editModeRunner.RunFinished)
{
yield return null;
}
}
}
}