A game about forced loneliness, made by TACStudios
1using System;
2using System.Collections.Generic;
3using NUnit.Framework.Interfaces;
4using UnityEditor.SceneManagement;
5using UnityEditor.TestTools.TestRunner.Api;
6using UnityEditor.TestTools.TestRunner.TestRun.Tasks;
7using UnityEngine;
8using UnityEngine.SceneManagement;
9using UnityEngine.TestRunner.NUnitExtensions.Runner;
10using UnityEngine.TestTools;
11using UnityEngine.TestTools.NUnitExtensions;
12using UnityEngine.TestTools.TestRunner;
13
14namespace UnityEditor.TestTools.TestRunner.TestRun
15{
16 [Serializable]
17 internal class TestJobData : ISerializationCallbackReceiver
18 {
19 [SerializeField]
20 public string guid;
21
22 [SerializeField]
23 public string startTime;
24
25 [NonSerialized]
26 public Stack<TaskInfo> taskInfoStack = new Stack<TaskInfo>();
27
28 [SerializeField]
29 public int taskPC;
30
31 [SerializeField]
32 public bool isRunning;
33
34 [SerializeField]
35 public ExecutionSettings executionSettings;
36
37 [SerializeField]
38 public RunProgress runProgress = new RunProgress();
39
40 [SerializeField]
41 public string[] existingFiles;
42
43 [SerializeField]
44 public int undoGroup = -1;
45
46 [SerializeField]
47 public EditModeRunner editModeRunner;
48
49 [SerializeField]
50 public BeforeAfterTestCommandState setUpTearDownState;
51
52 [SerializeField]
53 public BeforeAfterTestCommandState outerUnityTestActionState;
54
55 [SerializeField]
56 public TestRunnerStateSerializer testRunnerStateSerializer;
57
58 [SerializeField]
59 public EnumerableTestState enumerableTestState;
60
61 [SerializeField]
62 private TaskInfo[] savedTaskInfoStack;
63
64 [NonSerialized]
65 public bool isHandledByRunner;
66
67 [SerializeField]
68 public SceneSetup[] SceneSetup;
69 [NonSerialized]
70 public TestTaskBase[] Tasks;
71
72 [SerializeField]
73 public TestProgress testProgress;
74
75 public ITest testTree;
76
77 [NonSerialized]
78 public ITestFilter testFilter;
79
80 [NonSerialized]
81 public TestStartedEvent TestStartedEvent;
82 [NonSerialized]
83 public TestFinishedEvent TestFinishedEvent;
84 [NonSerialized]
85 public RunStartedEvent RunStartedEvent;
86 [NonSerialized]
87 public RunFinishedEvent RunFinishedEvent;
88
89 [NonSerialized]
90 public UnityTestExecutionContext Context;
91
92 [NonSerialized]
93 public ConstructDelegator ConstructDelegator;
94
95 [NonSerialized]
96 public ITestResult TestResults;
97
98 [SerializeField]
99 public Scene InitTestScene;
100
101 [SerializeField]
102 public string InitTestScenePath;
103
104 [SerializeField]
105 public BuildPlayerOptions PlayerBuildOptions;
106
107 [SerializeField]
108 public PlaymodeTestsController PlaymodeTestsController;
109
110 [SerializeField]
111 public PlaymodeTestsControllerSettings PlayModeSettings;
112
113 [SerializeField]
114 public PlatformSpecificSetup PlatformSpecificSetup;
115
116 [NonSerialized]
117 public RuntimePlatform? TargetRuntimePlatform;
118
119 [SerializeField]
120 public EnumerableTestState RetryRepeatState;
121
122 [SerializeField]
123 public SavedProjectSettings OriginalProjectSettings;
124
125 [SerializeField]
126 public int UserApplicationIdleTime = -1;
127
128 [SerializeField]
129 public int UserInteractionMode = -1;
130
131 public TestJobData(ExecutionSettings settings)
132 {
133 guid = Guid.NewGuid().ToString();
134 executionSettings = settings;
135 isRunning = false;
136 startTime = DateTime.Now.ToString("o");
137 }
138
139 public void OnBeforeSerialize()
140 {
141 savedTaskInfoStack = taskInfoStack.ToArray();
142 }
143
144 public void OnAfterDeserialize()
145 {
146 taskInfoStack = new Stack<TaskInfo>(savedTaskInfoStack);
147 }
148
149 [Serializable]
150 internal class SavedProjectSettings
151 {
152 public bool runInBackgroundValue;
153
154 public bool consoleErrorPaused;
155 }
156 }
157}