GetConnectionIPs() public method

public GetConnectionIPs ( ) : string[]
return string[]
        public static void BuildAndRunInPlayer(PlatformRunnerConfiguration configuration)
        {
            NetworkResultsReceiver.StopReceiver();

            var settings = new PlayerSettingConfigurator(false);

            if (configuration.sendResultsOverNetwork)
            {
                try
                {
                    var l = new TcpListener(IPAddress.Any, configuration.port);
                    l.Start();
                    configuration.port = ((IPEndPoint)l.Server.LocalEndPoint).Port;
                    l.Stop();
                }
                catch (SocketException e)
                {
                    Debug.LogException(e);
                    if (InternalEditorUtility.inBatchMode)
                        EditorApplication.Exit(Batch.returnCodeRunError);
                }
            }

            if (InternalEditorUtility.inBatchMode)
                settings.AddConfigurationFile(TestRunnerConfigurator.batchRunFileMarker, "");

            if (configuration.sendResultsOverNetwork)
                settings.AddConfigurationFile(TestRunnerConfigurator.integrationTestsNetwork,
                                              string.Join("\n", configuration.GetConnectionIPs()));

            settings.AddConfigurationFile (TestRunnerConfigurator.testScenesToRun, string.Join ("\n", configuration.testScenes.ToArray()));

            settings.ChangeSettingsForIntegrationTests();

            AssetDatabase.Refresh();

            var result = BuildPipeline.BuildPlayer(configuration.testScenes.Concat(configuration.buildScenes).ToArray(),
                                                   configuration.GetTempPath(),
                                                   configuration.buildTarget,
                                                   BuildOptions.AutoRunPlayer | BuildOptions.Development);

            settings.RevertSettingsChanges();
            settings.RemoveAllConfigurationFiles();

            AssetDatabase.Refresh();

            if (!string.IsNullOrEmpty(result))
            {
                if (InternalEditorUtility.inBatchMode)
                    EditorApplication.Exit(Batch.returnCodeRunError);
                return;
            }

            if (configuration.sendResultsOverNetwork)
                NetworkResultsReceiver.StartReceiver(configuration);
            else if (InternalEditorUtility.inBatchMode)
                EditorApplication.Exit(Batch.returnCodeTestsOk);
        }
示例#2
0
		private static void RunInEditor (List<string> sceneList)
		{
			NetworkResultsReceiver.StopReceiver ();
			if (sceneList == null || sceneList.Count == 0)
			{
				Debug.Log ("No scenes on the list");
				EditorApplication.Exit(RETURN_CODE_RUN_ERROR);
				return;
			}
			EditorBuildSettings.scenes = sceneList.Select (s => new EditorBuildSettingsScene (s, true)).ToArray ();
			EditorApplication.OpenScene (sceneList.First ());
			GuiHelper.SetConsoleErrorPause (false);

			var config = new PlatformRunnerConfiguration()
			{
				resultsDir = GetParameterArgument(resultFileDirParam),
				ipList = TestRunnerConfigurator.GetAvailableNetworkIPs(),
				port = PlatformRunnerConfiguration.TryToGetFreePort (),
			};

			var settings = new PlayerSettingConfigurator(true);
			settings.AddConfigurationFile(TestRunnerConfigurator.integrationTestsNetwork, string.Join("\n", config.GetConnectionIPs()));

			NetworkResultsReceiver.StartReceiver(config);

			EditorApplication.isPlaying = true;
		}
