A game about forced loneliness, made by TACStudios
1using System; 2using System.Collections; 3using UnityEngine; 4using System.Linq; 5 6namespace UnityEditor.TestTools.TestRunner.TestRun.Tasks 7{ 8 internal abstract class TestTaskBase 9 { 10 public ErrorRunMode RunOnError = ErrorRunMode.DoNotRunOnError; 11 12 public bool RerunAfterResume; 13 public bool RerunAfterEnteredEditMode; 14 public bool SupportsResumingEnumerator; 15 public bool RunOnCancel; 16 public bool CanRunInstantly = true; 17 18 public abstract IEnumerator Execute(TestJobData testJobData); 19 20 public enum ErrorRunMode 21 { 22 DoNotRunOnError, 23 RunOnlyOnError, 24 RunAlways 25 } 26 27 public virtual string GetName() 28 { 29 return GetType().Name; 30 } 31 32 public string GetTitle() 33 { 34 var name = GetName(); 35 if (name.EndsWith("Task")) // Trim away the Task part of the title in the end. 36 { 37 name = name.Substring(0, name.Length - 4); 38 } 39 40 var title = string.Empty; 41 for (var i = 0; i < name.Length; i++) 42 { 43 var nameChar = name[i]; 44 if (i == 0 || (nameChar >= 'a' && nameChar <= 'z')) 45 { 46 title += nameChar; 47 } 48 else 49 { 50 title += " " + nameChar; 51 } 52 } 53 54 return title; 55 } 56 57 public bool ShouldExecute(TaskInfo taskInfo) 58 { 59 switch (taskInfo.taskMode) 60 { 61 case TaskMode.Error: 62 return RunOnError == ErrorRunMode.RunAlways || RunOnError == ErrorRunMode.RunOnlyOnError; 63 case TaskMode.Resume: 64 return RerunAfterResume; 65 case TaskMode.EnteredEditMode: 66 return RerunAfterEnteredEditMode; 67 case TaskMode.Canceled: 68 return RunOnCancel; 69 default: 70 return RunOnError != ErrorRunMode.RunOnlyOnError; 71 } 72 } 73 74 protected static bool IsAutomated() 75 { 76 var commandLineArgs = Environment.GetCommandLineArgs(); 77 return commandLineArgs.Contains("-automated"); 78 } 79 } 80}