diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2020-04-20 19:09:33 -0400 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2020-04-20 19:09:33 -0400 |
| commit | 7c1e566113d59699af1624186c64eca67f063fc6 (patch) | |
| tree | 5a6850a695986872d5d0b09d7dab8421628fe33e /Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/TestRunner/Callbacks/RemoteTestResultSender.cs | |
| parent | dd117b77aae1d8be7563b360d05b842a73b7dab2 (diff) | |
| download | Project-Sandbox-7c1e566113d59699af1624186c64eca67f063fc6.tar.gz Project-Sandbox-7c1e566113d59699af1624186c64eca67f063fc6.tar.bz2 Project-Sandbox-7c1e566113d59699af1624186c64eca67f063fc6.zip | |
Upgraded Unity
Diffstat (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/TestRunner/Callbacks/RemoteTestResultSender.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/TestRunner/Callbacks/RemoteTestResultSender.cs | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/TestRunner/Callbacks/RemoteTestResultSender.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/TestRunner/Callbacks/RemoteTestResultSender.cs deleted file mode 100644 index 1bfb63e..0000000 --- a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEngine.TestRunner/TestRunner/Callbacks/RemoteTestResultSender.cs +++ /dev/null @@ -1,151 +0,0 @@ -using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using NUnit.Framework.Interfaces;
-using UnityEngine.Networking.PlayerConnection;
-using UnityEngine.TestRunner.TestLaunchers;
-
-namespace UnityEngine.TestTools.TestRunner.Callbacks
-{
- [AddComponentMenu("")]
- internal class RemoteTestResultSender : MonoBehaviour, ITestRunnerListener
- {
- private class QueueData
- {
- public Guid id { get; set; }
- public byte[] data { get; set; }
- }
-
- private const int k_aliveMessageFrequency = 120;
- private float m_NextliveMessage = k_aliveMessageFrequency;
- private readonly Queue<QueueData> m_SendQueue = new Queue<QueueData>();
- private readonly object m_LockQueue = new object();
- private readonly IRemoteTestResultDataFactory m_TestResultDataFactory = new RemoteTestResultDataFactory();
-
- public void Start()
- {
- PlayerConnection.instance.Register(PlayerConnectionMessageIds.quitPlayerMessageId, EditorProccessedTheResult);
- StartCoroutine(SendDataRoutine());
- }
-
- private void EditorProccessedTheResult(MessageEventArgs arg0)
- {
- if (arg0.data != null)
- {
- return;
- }
-
- //Some platforms don't quit, so we need to disconnect to make sure they will not connect to another editor instance automatically.
- PlayerConnection.instance.DisconnectAll();
-
- //XBOX has an error when quitting
- if (Application.platform == RuntimePlatform.XboxOne)
- {
- return;
- }
- Application.Quit();
- }
-
- private byte[] SerializeObject(object objectToSerialize)
- {
- return Encoding.UTF8.GetBytes(JsonUtility.ToJson(objectToSerialize));
- }
-
- public void RunStarted(ITest testsToRun)
- {
- var data = SerializeObject(m_TestResultDataFactory.CreateFromTest(testsToRun));
- lock (m_LockQueue)
- {
- m_SendQueue.Enqueue(new QueueData
- {
- id = PlayerConnectionMessageIds.runStartedMessageId,
- data = data
- });
- }
- }
-
- public void RunFinished(ITestResult testResults)
- {
- var data = SerializeObject(m_TestResultDataFactory.CreateFromTestResult(testResults));
- lock (m_LockQueue)
- {
- m_SendQueue.Enqueue(new QueueData { id = PlayerConnectionMessageIds.runFinishedMessageId, data = data, });
- }
- }
-
- public void TestStarted(ITest test)
- {
- var data = SerializeObject(m_TestResultDataFactory.CreateFromTest(test));
- lock (m_LockQueue)
- {
- m_SendQueue.Enqueue(new QueueData
- {
- id = PlayerConnectionMessageIds.testStartedMessageId,
- data = data
- });
- }
- }
-
- public void TestFinished(ITestResult result)
- {
- var testRunnerResultForApi = m_TestResultDataFactory.CreateFromTestResult(result);
- var resultData = SerializeObject(testRunnerResultForApi);
- lock (m_LockQueue)
- {
- m_SendQueue.Enqueue(new QueueData
- {
- id = PlayerConnectionMessageIds.testFinishedMessageId,
- data = resultData,
- });
- }
- }
-
- public IEnumerator SendDataRoutine()
- {
- while (!PlayerConnection.instance.isConnected)
- {
- yield return new WaitForSeconds(1);
- }
-
- while (true)
- {
- lock (m_LockQueue)
- {
- if (PlayerConnection.instance.isConnected && m_SendQueue.Count > 0)
- {
- ResetNextPlayerAliveMessageTime();
- var queueData = m_SendQueue.Dequeue();
- PlayerConnection.instance.Send(queueData.id, queueData.data);
- yield return null;
- }
-
- //This is needed so we dont stall the player totally
- if (!m_SendQueue.Any())
- {
- SendAliveMessageIfNeeded();
- yield return new WaitForSeconds(0.02f);
- }
- }
- }
- }
-
- private void SendAliveMessageIfNeeded()
- {
- if (Time.timeSinceLevelLoad < m_NextliveMessage)
- {
- return;
- }
-
- Debug.Log("Sending player alive message back to editor.");
- ResetNextPlayerAliveMessageTime();
- PlayerConnection.instance.Send(PlayerConnectionMessageIds.playerAliveHeartbeat, new byte[0]);
- }
-
- private void ResetNextPlayerAliveMessageTime()
- {
- m_NextliveMessage = Time.timeSinceLevelLoad + k_aliveMessageFrequency;
- }
- }
-}
|
