You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
using System; |
|
using UnityEditor.TestTools.TestRunner.Api; |
|
using UnityEngine; |
|
|
|
namespace UnityEditor.TestTools.TestRunner.CommandLineTest |
|
{ |
|
[Serializable] |
|
internal class ExitCallbacks : ScriptableObject, IErrorCallbacks |
|
{ |
|
internal static bool preventExit; |
|
|
|
public void RunFinished(ITestResultAdaptor testResults) |
|
{ |
|
if (preventExit) |
|
{ |
|
return; |
|
} |
|
|
|
if (!ExitCallbacksDataHolder.instance.AnyTestsExecuted) |
|
{ |
|
Debug.LogFormat(LogType.Warning, LogOption.NoStacktrace, null, "No tests were executed"); |
|
} |
|
|
|
EditorApplication.Exit(ExitCallbacksDataHolder.instance.RunFailed ? (int)Executer.ReturnCodes.Failed : (int)Executer.ReturnCodes.Ok); |
|
} |
|
|
|
public void TestStarted(ITestAdaptor test) |
|
{ |
|
if (!test.IsSuite) |
|
{ |
|
ExitCallbacksDataHolder.instance.AnyTestsExecuted = true; |
|
} |
|
} |
|
|
|
public void TestFinished(ITestResultAdaptor result) |
|
{ |
|
if (!result.Test.IsSuite && (result.TestStatus == TestStatus.Failed || result.TestStatus == TestStatus.Inconclusive)) |
|
{ |
|
ExitCallbacksDataHolder.instance.RunFailed = true; |
|
} |
|
} |
|
|
|
public void RunStarted(ITestAdaptor testsToRun) |
|
{ |
|
} |
|
|
|
public void OnError(string message) |
|
{ |
|
EditorApplication.Exit((int)Executer.ReturnCodes.RunError); |
|
} |
|
} |
|
}
|
|
|