diff options
Diffstat (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils')
64 files changed, 1203 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider.meta new file mode 100644 index 0000000..e12e5eb --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: 51557afa652635743b264a309f0a5c60
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyLoadProxy.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyLoadProxy.cs new file mode 100644 index 0000000..be41950 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyLoadProxy.cs @@ -0,0 +1,12 @@ +using System.Reflection;
+
+namespace UnityEngine.TestTools.Utils
+{
+ internal class AssemblyLoadProxy : IAssemblyLoadProxy
+ {
+ public IAssemblyWrapper Load(string assemblyString)
+ {
+ return new AssemblyWrapper(Assembly.Load(assemblyString));
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyLoadProxy.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyLoadProxy.cs.meta new file mode 100644 index 0000000..26b76a6 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyLoadProxy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: fb593906b7b6d824087dcaebf6c082e0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyWrapper.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyWrapper.cs new file mode 100644 index 0000000..86d450e --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyWrapper.cs @@ -0,0 +1,30 @@ +using System;
+using System.Reflection;
+
+namespace UnityEngine.TestTools.Utils
+{
+ internal class AssemblyWrapper : IAssemblyWrapper
+ {
+ public AssemblyWrapper(Assembly assembly)
+ {
+ Assembly = assembly;
+ }
+
+ public Assembly Assembly { get; }
+
+ public virtual string Location
+ {
+ get
+ {
+ //Some platforms dont support this
+ throw new NotImplementedException();
+ }
+ }
+
+ public virtual AssemblyName[] GetReferencedAssemblies()
+ {
+ //Some platforms dont support this
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyWrapper.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyWrapper.cs.meta new file mode 100644 index 0000000..bd3090c --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/AssemblyWrapper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 2e3b9bbf2c1a3cd4f88883ca32882ec6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyLoadProxy.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyLoadProxy.cs new file mode 100644 index 0000000..6e05914 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyLoadProxy.cs @@ -0,0 +1,7 @@ +namespace UnityEngine.TestTools.Utils
+{
+ internal interface IAssemblyLoadProxy
+ {
+ IAssemblyWrapper Load(string assemblyString);
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyLoadProxy.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyLoadProxy.cs.meta new file mode 100644 index 0000000..a794168 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyLoadProxy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 12dfd4bdbb5c8e6419432fbc54ef25d9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyWrapper.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyWrapper.cs new file mode 100644 index 0000000..d423db9 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyWrapper.cs @@ -0,0 +1,11 @@ +using System.Reflection;
+
+namespace UnityEngine.TestTools.Utils
+{
+ internal interface IAssemblyWrapper
+ {
+ Assembly Assembly { get; }
+ string Location { get; }
+ AssemblyName[] GetReferencedAssemblies();
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyWrapper.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyWrapper.cs.meta new file mode 100644 index 0000000..ae919ef --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IAssemblyWrapper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 1c5afe945b715e149a70113a4be7b32a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IScriptingRuntimeProxy.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IScriptingRuntimeProxy.cs new file mode 100644 index 0000000..2bb572d --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IScriptingRuntimeProxy.cs @@ -0,0 +1,7 @@ +namespace UnityEngine.TestTools.Utils
+{
+ internal interface IScriptingRuntimeProxy
+ {
+ string[] GetAllUserAssemblies();
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IScriptingRuntimeProxy.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IScriptingRuntimeProxy.cs.meta new file mode 100644 index 0000000..6002d28 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/IScriptingRuntimeProxy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: fe4aef60e4ace544c8430da8ef8acba2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ITestAssemblyProvider.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ITestAssemblyProvider.cs new file mode 100644 index 0000000..2944936 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ITestAssemblyProvider.cs @@ -0,0 +1,10 @@ +using NUnit.Framework.Interfaces;
+
+namespace UnityEngine.TestTools.Utils
+{
+ internal interface ITestAssemblyProvider
+ {
+ ITest GetTestsWithNUnit();
+ IAssemblyWrapper[] GetUserAssemblies();
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ITestAssemblyProvider.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ITestAssemblyProvider.cs.meta new file mode 100644 index 0000000..f187c63 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ITestAssemblyProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: c5acba6181d845c4e92146009bd4480f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs new file mode 100644 index 0000000..0b47e1d --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs @@ -0,0 +1,66 @@ +using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using NUnit.Framework.Interfaces;
+using UnityEngine.TestTools.NUnitExtensions;
+
+namespace UnityEngine.TestTools.Utils
+{
+ internal class PlayerTestAssemblyProvider
+ {
+ private IAssemblyLoadProxy m_AssemblyLoadProxy;
+ private readonly List<string> m_AssembliesToLoad;
+
+ //Cached until domain reload
+ private static List<IAssemblyWrapper> m_LoadedAssemblies;
+
+ internal PlayerTestAssemblyProvider(IAssemblyLoadProxy assemblyLoadProxy, List<string> assembliesToLoad)
+ {
+ m_AssemblyLoadProxy = assemblyLoadProxy;
+ m_AssembliesToLoad = assembliesToLoad;
+ LoadAssemblies();
+ }
+
+ public ITest GetTestsWithNUnit()
+ {
+ return BuildTests(TestPlatform.PlayMode, m_LoadedAssemblies.ToArray());
+ }
+
+ public List<IAssemblyWrapper> GetUserAssemblies()
+ {
+ return m_LoadedAssemblies;
+ }
+
+ protected static ITest BuildTests(TestPlatform testPlatform, IAssemblyWrapper[] assemblies)
+ {
+ var settings = UnityTestAssemblyBuilder.GetNUnitTestBuilderSettings(testPlatform);
+ var builder = new UnityTestAssemblyBuilder();
+ return builder.Build(assemblies.Select(a => a.Assembly).ToArray(), Enumerable.Repeat(testPlatform, assemblies.Length).ToArray(), settings);
+ }
+
+ private void LoadAssemblies()
+ {
+ if (m_LoadedAssemblies != null)
+ {
+ return;
+ }
+
+ m_LoadedAssemblies = new List<IAssemblyWrapper>();
+
+ foreach (var userAssembly in m_AssembliesToLoad)
+ {
+ IAssemblyWrapper a;
+ try
+ {
+ a = m_AssemblyLoadProxy.Load(userAssembly);
+ }
+ catch (FileNotFoundException)
+ {
+ continue;
+ }
+ if (a != null)
+ m_LoadedAssemblies.Add(a);
+ }
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs.meta new file mode 100644 index 0000000..f2c86cd --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/PlayerTestAssemblyProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 43a3aec217baa9644a7cf34b5f93fed9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ScriptingRuntimeProxy.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ScriptingRuntimeProxy.cs new file mode 100644 index 0000000..d84470e --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ScriptingRuntimeProxy.cs @@ -0,0 +1,10 @@ +namespace UnityEngine.TestTools.Utils
+{
+ internal class ScriptingRuntimeProxy : IScriptingRuntimeProxy
+ {
+ public string[] GetAllUserAssemblies()
+ {
+ return ScriptingRuntime.GetAllUserAssemblies();
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ScriptingRuntimeProxy.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ScriptingRuntimeProxy.cs.meta new file mode 100644 index 0000000..2baf4f4 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AssemblyProvider/ScriptingRuntimeProxy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: f3a361a6ad1aff14ba8f48976e94ad76
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AttributeHelper.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AttributeHelper.cs new file mode 100644 index 0000000..9d2269b --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AttributeHelper.cs @@ -0,0 +1,45 @@ +using System;
+using System.IO;
+using System.Linq;
+
+namespace UnityEngine.TestTools
+{
+ internal static class AttributeHelper
+ {
+ internal static Type GetTargetClassFromName(string targetClassName, Type attributeInterface)
+ {
+ Type targetClass = null;
+ foreach (var assemblyName in ScriptingRuntime.GetAllUserAssemblies())
+ {
+ // we need to pass the assembly name without the .dll extension, so removing that first
+ var name = Path.GetFileNameWithoutExtension(assemblyName);
+ targetClass = Type.GetType(targetClassName + "," + name);
+ if (targetClass != null)
+ break;
+ }
+
+ if (targetClass == null)
+ {
+ Debug.LogWarningFormat("Class type not found: " + targetClassName);
+ return null;
+ }
+
+ ValidateTargetClass(targetClass, attributeInterface);
+ return targetClass;
+ }
+
+ private static void ValidateTargetClass(Type targetClass, Type attributeInterface)
+ {
+ var constructorInfos = targetClass.GetConstructors();
+ if (constructorInfos.All(constructor => constructor.GetParameters().Length != 0))
+ {
+ Debug.LogWarningFormat("{0} does not implement default constructor", targetClass.Name);
+ }
+
+ if (!attributeInterface.IsAssignableFrom(targetClass))
+ {
+ Debug.LogWarningFormat("{0} does not implement {1}", targetClass.Name, attributeInterface.Name);
+ }
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AttributeHelper.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AttributeHelper.cs.meta new file mode 100644 index 0000000..5ed31a9 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/AttributeHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: ae8ce3ffe04ac2c42945fd27e0291fc3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ColorEqualityComparer.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ColorEqualityComparer.cs new file mode 100644 index 0000000..347ec93 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ColorEqualityComparer.cs @@ -0,0 +1,36 @@ +using System.Collections.Generic;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class ColorEqualityComparer : IEqualityComparer<Color>
+ {
+ private const float k_DefaultError = 0.01f;
+ private readonly float AllowedError;
+
+
+ private static readonly ColorEqualityComparer m_Instance = new ColorEqualityComparer();
+ public static ColorEqualityComparer Instance { get { return m_Instance; } }
+
+ private ColorEqualityComparer() : this(k_DefaultError)
+ {
+ }
+
+ public ColorEqualityComparer(float error)
+ {
+ this.AllowedError = error;
+ }
+
+ public bool Equals(Color expected, Color actual)
+ {
+ return Utils.AreFloatsEqualAbsoluteError(expected.r, actual.r, AllowedError) &&
+ Utils.AreFloatsEqualAbsoluteError(expected.g, actual.g, AllowedError) &&
+ Utils.AreFloatsEqualAbsoluteError(expected.b, actual.b, AllowedError) &&
+ Utils.AreFloatsEqualAbsoluteError(expected.a, actual.a, AllowedError);
+ }
+
+ public int GetHashCode(Color color)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ColorEqualityComparer.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ColorEqualityComparer.cs.meta new file mode 100644 index 0000000..87a9fe8 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ColorEqualityComparer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: d6105bc8cf5ce544487daca4cbc62583
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/CoroutineRunner.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/CoroutineRunner.cs new file mode 100644 index 0000000..e775aa7 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/CoroutineRunner.cs @@ -0,0 +1,103 @@ +using System;
+using System.Collections;
+using NUnit.Framework.Internal;
+using UnityEngine.TestRunner.NUnitExtensions.Runner;
+
+namespace UnityEngine.TestTools.Utils
+{
+ internal class CoroutineRunner
+ {
+ private bool m_Running;
+ private bool m_TestFailed;
+ private bool m_Timeout;
+ private readonly MonoBehaviour m_Controller;
+ private readonly UnityTestExecutionContext m_Context;
+ private Coroutine m_TimeOutCoroutine;
+ private IEnumerator m_TestCoroutine;
+
+ internal const int k_DefaultTimeout = 1000 * 180;
+
+ public CoroutineRunner(MonoBehaviour playmodeTestsController, UnityTestExecutionContext context)
+ {
+ m_Controller = playmodeTestsController;
+ m_Context = context;
+ }
+
+ public IEnumerator HandleEnumerableTest(IEnumerator testEnumerator)
+ {
+ if (m_Context.TestCaseTimeout == 0)
+ {
+ m_Context.TestCaseTimeout = k_DefaultTimeout;
+ }
+ do
+ {
+ if (!m_Running)
+ {
+ m_Running = true;
+ m_TestCoroutine = ExMethod(testEnumerator, m_Context.TestCaseTimeout);
+ m_Controller.StartCoroutine(m_TestCoroutine);
+ }
+ if (m_TestFailed)
+ {
+ StopAllRunningCoroutines();
+ yield break;
+ }
+
+ if (m_Context.ExecutionStatus == TestExecutionStatus.StopRequested || m_Context.ExecutionStatus == TestExecutionStatus.AbortRequested)
+ {
+ StopAllRunningCoroutines();
+ yield break;
+ }
+ yield return null;
+ }
+ while (m_Running);
+ }
+
+ private void StopAllRunningCoroutines()
+ {
+ if (m_TimeOutCoroutine != null)
+ {
+ m_Controller.StopCoroutine(m_TimeOutCoroutine);
+ }
+
+ if (m_TestCoroutine != null)
+ {
+ m_Controller.StopCoroutine(m_TestCoroutine);
+ }
+ }
+
+ private IEnumerator ExMethod(IEnumerator e, int timeout)
+ {
+ m_TimeOutCoroutine = m_Controller.StartCoroutine(StartTimer(e, timeout,
+ () =>
+ {
+ m_TestFailed = true;
+ m_Timeout = true;
+ m_Running = false;
+ }));
+
+ yield return m_Controller.StartCoroutine(e);
+ m_Controller.StopCoroutine(m_TimeOutCoroutine);
+ m_Running = false;
+ }
+
+ private IEnumerator StartTimer(IEnumerator coroutineToBeKilled, int timeout, Action onTimeout)
+ {
+ yield return new WaitForSecondsRealtime(timeout / 1000f);
+ if (coroutineToBeKilled != null)
+ m_Controller.StopCoroutine(coroutineToBeKilled);
+ if (onTimeout != null)
+ onTimeout();
+ }
+
+ public bool HasFailedWithTimeout()
+ {
+ return m_Timeout;
+ }
+
+ public int GetDefaultTimeout()
+ {
+ return k_DefaultTimeout;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/CoroutineRunner.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/CoroutineRunner.cs.meta new file mode 100644 index 0000000..ed7d3e9 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/CoroutineRunner.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 24a158219395ebf44a60547b97784ddc
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/FloatEqualityComparer.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/FloatEqualityComparer.cs new file mode 100644 index 0000000..dfd4956 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/FloatEqualityComparer.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class FloatEqualityComparer : IEqualityComparer<float>
+ {
+ private const float k_DefaultError = 0.0001f;
+ private readonly float AllowedError;
+
+ private static readonly FloatEqualityComparer m_Instance = new FloatEqualityComparer();
+ public static FloatEqualityComparer Instance { get { return m_Instance; } }
+
+ private FloatEqualityComparer() : this(k_DefaultError) {}
+
+ public FloatEqualityComparer(float allowedError)
+ {
+ this.AllowedError = allowedError;
+ }
+
+ public bool Equals(float expected, float actual)
+ {
+ return Utils.AreFloatsEqual(expected, actual, AllowedError);
+ }
+
+ public int GetHashCode(float value)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/FloatEqualityComparer.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/FloatEqualityComparer.cs.meta new file mode 100644 index 0000000..5486c55 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/FloatEqualityComparer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: af5042802f06c804c8abddd544b77a4a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IOuterUnityTestAction.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IOuterUnityTestAction.cs new file mode 100644 index 0000000..e9eaa3c --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IOuterUnityTestAction.cs @@ -0,0 +1,19 @@ +using System.Collections;
+using NUnit.Framework.Interfaces;
+
+namespace UnityEngine.TestTools
+{
+ /// <summary>
+ /// When implemented by an attribute, this interface implemented to provide actions to execute before setup and after teardown of tests.
+ /// </summary>
+ public interface IOuterUnityTestAction
+ {
+ /// <summary>Executed before each test is run</summary>
+ /// <param name="test">The test that is going to be run.</param>
+ IEnumerator BeforeTest(ITest test);
+
+ /// <summary>Executed after each test is run</summary>
+ /// <param name="test">The test that has just been run.</param>
+ IEnumerator AfterTest(ITest test);
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IOuterUnityTestAction.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IOuterUnityTestAction.cs.meta new file mode 100644 index 0000000..91da147 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IOuterUnityTestAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: b9c2a6302985d3846b7b9f6fd9e2da9a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPostBuildCleanup.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPostBuildCleanup.cs new file mode 100644 index 0000000..5f79948 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPostBuildCleanup.cs @@ -0,0 +1,7 @@ +namespace UnityEngine.TestTools
+{
+ public interface IPostBuildCleanup
+ {
+ void Cleanup();
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPostBuildCleanup.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPostBuildCleanup.cs.meta new file mode 100644 index 0000000..281b577 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPostBuildCleanup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: ff67c526455160f4690a44f74dee4cbe
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPrebuildSceneSetup.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPrebuildSceneSetup.cs new file mode 100644 index 0000000..c480fbf --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPrebuildSceneSetup.cs @@ -0,0 +1,7 @@ +namespace UnityEngine.TestTools
+{
+ public interface IPrebuildSetup
+ {
+ void Setup();
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPrebuildSceneSetup.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPrebuildSceneSetup.cs.meta new file mode 100644 index 0000000..f776662 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/IPrebuildSceneSetup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: acc16f0c684508f44813662a300c574b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ITestRunCallback.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ITestRunCallback.cs new file mode 100644 index 0000000..dd4c170 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ITestRunCallback.cs @@ -0,0 +1,12 @@ +using NUnit.Framework.Interfaces;
+
+namespace UnityEngine.TestRunner
+{
+ public interface ITestRunCallback
+ {
+ void RunStarted(ITest testsToRun);
+ void RunFinished(ITestResult testResults);
+ void TestStarted(ITest test);
+ void TestFinished(ITestResult result);
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ITestRunCallback.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ITestRunCallback.cs.meta new file mode 100644 index 0000000..1888c05 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/ITestRunCallback.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 38d0b8a87b967304da08a2ae9b955066
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest.meta new file mode 100644 index 0000000..9d60b01 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: ce8da628f68c7594b8b9a597fa52db7b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/IMonoBehaviourTest.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/IMonoBehaviourTest.cs new file mode 100644 index 0000000..478d606 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/IMonoBehaviourTest.cs @@ -0,0 +1,7 @@ +namespace UnityEngine.TestTools
+{
+ public interface IMonoBehaviourTest
+ {
+ bool IsTestFinished {get; }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/IMonoBehaviourTest.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/IMonoBehaviourTest.cs.meta new file mode 100644 index 0000000..fb11dfb --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/IMonoBehaviourTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: a002d3737b873954395b7cf862873ab8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/MonoBehaviourTest.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/MonoBehaviourTest.cs new file mode 100644 index 0000000..b3c1c62 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/MonoBehaviourTest.cs @@ -0,0 +1,23 @@ +namespace UnityEngine.TestTools
+{
+ public class MonoBehaviourTest<T> : CustomYieldInstruction where T : MonoBehaviour, IMonoBehaviourTest
+ {
+ public T component { get; }
+ public GameObject gameObject { get { return component.gameObject; } }
+
+ public MonoBehaviourTest(bool dontDestroyOnLoad = true)
+ {
+ var go = new GameObject("MonoBehaviourTest: " + typeof(T).FullName);
+ component = go.AddComponent<T>();
+ if (dontDestroyOnLoad)
+ {
+ Object.DontDestroyOnLoad(go);
+ }
+ }
+
+ public override bool keepWaiting
+ {
+ get { return !component.IsTestFinished; }
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/MonoBehaviourTest.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/MonoBehaviourTest.cs.meta new file mode 100644 index 0000000..d0fa5a1 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/MonoBehaviourTest/MonoBehaviourTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 164c9b1458eaab743a4b45c37a4d720d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PostBuildCleanupAttribute.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PostBuildCleanupAttribute.cs new file mode 100644 index 0000000..2864daf --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PostBuildCleanupAttribute.cs @@ -0,0 +1,20 @@ +using System;
+
+namespace UnityEngine.TestTools
+{
+ [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)]
+ public class PostBuildCleanupAttribute : Attribute
+ {
+ public PostBuildCleanupAttribute(Type targetClass)
+ {
+ TargetClass = targetClass;
+ }
+
+ public PostBuildCleanupAttribute(string targetClassName)
+ {
+ TargetClass = AttributeHelper.GetTargetClassFromName(targetClassName, typeof(IPostBuildCleanup));
+ }
+
+ internal Type TargetClass { get; private set; }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PostBuildCleanupAttribute.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PostBuildCleanupAttribute.cs.meta new file mode 100644 index 0000000..e3ac3e8 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PostBuildCleanupAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 621fd19bcb071b64aa1d68f0271aa780
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PrebuildSceneSetupAttribute.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PrebuildSceneSetupAttribute.cs new file mode 100644 index 0000000..ea2c172 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PrebuildSceneSetupAttribute.cs @@ -0,0 +1,20 @@ +using System;
+
+namespace UnityEngine.TestTools
+{
+ [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)]
+ public class PrebuildSetupAttribute : Attribute
+ {
+ public PrebuildSetupAttribute(Type targetClass)
+ {
+ TargetClass = targetClass;
+ }
+
+ public PrebuildSetupAttribute(string targetClassName)
+ {
+ TargetClass = AttributeHelper.GetTargetClassFromName(targetClassName, typeof(IPrebuildSetup));
+ }
+
+ internal Type TargetClass { get; private set; }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PrebuildSceneSetupAttribute.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PrebuildSceneSetupAttribute.cs.meta new file mode 100644 index 0000000..15402ac --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/PrebuildSceneSetupAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: d1b7ce919aa8864409412e809073cf96
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/QuaternionEqualityComparer.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/QuaternionEqualityComparer.cs new file mode 100644 index 0000000..ede7a8f --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/QuaternionEqualityComparer.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class QuaternionEqualityComparer : IEqualityComparer<Quaternion>
+ {
+ private const float k_DefaultError = 0.00001f;
+ private readonly float AllowedError;
+
+ private static readonly QuaternionEqualityComparer m_Instance = new QuaternionEqualityComparer();
+ public static QuaternionEqualityComparer Instance { get { return m_Instance; } }
+
+
+ private QuaternionEqualityComparer() : this(k_DefaultError) {}
+
+ public QuaternionEqualityComparer(float allowedError)
+ {
+ AllowedError = allowedError;
+ }
+
+ public bool Equals(Quaternion expected, Quaternion actual)
+ {
+ return Mathf.Abs(Quaternion.Dot(expected, actual)) > (1.0f - AllowedError);
+ }
+
+ public int GetHashCode(Quaternion quaternion)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/QuaternionEqualityComparer.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/QuaternionEqualityComparer.cs.meta new file mode 100644 index 0000000..8c3d16b --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/QuaternionEqualityComparer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 3b28913f21577de429da928d6d05219f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/StacktraceFilter.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/StacktraceFilter.cs new file mode 100644 index 0000000..6f1e690 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/StacktraceFilter.cs @@ -0,0 +1,43 @@ +using System.Linq;
+using System.Text;
+
+namespace UnityEngine.TestTools.Utils
+{
+ internal static class StackTraceFilter
+ {
+ private static readonly string[] s_FilteredLogMessages =
+ {
+ @"UnityEngine.DebugLogHandler:Internal_Log",
+ @"UnityEngine.DebugLogHandler:Log",
+ @"UnityEngine.Logger:Log",
+ @"UnityEngine.Debug"
+ };
+
+ private static readonly string[] s_LastMessages =
+ {
+ @"System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)",
+ @"UnityEditor.TestTools.TestRunner.EditModeRunner:InvokeDelegator"
+ };
+
+ public static string Filter(string inputStackTrace)
+ {
+ int idx;
+ foreach (var lastMessage in s_LastMessages)
+ {
+ idx = inputStackTrace.IndexOf(lastMessage);
+ if (idx != -1)
+ inputStackTrace = inputStackTrace.Substring(0, idx);
+ }
+
+ var inputStackTraceLines = inputStackTrace.Split('\n');
+ var result = new StringBuilder();
+ foreach (var line in inputStackTraceLines)
+ {
+ if (s_FilteredLogMessages.Any(s => line.StartsWith(s)))
+ continue;
+ result.AppendLine(line);
+ }
+ return result.ToString();
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/StacktraceFilter.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/StacktraceFilter.cs.meta new file mode 100644 index 0000000..3ba70cd --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/StacktraceFilter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: fc748d99f1f0d484a811a566fc7915ec
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackAttribute.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackAttribute.cs new file mode 100644 index 0000000..b8a5086 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackAttribute.cs @@ -0,0 +1,24 @@ +using System;
+
+namespace UnityEngine.TestRunner
+{
+ [AttributeUsage(AttributeTargets.Assembly)]
+ public class TestRunCallbackAttribute : Attribute
+ {
+ private Type m_Type;
+ public TestRunCallbackAttribute(Type type)
+ {
+ var interfaceType = typeof(ITestRunCallback);
+ if (!interfaceType.IsAssignableFrom(type))
+ {
+ throw new ArgumentException(string.Format("Type provided to {0} does not implement {1}", this.GetType().Name, interfaceType.Name));
+ }
+ m_Type = type;
+ }
+
+ internal ITestRunCallback ConstructCallback()
+ {
+ return Activator.CreateInstance(m_Type) as ITestRunCallback;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackAttribute.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackAttribute.cs.meta new file mode 100644 index 0000000..c40da51 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 76b3a3296de548f48b0c3d088fb4b490
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackListener.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackListener.cs new file mode 100644 index 0000000..4425fa0 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackListener.cs @@ -0,0 +1,63 @@ +using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using NUnit.Framework.Interfaces;
+using NUnit.Framework.Internal;
+using UnityEngine.TestTools.TestRunner;
+
+namespace UnityEngine.TestRunner.Utils
+{
+ internal class TestRunCallbackListener : ScriptableObject, ITestRunnerListener
+ {
+ private ITestRunCallback[] m_Callbacks;
+ public void RunStarted(ITest testsToRun)
+ {
+ InvokeAllCallbacks(callback => callback.RunStarted(testsToRun));
+ }
+
+ private static ITestRunCallback[] GetAllCallbacks()
+ {
+ var allAssemblies = AppDomain.CurrentDomain.GetAssemblies();
+ allAssemblies = allAssemblies.Where(x => x.GetReferencedAssemblies().Any(z => z.Name == "UnityEngine.TestRunner")).ToArray();
+ var attributes = allAssemblies.SelectMany(assembly => assembly.GetCustomAttributes(typeof(TestRunCallbackAttribute), true).OfType<TestRunCallbackAttribute>()).ToArray();
+ return attributes.Select(attribute => attribute.ConstructCallback()).ToArray();
+ }
+
+ private void InvokeAllCallbacks(Action<ITestRunCallback> invoker)
+ {
+ if (m_Callbacks == null)
+ {
+ m_Callbacks = GetAllCallbacks();
+ }
+
+ foreach (var testRunCallback in m_Callbacks)
+ {
+ try
+ {
+ invoker(testRunCallback);
+ }
+ catch (Exception e)
+ {
+ Debug.LogException(e);
+ throw;
+ }
+ }
+ }
+
+ public void RunFinished(ITestResult testResults)
+ {
+ InvokeAllCallbacks(callback => callback.RunFinished(testResults));
+ }
+
+ public void TestStarted(ITest test)
+ {
+ InvokeAllCallbacks(callback => callback.TestStarted(test));
+ }
+
+ public void TestFinished(ITestResult result)
+ {
+ InvokeAllCallbacks(callback => callback.TestFinished(result));
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackListener.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackListener.cs.meta new file mode 100644 index 0000000..aec1caa --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/TestRunCallbackListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 68f09f0f82599b5448579854e622a4c1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Utils.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Utils.cs new file mode 100644 index 0000000..52a1482 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Utils.cs @@ -0,0 +1,40 @@ +using System;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public static class Utils
+ {
+ public static bool AreFloatsEqual(float expected, float actual, float epsilon)
+ {
+ // special case for infinity
+ if (expected == Mathf.Infinity || actual == Mathf.Infinity || expected == Mathf.NegativeInfinity || actual == Mathf.NegativeInfinity)
+ return expected == actual;
+
+ // we cover both relative and absolute tolerance with this check
+ // which is better than just relative in case of small (in abs value) args
+ // please note that "usually" approximation is used [i.e. abs(x)+abs(y)+1]
+ // but we speak about test code so we dont care that much about performance
+ // but we do care about checks being more precise
+ return Math.Abs(actual - expected) <= epsilon * Mathf.Max(Mathf.Max(Mathf.Abs(actual), Mathf.Abs(expected)), 1.0f);
+ }
+
+ public static bool AreFloatsEqualAbsoluteError(float expected, float actual, float allowedAbsoluteError)
+ {
+ return Math.Abs(actual - expected) <= allowedAbsoluteError;
+ }
+
+ /// <summary>
+ /// Analogous to GameObject.CreatePrimitive, but creates a primitive mesh renderer with fast shader instead of a default builtin shader.
+ /// Optimized for testing performance.
+ /// </summary>
+ /// <returns>A GameObject with primitive mesh renderer and collider.</returns>
+ public static GameObject CreatePrimitive(PrimitiveType type)
+ {
+ var prim = GameObject.CreatePrimitive(type);
+ var renderer = prim.GetComponent<Renderer>();
+ if (renderer)
+ renderer.sharedMaterial = new Material(Shader.Find("VertexLit"));
+ return prim;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Utils.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Utils.cs.meta new file mode 100644 index 0000000..32a5d6f --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 9502550ba4785e3499d6c9251fa2114b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2ComparerWithEqualsOperator.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2ComparerWithEqualsOperator.cs new file mode 100644 index 0000000..074dfa5 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2ComparerWithEqualsOperator.cs @@ -0,0 +1,22 @@ +using System.Collections.Generic;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class Vector2ComparerWithEqualsOperator : IEqualityComparer<Vector2>
+ {
+ private static readonly Vector2ComparerWithEqualsOperator m_Instance = new Vector2ComparerWithEqualsOperator();
+ public static Vector2ComparerWithEqualsOperator Instance { get { return m_Instance; } }
+
+ private Vector2ComparerWithEqualsOperator() {}
+
+ public bool Equals(Vector2 expected, Vector2 actual)
+ {
+ return expected == actual;
+ }
+
+ public int GetHashCode(Vector2 vec2)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2ComparerWithEqualsOperator.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2ComparerWithEqualsOperator.cs.meta new file mode 100644 index 0000000..9f25fdc --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2ComparerWithEqualsOperator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 65701ebe8bada6b4785e9c7afe7f5bee
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2EqualityComparer.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2EqualityComparer.cs new file mode 100644 index 0000000..6806b7a --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2EqualityComparer.cs @@ -0,0 +1,33 @@ +using System.Collections.Generic;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class Vector2EqualityComparer : IEqualityComparer<Vector2>
+ {
+ private const float k_DefaultError = 0.0001f;
+ private readonly float AllowedError;
+
+ private static readonly Vector2EqualityComparer m_Instance = new Vector2EqualityComparer();
+ public static Vector2EqualityComparer Instance { get { return m_Instance; } }
+
+ private Vector2EqualityComparer() : this(k_DefaultError)
+ {
+ }
+
+ public Vector2EqualityComparer(float error)
+ {
+ this.AllowedError = error;
+ }
+
+ public bool Equals(Vector2 expected, Vector2 actual)
+ {
+ return Utils.AreFloatsEqual(expected.x, actual.x, AllowedError) &&
+ Utils.AreFloatsEqual(expected.y, actual.y, AllowedError);
+ }
+
+ public int GetHashCode(Vector2 vec2)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2EqualityComparer.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2EqualityComparer.cs.meta new file mode 100644 index 0000000..06fc773 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector2EqualityComparer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 58ad09607a0d62d458a78d7174665566
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3ComparerWithEqualsOperator.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3ComparerWithEqualsOperator.cs new file mode 100644 index 0000000..0650e0e --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3ComparerWithEqualsOperator.cs @@ -0,0 +1,22 @@ +using System.Collections.Generic;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class Vector3ComparerWithEqualsOperator : IEqualityComparer<Vector3>
+ {
+ private static readonly Vector3ComparerWithEqualsOperator m_Instance = new Vector3ComparerWithEqualsOperator();
+ public static Vector3ComparerWithEqualsOperator Instance { get { return m_Instance; } }
+
+ private Vector3ComparerWithEqualsOperator() {}
+
+ public bool Equals(Vector3 expected, Vector3 actual)
+ {
+ return expected == actual;
+ }
+
+ public int GetHashCode(Vector3 vec3)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3ComparerWithEqualsOperator.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3ComparerWithEqualsOperator.cs.meta new file mode 100644 index 0000000..b3c4c43 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3ComparerWithEqualsOperator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 5b994928117e3db418da69c821da7e19
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3EqualityComparer.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3EqualityComparer.cs new file mode 100644 index 0000000..42ff0b0 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3EqualityComparer.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic;
+
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class Vector3EqualityComparer : IEqualityComparer<Vector3>
+ {
+ private const float k_DefaultError = 0.0001f;
+ private readonly float AllowedError;
+
+ private static readonly Vector3EqualityComparer m_Instance = new Vector3EqualityComparer();
+ public static Vector3EqualityComparer Instance { get { return m_Instance; } }
+
+ private Vector3EqualityComparer() : this(k_DefaultError) {}
+ public Vector3EqualityComparer(float allowedError)
+ {
+ this.AllowedError = allowedError;
+ }
+
+ public bool Equals(Vector3 expected, Vector3 actual)
+ {
+ return Utils.AreFloatsEqual(expected.x, actual.x, AllowedError) &&
+ Utils.AreFloatsEqual(expected.y, actual.y, AllowedError) &&
+ Utils.AreFloatsEqual(expected.z, actual.z, AllowedError);
+ }
+
+ public int GetHashCode(Vector3 vec3)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3EqualityComparer.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3EqualityComparer.cs.meta new file mode 100644 index 0000000..1474236 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector3EqualityComparer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 4bd2bc28ff24d5c488844851cb785db0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4ComparerWithEqualsOperator.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4ComparerWithEqualsOperator.cs new file mode 100644 index 0000000..2524817 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4ComparerWithEqualsOperator.cs @@ -0,0 +1,22 @@ +using System.Collections.Generic;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class Vector4ComparerWithEqualsOperator : IEqualityComparer<Vector4>
+ {
+ private static readonly Vector4ComparerWithEqualsOperator m_Instance = new Vector4ComparerWithEqualsOperator();
+ public static Vector4ComparerWithEqualsOperator Instance { get { return m_Instance; } }
+
+ private Vector4ComparerWithEqualsOperator() {}
+
+ public bool Equals(Vector4 expected, Vector4 actual)
+ {
+ return expected == actual;
+ }
+
+ public int GetHashCode(Vector4 vec4)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4ComparerWithEqualsOperator.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4ComparerWithEqualsOperator.cs.meta new file mode 100644 index 0000000..ef9d109 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4ComparerWithEqualsOperator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 44100f5f60f351348b9719b46d46cebe
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4EqualityComparer.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4EqualityComparer.cs new file mode 100644 index 0000000..23640f6 --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4EqualityComparer.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic;
+
+namespace UnityEngine.TestTools.Utils
+{
+ public class Vector4EqualityComparer : IEqualityComparer<Vector4>
+ {
+ private const float k_DefaultError = 0.0001f;
+ private readonly float AllowedError;
+
+ private static readonly Vector4EqualityComparer m_Instance = new Vector4EqualityComparer();
+ public static Vector4EqualityComparer Instance { get { return m_Instance; } }
+
+ private Vector4EqualityComparer() : this(k_DefaultError) {}
+ public Vector4EqualityComparer(float allowedError)
+ {
+ this.AllowedError = allowedError;
+ }
+
+ public bool Equals(Vector4 expected, Vector4 actual)
+ {
+ return Utils.AreFloatsEqual(expected.x, actual.x, AllowedError) &&
+ Utils.AreFloatsEqual(expected.y, actual.y, AllowedError) &&
+ Utils.AreFloatsEqual(expected.z, actual.z, AllowedError) &&
+ Utils.AreFloatsEqual(expected.w, actual.w, AllowedError);
+ }
+
+ public int GetHashCode(Vector4 vec4)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4EqualityComparer.cs.meta b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4EqualityComparer.cs.meta new file mode 100644 index 0000000..75f969d --- /dev/null +++ b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/Utils/Vector4EqualityComparer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2
+guid: 32da81683c22faf458026716a2b821aa
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
|
