A game about forced loneliness, made by TACStudios
1using System;
2using System.Collections.Generic;
3using UnityEditor.SceneManagement;
4using UnityEditor.TestTools.TestRunner.Api;
5using UnityEditor.TestTools.TestRunner.TestRun.Tasks;
6using UnityEditor.TestTools.TestRunner.TestRun.Tasks.Events;
7using UnityEditor.TestTools.TestRunner.TestRun.Tasks.Platform;
8using UnityEditor.TestTools.TestRunner.TestRun.Tasks.Player;
9using UnityEditor.TestTools.TestRunner.TestRun.Tasks.Scene;
10using UnityEngine.TestTools;
11
12namespace UnityEditor.TestTools.TestRunner.TestRun
13{
14 // Note: Indentation of the tasklist is purposefully incorrect, to ease comparison with the 2.0 tasklist.
15 internal static class TaskList
16 {
17 public static IEnumerable<TestTaskBase> GetTaskList(ExecutionSettings settings)
18 {
19 if (settings == null)
20 {
21 yield break;
22 }
23
24 if (settings.PlayerIncluded())
25 {
26 yield return new SaveModifiedSceneTask();
27 yield return new StoreSceneSetupTask();
28 yield return new CreateBootstrapSceneTask(true, true, NewSceneSetup.EmptyScene);
29 yield return new DetermineRuntimePlatformTask();
30 yield return new PlatformSpecificSetupTask();
31 yield return new LegacyPlayerRunTask();
32 yield return new PlatformSpecificPostBuildTask();
33 yield return new PlatformSpecificSuccessfulBuildTask();
34 yield return new PlatformSpecificSuccessfulLaunchTask();
35 yield return new WaitForPlayerRunTask();
36 yield return new PlatformSpecificCleanupTask();
37 yield return new RestoreSceneSetupTask();
38 yield return new DeleteBootstrapSceneTask();
39 yield return new UnlockReloadAssembliesTask();
40 yield break;
41 }
42
43 // ReSharper disable once BadControlBracesIndent
44 var editMode = settings.EditModeIncluded() || (PlayerSettings.runPlayModeTestAsEditModeTest && settings.PlayModeInEditorIncluded());
45 if (!editMode)
46 {
47 yield return new MarkRunAsPlayModeTask();
48 }
49 yield return new SaveModifiedSceneTask();
50 yield return new RegisterFilesForCleanupVerificationTask();
51 yield return new SaveUndoIndexTask();
52 yield return new StoreSceneSetupTask();
53 yield return new SetInteractionModeTask();
54 yield return new RemoveAdditionalUntitledSceneTask();
55 yield return new ReloadModifiedScenesTask();
56 yield return new BuildNUnitFilterTask();
57 yield return new BuildTestTreeTask(editMode ? TestPlatform.EditMode : TestPlatform.PlayMode);
58 yield return new CreateBootstrapSceneTask(!editMode, !editMode, editMode ? NewSceneSetup.DefaultGameObjects : NewSceneSetup.EmptyScene);
59 yield return new CreateEventsTask();
60 yield return new RegisterCallbackDelegatorEventsTask();
61 yield return new RegisterTestRunCallbackEventsTask();
62 yield return new PrebuildSetupTask();
63 yield return new EnableTestOutLoggerTask();
64 yield return new InitializeTestProgressTask();
65 yield return new UpdateTestProgressTask();
66
67 if (editMode)
68 {
69 yield return new GenerateContextTask();
70 yield return new SetupConstructDelegatorTask();
71 yield return new RunStartedInvocationEvent();
72 yield return new EditModeRunTask();
73 yield return new RunFinishedInvocationEvent();
74 yield return new CleanupConstructDelegatorTask();
75 }
76 else
77 {
78 yield return new GenerateContextTask();
79 yield return new PreparePlayModeRunTask();
80 yield return new EnterPlayModeTask();
81 yield return new PlayModeRunTask();
82 yield return new ExitPlayModeTask();
83 yield return new RestoreProjectSettingsTask();
84 yield return new CleanupTestControllerTask();
85 }
86 yield return new PostbuildCleanupTask();
87 yield return new CleanUpContext();
88 yield return new ResetInteractionModeTask();
89 yield return new RestoreSceneSetupTask();
90 yield return new DeleteBootstrapSceneTask();
91 yield return new PerformUndoTask();
92 yield return new CleanupVerificationTask();
93 yield return new UnlockReloadAssembliesTask();
94 }
95 }
96}