bea2dce063
test
58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using System;
|
|
using System.Linq;
|
|
using NUnit.Framework.Interfaces;
|
|
using NUnit.Framework.Internal.Filters;
|
|
using UnityEngine;
|
|
|
|
namespace UnityEditor.TestTools.TestRunner.Api
|
|
{
|
|
[Serializable]
|
|
public class ExecutionSettings
|
|
{
|
|
public ExecutionSettings(params Filter[] filtersToExecute)
|
|
{
|
|
filters = filtersToExecute;
|
|
}
|
|
|
|
[SerializeField]
|
|
internal BuildTarget? targetPlatform;
|
|
|
|
// Note: Is not available after serialization
|
|
public ITestRunSettings overloadTestRunSettings;
|
|
|
|
[SerializeField]
|
|
internal Filter filter;
|
|
[SerializeField]
|
|
public Filter[] filters;
|
|
[SerializeField]
|
|
public bool runSynchronously;
|
|
[SerializeField]
|
|
public int playerHeartbeatTimeout = 60*10;
|
|
|
|
internal bool EditModeIncluded()
|
|
{
|
|
return filters.Any(f => IncludesTestMode(f.testMode, TestMode.EditMode));
|
|
}
|
|
|
|
internal bool PlayModeInEditorIncluded()
|
|
{
|
|
return filters.Any(f => IncludesTestMode(f.testMode, TestMode.PlayMode) && targetPlatform == null);
|
|
}
|
|
|
|
internal bool PlayerIncluded()
|
|
{
|
|
return filters.Any(f => IncludesTestMode(f.testMode, TestMode.PlayMode) && targetPlatform != null);
|
|
}
|
|
|
|
private static bool IncludesTestMode(TestMode testMode, TestMode modeToCheckFor)
|
|
{
|
|
return (testMode & modeToCheckFor) == modeToCheckFor;
|
|
}
|
|
|
|
internal ITestFilter BuildNUnitFilter()
|
|
{
|
|
return new OrFilter(filters.Select(f => f.BuildNUnitFilter(runSynchronously)).ToArray());
|
|
}
|
|
}
|
|
}
|