A game about forced loneliness, made by TACStudios
1using System; 2using System.Collections; 3using UnityEngine; 4 5namespace UnityEditor.TestTools.TestRunner.TestRun.Tasks 6{ 7 internal class EditModeRunTask : TestTaskBase 8 { 9 public EditModeRunTask() 10 { 11 SupportsResumingEnumerator = true; 12 RerunAfterResume = true; 13 } 14 15 public override IEnumerator Execute(TestJobData testJobData) 16 { 17 if (testJobData.taskInfoStack.Peek().taskMode == TaskMode.Canceled) 18 { 19 var runner = testJobData.editModeRunner; 20 if (runner != null) 21 { 22 runner.OnRunCancel(); 23 } 24 yield break; 25 } 26 else if (testJobData.taskInfoStack.Peek().taskMode == TaskMode.Resume) 27 { 28 var runner = testJobData.editModeRunner; 29 if (runner == null) 30 { 31 yield break; 32 } 33 34 runner.Resume(testJobData.executionSettings.BuildNUnitFilter(), testJobData.testTree, testJobData.TestStartedEvent, testJobData.TestFinishedEvent, testJobData.Context); 35 yield break; 36 } 37 38 yield return null; // Allow for setting the test job data after a resume. 39 var editModeRunner = ScriptableObject.CreateInstance<EditModeRunner>(); 40 testJobData.editModeRunner = editModeRunner; 41 42 editModeRunner.UnityTestAssemblyRunnerFactory = new UnityTestAssemblyRunnerFactory(); 43 editModeRunner.Init(testJobData.executionSettings.BuildNUnitFilter(), testJobData.executionSettings.runSynchronously, testJobData.testTree, testJobData.TestStartedEvent, 44 testJobData.TestFinishedEvent, testJobData.Context, testJobData.executionSettings.orderedTestNames, testJobData.executionSettings.randomOrderSeed, testJobData.executionSettings.featureFlags.disableNestedEnumeratorBugfix); 45 46 while (testJobData.editModeRunner != null && !testJobData.editModeRunner.RunFinished) 47 { 48 testJobData.editModeRunner.TestConsumer(testJobData.testRunnerStateSerializer); 49 yield return null; 50 } 51 52 testJobData.TestResults = testJobData.editModeRunner.m_Runner.Result; 53 } 54 } 55}