示例#3
0
        private static void RunInEditor(List<string> testScenes, List<string> otherBuildScenes)
        {
            CheckActiveBuildTarget();

            NetworkResultsReceiver.StopReceiver();
            if (testScenes == null || testScenes.Count == 0)
            {
                Debug.Log("No test scenes on the list");
                EditorApplication.Exit(returnCodeRunError);
                return;
            }

            string previousScenesXml = "";
            var serializer = new System.Xml.Serialization.XmlSerializer(typeof(EditorBuildSettingsScene[]));
            using(StringWriter textWriter = new StringWriter())
            {
                serializer.Serialize(textWriter, EditorBuildSettings.scenes);
                previousScenesXml = textWriter.ToString();
            }

            EditorBuildSettings.scenes = (testScenes.Concat(otherBuildScenes).ToList()).Select(s => new EditorBuildSettingsScene(s, true)).ToArray();
            EditorSceneManager.OpenScene(testScenes.First());
            GuiHelper.SetConsoleErrorPause(false);

            var config = new PlatformRunnerConfiguration
            {
                resultsDir = GetParameterArgument(k_ResultFileDirParam),
                ipList = TestRunnerConfigurator.GetAvailableNetworkIPs(),
                port = PlatformRunnerConfiguration.TryToGetFreePort(),
                runInEditor = true
            };

            var settings = new PlayerSettingConfigurator(true);
            settings.AddConfigurationFile(TestRunnerConfigurator.integrationTestsNetwork, string.Join("\n", config.GetConnectionIPs()));
            settings.AddConfigurationFile(TestRunnerConfigurator.testScenesToRun, string.Join ("\n", testScenes.ToArray()));
            settings.AddConfigurationFile(TestRunnerConfigurator.previousScenes, previousScenesXml);

            NetworkResultsReceiver.StartReceiver(config);

            EditorApplication.isPlaying = true;
        }
示例#4
0
        private static void RunInEditor(List <string> sceneList)
        {
            CheckActiveBuildTarget();

            NetworkResultsReceiver.StopReceiver();
            if (sceneList == null || sceneList.Count == 0)
            {
                Debug.Log("No scenes on the list");
                EditorApplication.Exit(returnCodeRunError);
                return;
            }
            EditorBuildSettings.scenes = sceneList.Select(s => new EditorBuildSettingsScene(s, true)).ToArray();
            EditorApplication.OpenScene(sceneList.First());
            GuiHelper.SetConsoleErrorPause(false);

            var config = new PlatformRunnerConfiguration
            {
                resultsDir  = GetParameterArgument(k_ResultFileDirParam),
                ipList      = TestRunnerConfigurator.GetAvailableNetworkIPs(),
                port        = PlatformRunnerConfiguration.TryToGetFreePort(),
                runInEditor = true,
            };

            var settings = new PlayerSettingConfigurator(true);

            settings.AddConfigurationFile(TestRunnerConfigurator.integrationTestsNetwork, string.Join("\n", config.GetConnectionIPs()));

            NetworkResultsReceiver.StartReceiver(config);

            EditorApplication.isPlaying = true;
        }
示例#5
0
        private static void RunInEditor(List <string> testScenes, List <string> otherBuildScenes)
        {
            CheckActiveBuildTarget();

            NetworkResultsReceiver.StopReceiver();
            if (testScenes == null || testScenes.Count == 0)
            {
                Debug.Log("No test scenes on the list");
                EditorApplication.Exit(returnCodeRunError);
                return;
            }

            string previousScenesXml = "";
            var    serializer        = new System.Xml.Serialization.XmlSerializer(typeof(EditorBuildSettingsScene[]));

            using (StringWriter textWriter = new StringWriter())
            {
                serializer.Serialize(textWriter, EditorBuildSettings.scenes);
                previousScenesXml = textWriter.ToString();
            }

            EditorBuildSettings.scenes = (testScenes.Concat(otherBuildScenes).ToList()).Select(s => new EditorBuildSettingsScene(s, true)).ToArray();

#if UNITY_5_3_OR_NEWER
            EditorSceneManager.OpenScene(testScenes.First());
#else
            EditorApplication.LoadLevelInPlayMode(testScenes.First());
#endif
            GuiHelper.SetConsoleErrorPause(false);

            var config = new PlatformRunnerConfiguration
            {
                resultsDir  = GetParameterArgument(k_ResultFileDirParam),
                ipList      = TestRunnerConfigurator.GetAvailableNetworkIPs(),
                port        = PlatformRunnerConfiguration.TryToGetFreePort(),
                runInEditor = true
            };

            var settings = new PlayerSettingConfigurator(true);
            settings.AddConfigurationFile(TestRunnerConfigurator.integrationTestsNetwork, string.Join("\n", config.GetConnectionIPs()));
            settings.AddConfigurationFile(TestRunnerConfigurator.testScenesToRun, string.Join("\n", testScenes.ToArray()));
            settings.AddConfigurationFile(TestRunnerConfigurator.previousScenes, previousScenesXml);

            NetworkResultsReceiver.StartReceiver(config);

            EditorApplication.isPlaying = true;
        }
