1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- using UnityEditor.TestTools.TestRunner.Api;
- using UnityEngine;
- namespace UnityEditor.TestTools.TestRunner.CommandLineTest
- {
- [Serializable]
- internal class ExitCallbacks : ScriptableObject, IErrorCallbacks
- {
- private bool m_AnyTestsExecuted;
- private bool m_RunFailed;
- internal static bool preventExit;
- public void RunFinished(ITestResultAdaptor testResults)
- {
- if (preventExit)
- {
- return;
- }
- if (!m_AnyTestsExecuted)
- {
- Debug.LogFormat(LogType.Warning, LogOption.NoStacktrace, null, "No tests were executed");
- }
- EditorApplication.Exit(m_RunFailed ? (int)Executer.ReturnCodes.Failed : (int)Executer.ReturnCodes.Ok);
- }
- public void TestStarted(ITestAdaptor test)
- {
- if (!test.IsSuite)
- {
- m_AnyTestsExecuted = true;
- }
- }
- public void TestFinished(ITestResultAdaptor result)
- {
- if (!result.Test.IsSuite && (result.TestStatus == TestStatus.Failed || result.TestStatus == TestStatus.Inconclusive))
- {
- m_RunFailed = true;
- }
- }
- public void RunStarted(ITestAdaptor testsToRun)
- {
- }
- public void OnError(string message)
- {
- EditorApplication.Exit((int)Executer.ReturnCodes.RunError);
- }
- }
- }
|