1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System;
- using System.Collections;
- using UnityEngine;
- using System.Linq;
-
- namespace UnityEditor.TestTools.TestRunner.TestRun.Tasks
- {
- internal abstract class TestTaskBase
- {
- public ErrorRunMode RunOnError = ErrorRunMode.DoNotRunOnError;
-
- public bool RerunAfterResume;
- public bool RerunAfterEnteredEditMode;
- public bool SupportsResumingEnumerator;
- public bool RunOnCancel;
- public bool CanRunInstantly = true;
-
- public abstract IEnumerator Execute(TestJobData testJobData);
-
- public enum ErrorRunMode
- {
- DoNotRunOnError,
- RunOnlyOnError,
- RunAlways
- }
-
- public virtual string GetName()
- {
- return GetType().Name;
- }
-
- public string GetTitle()
- {
- var name = GetName();
- if (name.EndsWith("Task")) // Trim away the Task part of the title in the end.
- {
- name = name.Substring(0, name.Length - 4);
- }
-
- var title = string.Empty;
- for (var i = 0; i < name.Length; i++)
- {
- var nameChar = name[i];
- if (i == 0 || (nameChar >= 'a' && nameChar <= 'z'))
- {
- title += nameChar;
- }
- else
- {
- title += " " + nameChar;
- }
- }
-
- return title;
- }
-
- public bool ShouldExecute(TaskInfo taskInfo)
- {
- switch (taskInfo.taskMode)
- {
- case TaskMode.Error:
- return RunOnError == ErrorRunMode.RunAlways || RunOnError == ErrorRunMode.RunOnlyOnError;
- case TaskMode.Resume:
- return RerunAfterResume;
- case TaskMode.EnteredEditMode:
- return RerunAfterEnteredEditMode;
- case TaskMode.Canceled:
- return RunOnCancel;
- default:
- return RunOnError != ErrorRunMode.RunOnlyOnError;
- }
- }
-
- protected static bool IsAutomated()
- {
- var commandLineArgs = Environment.GetCommandLineArgs();
- return commandLineArgs.Contains("-automated");
- }
- }
- }
|