From 7c1e566113d59699af1624186c64eca67f063fc6 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Mon, 20 Apr 2020 19:09:33 -0400 Subject: Upgraded Unity --- .../TestLaunchers/PlayerLauncher.cs | 216 --------------------- 1 file changed, 216 deletions(-) delete mode 100644 Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/TestLaunchers/PlayerLauncher.cs (limited to 'Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/TestLaunchers/PlayerLauncher.cs') diff --git a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/TestLaunchers/PlayerLauncher.cs b/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/TestLaunchers/PlayerLauncher.cs deleted file mode 100644 index 337414b..0000000 --- a/Library/PackageCache/com.unity.test-framework@1.1.11/UnityEditor.TestRunner/TestLaunchers/PlayerLauncher.cs +++ /dev/null @@ -1,216 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading; -using NUnit.Framework.Internal.Filters; -using UnityEditor; -using UnityEditor.TestRunner.TestLaunchers; -using UnityEditor.TestTools.TestRunner.Api; -using UnityEngine; -using UnityEngine.SceneManagement; -using UnityEngine.TestRunner.Utils; -using UnityEngine.TestTools.TestRunner; -using UnityEngine.TestTools.TestRunner.Callbacks; - -namespace UnityEditor.TestTools.TestRunner -{ - internal class TestLaunchFailedException : Exception - { - public TestLaunchFailedException() {} - public TestLaunchFailedException(string message) : base(message) {} - } - - [Serializable] - internal class PlayerLauncher : RuntimeTestLauncherBase - { - private readonly PlaymodeTestsControllerSettings m_Settings; - private readonly BuildTarget m_TargetPlatform; - private ITestRunSettings m_OverloadTestRunSettings; - private string m_SceneName; - private int m_HeartbeatTimeout; - - public PlayerLauncher(PlaymodeTestsControllerSettings settings, BuildTarget? targetPlatform, ITestRunSettings overloadTestRunSettings, int heartbeatTimeout) - { - m_Settings = settings; - m_TargetPlatform = targetPlatform ?? EditorUserBuildSettings.activeBuildTarget; - m_OverloadTestRunSettings = overloadTestRunSettings; - m_HeartbeatTimeout = heartbeatTimeout; - } - - protected override RuntimePlatform? TestTargetPlatform - { - get { return BuildTargetConverter.TryConvertToRuntimePlatform(m_TargetPlatform); } - } - - public override void Run() - { - var editorConnectionTestCollector = RemoteTestRunController.instance; - editorConnectionTestCollector.hideFlags = HideFlags.HideAndDontSave; - editorConnectionTestCollector.Init(m_TargetPlatform, m_HeartbeatTimeout); - - var remotePlayerLogController = RemotePlayerLogController.instance; - remotePlayerLogController.hideFlags = HideFlags.HideAndDontSave; - - using (var settings = new PlayerLauncherContextSettings(m_OverloadTestRunSettings)) - { - m_SceneName = CreateSceneName(); - var scene = PrepareScene(m_SceneName); - string scenePath = scene.path; - - var filter = m_Settings.BuildNUnitFilter(); - var runner = LoadTests(filter); - var exceptionThrown = ExecutePreBuildSetupMethods(runner.LoadedTest, filter); - if (exceptionThrown) - { - ReopenOriginalScene(m_Settings.originalScene); - AssetDatabase.DeleteAsset(m_SceneName); - CallbacksDelegator.instance.RunFailed("Run Failed: One or more errors in a prebuild setup. See the editor log for details."); - return; - } - - var playerBuildOptions = GetBuildOptions(scenePath); - - var success = BuildAndRunPlayer(playerBuildOptions); - editorConnectionTestCollector.PostBuildAction(); - ExecutePostBuildCleanupMethods(runner.LoadedTest, filter); - - ReopenOriginalScene(m_Settings.originalScene); - AssetDatabase.DeleteAsset(m_SceneName); - - if (!success) - { - ScriptableObject.DestroyImmediate(editorConnectionTestCollector); - Debug.LogError("Player build failed"); - throw new TestLaunchFailedException("Player build failed"); - } - - editorConnectionTestCollector.PostSuccessfulBuildAction(); - if((playerBuildOptions.BuildPlayerOptions.options & BuildOptions.AutoRunPlayer) != 0) - editorConnectionTestCollector.PostSuccessfulLaunchAction(); - } - } - - public Scene PrepareScene(string sceneName) - { - var scene = CreateBootstrapScene(sceneName, runner => - { - runner.AddEventHandlerMonoBehaviour(); - runner.settings = m_Settings; - runner.AddEventHandlerMonoBehaviour(); - runner.AddEventHandlerScriptableObject(); - }); - return scene; - } - - private static bool BuildAndRunPlayer(PlayerLauncherBuildOptions buildOptions) - { - Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Building player with following options:\n{0}", buildOptions); - - - // Android has to be in listen mode to establish player connection - if (buildOptions.BuildPlayerOptions.target == BuildTarget.Android) - { - buildOptions.BuildPlayerOptions.options &= ~BuildOptions.ConnectToHost; - } - - // For now, so does Lumin - if (buildOptions.BuildPlayerOptions.target == BuildTarget.Lumin) - { - buildOptions.BuildPlayerOptions.options &= ~BuildOptions.ConnectToHost; - } - - var result = BuildPipeline.BuildPlayer(buildOptions.BuildPlayerOptions); - if (result.summary.result != Build.Reporting.BuildResult.Succeeded) - Debug.LogError(result.SummarizeErrors()); - - return result.summary.result == Build.Reporting.BuildResult.Succeeded; - } - - private PlayerLauncherBuildOptions GetBuildOptions(string scenePath) - { - var buildOptions = new BuildPlayerOptions(); - var reduceBuildLocationPathLength = false; - - //Some platforms hit MAX_PATH limits during the build process, in these cases minimize the path length - if ((m_TargetPlatform == BuildTarget.WSAPlayer) || (m_TargetPlatform == BuildTarget.XboxOne)) - { - reduceBuildLocationPathLength = true; - } - - var scenes = new List() { scenePath }; - scenes.AddRange(EditorBuildSettings.scenes.Select(x => x.path)); - buildOptions.scenes = scenes.ToArray(); - - buildOptions.options |= BuildOptions.Development | BuildOptions.ConnectToHost | BuildOptions.IncludeTestAssemblies | BuildOptions.StrictMode; - buildOptions.target = m_TargetPlatform; - - if (EditorUserBuildSettings.waitForPlayerConnection) - buildOptions.options |= BuildOptions.WaitForPlayerConnection; - - if (EditorUserBuildSettings.allowDebugging) - buildOptions.options |= BuildOptions.AllowDebugging; - - if (EditorUserBuildSettings.installInBuildFolder) - buildOptions.options |= BuildOptions.InstallInBuildFolder; - else - buildOptions.options |= BuildOptions.AutoRunPlayer; - - var buildTargetGroup = EditorUserBuildSettings.activeBuildTargetGroup; - - //Check if Lz4 is supported for the current buildtargetgroup and enable it if need be - if (PostprocessBuildPlayer.SupportsLz4Compression(buildTargetGroup, m_TargetPlatform)) - { - if (EditorUserBuildSettings.GetCompressionType(buildTargetGroup) == Compression.Lz4) - buildOptions.options |= BuildOptions.CompressWithLz4; - else if (EditorUserBuildSettings.GetCompressionType(buildTargetGroup) == Compression.Lz4HC) - buildOptions.options |= BuildOptions.CompressWithLz4HC; - } - - var uniqueTempPathInProject = FileUtil.GetUniqueTempPathInProject(); - var playerDirectoryName = reduceBuildLocationPathLength ? "PwT" : "PlayerWithTests"; - - if (reduceBuildLocationPathLength) - { - uniqueTempPathInProject = Path.GetTempFileName(); - File.Delete(uniqueTempPathInProject); - Directory.CreateDirectory(uniqueTempPathInProject); - } - var tempPath = Path.GetFullPath(uniqueTempPathInProject); - var buildLocation = Path.Combine(tempPath, playerDirectoryName); - - // iOS builds create a folder with Xcode project instead of an executable, therefore no executable name is added - if (m_TargetPlatform == BuildTarget.iOS) - { - buildOptions.locationPathName = buildLocation; - } - else - { - string extensionForBuildTarget = PostprocessBuildPlayer.GetExtensionForBuildTarget(buildTargetGroup, buildOptions.target, buildOptions.options); - var playerExecutableName = "PlayerWithTests"; - playerExecutableName += string.Format(".{0}", extensionForBuildTarget); - buildOptions.locationPathName = Path.Combine(buildLocation, playerExecutableName); - } - - return new PlayerLauncherBuildOptions - { - BuildPlayerOptions = ModifyBuildOptions(buildOptions), - PlayerDirectory = buildLocation, - }; - } - - private BuildPlayerOptions ModifyBuildOptions(BuildPlayerOptions buildOptions) - { - var allAssemblies = AppDomain.CurrentDomain.GetAssemblies().Where(x => x.GetReferencedAssemblies().Any(z => z.Name == "UnityEngine.TestRunner")).ToArray(); - var attributes = allAssemblies.SelectMany(assembly => assembly.GetCustomAttributes(typeof(TestPlayerBuildModifierAttribute), true).OfType()).ToArray(); - var modifiers = attributes.Select(attribute => attribute.ConstructModifier()).ToArray(); - - foreach (var modifier in modifiers) - { - buildOptions = modifier.ModifyOptions(buildOptions); - } - - return buildOptions; - } - } -} -- cgit v1.2.3