示例#6
0
        public static void BuildAndRunInPlayer(PlatformRunnerConfiguration configuration)
        {
            NetworkResultsReceiver.StopReceiver();

            var settings = new PlayerSettingConfigurator(false);

            if (configuration.sendResultsOverNetwork)
            {
                try
                {
                    var l = new TcpListener(IPAddress.Any, configuration.port);
                    l.Start();
                    configuration.port = ((IPEndPoint)l.Server.LocalEndPoint).Port;
                    l.Stop();
                }
                catch (SocketException e)
                {
                    Debug.LogException(e);
                    if (InternalEditorUtility.inBatchMode)
                    {
                        EditorApplication.Exit(Batch.returnCodeRunError);
                    }
                }
            }

            if (InternalEditorUtility.inBatchMode)
            {
                settings.AddConfigurationFile(TestRunnerConfigurator.batchRunFileMarker, "");
            }

            if (configuration.sendResultsOverNetwork)
            {
                settings.AddConfigurationFile(TestRunnerConfigurator.integrationTestsNetwork,
                                              string.Join("\n", configuration.GetConnectionIPs()));
            }

            settings.AddConfigurationFile(TestRunnerConfigurator.testScenesToRun, string.Join("\n", configuration.testScenes.ToArray()));

            settings.ChangeSettingsForIntegrationTests();

            AssetDatabase.Refresh();

            var result = BuildPipeline.BuildPlayer(configuration.testScenes.Concat(configuration.buildScenes).ToArray(),
                                                   configuration.GetTempPath(),
                                                   configuration.buildTarget,
                                                   BuildOptions.AutoRunPlayer | BuildOptions.Development);

            settings.RevertSettingsChanges();
            settings.RemoveAllConfigurationFiles();

            AssetDatabase.Refresh();

            if (!string.IsNullOrEmpty(result))
            {
                if (InternalEditorUtility.inBatchMode)
                {
                    EditorApplication.Exit(Batch.returnCodeRunError);
                }
                return;
            }

            if (configuration.sendResultsOverNetwork)
            {
                NetworkResultsReceiver.StartReceiver(configuration);
            }
            else if (InternalEditorUtility.inBatchMode)
            {
                EditorApplication.Exit(Batch.returnCodeTestsOk);
            }
        }
示例#7
0
文件: Batch.cs 项目: brock555/Zenject
        private static void RunInEditor(List <string> testScenes, List <string> otherBuildScenes)
        {
            CheckActiveBuildTarget();

            // Steve V. 2016 - This causes exceptions and it's a feature I don't care about
            //NetworkResultsReceiver.StopReceiver();

            if (testScenes == null || testScenes.Count == 0)
            {
                Debug.Log("No test scenes on the list");
                EditorApplication.Exit(returnCodeRunError);
                return;
            }
            EditorBuildSettings.scenes = (testScenes.Concat(otherBuildScenes).ToList()).Select(s => new EditorBuildSettingsScene(s, true)).ToArray();
            EditorApplication.OpenScene(testScenes.First());
            GuiHelper.SetConsoleErrorPause(false);

            var config = new PlatformRunnerConfiguration
            {
                resultsDir  = GetParameterArgument(k_ResultFileDirParam),
                ipList      = TestRunnerConfigurator.GetAvailableNetworkIPs(),
                port        = PlatformRunnerConfiguration.TryToGetFreePort(),
                runInEditor = true
            };

            var settings = new PlayerSettingConfigurator(true);

            settings.AddConfigurationFile(TestRunnerConfigurator.integrationTestsNetwork, string.Join("\n", config.GetConnectionIPs()));

            // Steve V. 2016 - This causes exceptions and it's a feature I don't care about
            //NetworkResultsReceiver.StartReceiver(config);

            EditorApplication.isPlaying = true;
        }