public static void RunPlayModeTests(bool runOnlySelected, bool runOnlySmoke,
                                     float timeScale = 1, string[] namespaces = null, bool quitAppAfterCompleteTests = false)
 {
     PlayModeTestRunner.DefaultTimescale = timeScale;
     PlayModeTestRunner.Namespaces       = namespaces;
     PlayerPrefs.SetString("PackageUpdaterLastChecked68207", DateTime.Now.ToString(CultureInfo.InvariantCulture));
     PlayModeTestRunner.QuitAppAfterCompleteTests = quitAppAfterCompleteTests;
     ResolveTestMode(runOnlySelected, runOnlySmoke);
     PlayModeTestRunner.Run();
 }
    public static void RunPlayModeTests()
    {
        SetTimeScaleFromCommandLineArgument();
        SetTestsNamespacesFromCommandLineArgument();

        PlayerPrefs.SetString("PackageUpdaterLastChecked68207", DateTime.Now.ToString(CultureInfo.InvariantCulture));

        PlayModeTestRunner.QuitAppAfterCompleteTests = true;
        ResolveTestMode();
        PlayModeTestRunner.Run();
    }
    private static void AddTestSceneToBuild()
    {
        string scenePath = PlayModeTestRunner.GetTestScenePath();

        if (string.IsNullOrEmpty(scenePath))
        {
            Debug.LogError("Cant find test scene");
            return;
        }

        var scenes    = EditorBuildSettings.scenes.ToList();
        var allScenes = scenes.Aggregate("", (concated, scene) => scene.path + "; " + concated);

        Debug.Log("----------- test scene path: " + scenePath +
                  " all scenes amount: " + scenes.Count +
                  " all scene names " + allScenes);

        if (scenes.Count == 0 || scenes[0].path != scenePath || scenes[0].enabled == false)
        {
            if (scenes.Count > 0)
            {
                Debug.Log("----------- scenes[0].path: " + scenes[0].path +
                          " scenes[0].enabled: " + scenes[0].enabled);
            }
            var index = scenes.FindIndex(s => s.path.Contains(PlayModeTestRunner.TEST_NAME_SCENE));
            if (index != -1)
            {
                scenes.RemoveAt(index);
            }
            Debug.Log("----------- test scene index " + index);

            scenes.Insert(0, new EditorBuildSettingsScene(scenePath, true));
            EditorBuildSettings.scenes = scenes.ToArray();

            Debug.Log("------- EditorBuildSettings.scenes "
                      + EditorBuildSettings.scenes.Aggregate("", (concated, scene) => scene.path + "; " + concated));
        }
    }