52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
|
using System;
|
||
|
using UnityEditor.TestTools.TestRunner.Api;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace UnityEditor.TestTools.TestRunner.CommandLineTest
|
||
|
{
|
||
|
internal class RunStateCallbacks : IErrorCallbacks
|
||
|
{
|
||
|
internal IRunData runData = RunData.instance;
|
||
|
internal static bool preventExit;
|
||
|
|
||
|
public void RunFinished(ITestResultAdaptor testResults)
|
||
|
{
|
||
|
if (preventExit)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (runData.RunState == TestRunState.NoCallbacksReceived)
|
||
|
{
|
||
|
runData.RunState = TestRunState.CompletedJobWithoutAnyTestsExecuted;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void TestStarted(ITestAdaptor test)
|
||
|
{
|
||
|
if (!test.IsSuite && runData.RunState == TestRunState.NoCallbacksReceived)
|
||
|
{
|
||
|
runData.RunState = TestRunState.OneOrMoreTestsExecutedWithNoFailures;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void TestFinished(ITestResultAdaptor result)
|
||
|
{
|
||
|
if (!result.Test.IsSuite && (result.TestStatus == TestStatus.Failed || result.TestStatus == TestStatus.Inconclusive))
|
||
|
{
|
||
|
runData.RunState = TestRunState.OneOrMoreTestsExecutedWithOneOrMoreFailed;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void RunStarted(ITestAdaptor testsToRun)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public void OnError(string message)
|
||
|
{
|
||
|
runData.RunState = TestRunState.RunError;
|
||
|
runData.RunErrorMessage = message;
|
||
|
}
|
||
|
}
|
||
|
}
|