Exemple #1
0
        private static string ExecutionSettingsToString(Api.ExecutionSettings executionSettings)
        {
            if (executionSettings == null)
            {
                return("none");
            }

            if (executionSettings.filter == null)
            {
                return("no filter");
            }

            return("test mode = " + executionSettings.filter.testMode);
        }
Exemple #2
0
        public Api.ExecutionSettings BuildApiExecutionSettings(string[] commandLineArgs)
        {
            var    quit         = false;
            string testPlatform = TestMode.EditMode.ToString();

            string[] testFilters            = null;
            string[] testCategories         = null;
            string   testSettingsFilePath   = null;
            int      testRepetitions        = 1;
            int?     playerHeartbeatTimeout = null;
            bool     runSynchronously       = false;

            string[] testAssemblyNames = null;

            var optionSet = new CommandLineOptionSet(
                new CommandLineOption("quit", () => { quit = true; }),
                new CommandLineOption("testPlatform", platform => { testPlatform = platform; }),
                new CommandLineOption("editorTestsFilter", filters => { testFilters = filters; }),
                new CommandLineOption("testFilter", filters => { testFilters = filters; }),
                new CommandLineOption("editorTestsCategories", catagories => { testCategories = catagories; }),
                new CommandLineOption("testCategory", catagories => { testCategories = catagories; }),
                new CommandLineOption("testSettingsFile", settingsFilePath => { testSettingsFilePath = settingsFilePath; }),
                new CommandLineOption("testRepetitions", reps => { testRepetitions = int.Parse(reps); }),
                new CommandLineOption("playerHeartbeatTimeout", timeout => { playerHeartbeatTimeout = int.Parse(timeout); }),
                new CommandLineOption("runSynchronously", () => { runSynchronously = true; }),
                new CommandLineOption("assemblyNames", assemblyNames => { testAssemblyNames = assemblyNames; })
                );

            optionSet.Parse(commandLineArgs);

            DisplayQuitWarningIfQuitIsGiven(quit);

            CheckForScriptCompilationErrors();

            LogParametersForRun(testPlatform, testFilters, testCategories, testSettingsFilePath);

            var testSettings = GetTestSettings(testSettingsFilePath);

            var filter = new Filter()
            {
                groupNames    = testFilters,
                categoryNames = testCategories,
                assemblyNames = testAssemblyNames
            };

            var buildTarget = SetFilterAndGetBuildTarget(testPlatform, filter);

            RerunCallbackData.instance.runFilters = new [] { new TestRunnerFilter()
                                                             {
                                                                 categoryNames   = filter.categoryNames,
                                                                 groupNames      = filter.groupNames,
                                                                 testRepetitions = testRepetitions
                                                             } };

            RerunCallbackData.instance.testMode = filter.testMode;

            var settings = new Api.ExecutionSettings()
            {
                filters = new [] { filter },
                overloadTestRunSettings = new RunSettings(testSettings),
                targetPlatform          = buildTarget,
                runSynchronously        = runSynchronously
            };

            if (playerHeartbeatTimeout != null)
            {
                settings.playerHeartbeatTimeout = playerHeartbeatTimeout.Value;
            }

            return(settings);
        }