public void TestStarted(ITestAdaptor test)
        {
            if (!Coverage.enabled)
            {
                return;
            }

            if (CoverageRunData.instance.HasLastIgnoredSuiteID() || m_IsConnectedToPlayer)
            {
                return;
            }

            if (test.RunState == RunState.Ignored)
            {
                if (test.IsSuite)
                {
                    CoverageRunData.instance.SetLastIgnoredSuiteID(test.Id);
                }

                return;
            }

            if (test.IsSuite)
            {
                return;
            }

            CoverageRunData.instance.IncrementTestRunCount();
            ICoverageReporter coverageReporter = m_CoverageReporterManager.CoverageReporter;

            if (coverageReporter != null)
            {
                coverageReporter.OnTestStarted(test);
            }
        }
        public void RunStarted(ITestAdaptor testsToRun)
        {
            if (!Coverage.enabled)
            {
                return;
            }

            m_IsConnectedToPlayer = CoverageUtils.IsConnectedToPlayer;

            if (m_IsConnectedToPlayer)
            {
                ResultsLogger.Log(ResultID.Warning_StandaloneUnsupported);
                return;
            }

            if (CoverageRunData.instance.isRunning || EditorApplication.isCompiling)
            {
                return;
            }

            CoverageRunData.instance.Start();
            m_CoverageReporterManager.CreateCoverageReporter();
            ICoverageReporter coverageReporter = m_CoverageReporterManager.CoverageReporter;

            if (coverageReporter != null)
            {
                coverageReporter.OnRunStarted(testsToRun);
            }
        }
        public void RunFinished(ITestResultAdaptor testResults)
        {
            if (!Coverage.enabled)
            {
                return;
            }

            if (CoverageRunData.instance.isRecording || m_IsConnectedToPlayer)
            {
                return;
            }

            CoverageRunData.instance.Stop();

            if (!CoverageRunData.instance.DidTestsRun())
            {
                return;
            }

            ICoverageReporter coverageReporter = m_CoverageReporterManager.CoverageReporter;

            if (coverageReporter != null)
            {
                coverageReporter.OnRunFinished(testResults);
            }

            m_CoverageReporterManager.GenerateReport();
        }
示例#4
0
        internal static void StopRecordingInternal()
        {
            bool isRunning = CoverageRunData.instance.isRunning;

            if (isRunning)
            {
                if (CoverageRunData.instance.isRecording)
                {
                    if (CoverageRunData.instance.isRecordingPaused)
                    {
                        Coverage.ResetAll();
                    }

                    if (s_CoverageReporterManager == null)
                    {
                        s_CoverageReporterManager = CoverageReporterStarter.CoverageReporterManager;
                    }

                    ICoverageReporter coverageReporter = s_CoverageReporterManager.CoverageReporter;
                    if (coverageReporter != null)
                    {
                        coverageReporter.OnRunFinished(null);
                    }

                    CoverageRunData.instance.StopRecording();

                    s_CoverageReporterManager.GenerateReport();
                }
            }
        }
示例#5
0
        /// <summary>
        /// Call this to pause the recording on the current coverage recording session.
        /// </summary>
        public static void PauseRecording()
        {
            CoverageAnalytics.instance.CurrentCoverageEvent.useAPI_PauseRec = true;

            bool isRunning = CoverageRunData.instance.isRunning;

            if (isRunning)
            {
                if (CoverageRunData.instance.isRecording && !CoverageRunData.instance.isRecordingPaused)
                {
                    if (s_CoverageReporterManager == null)
                    {
                        s_CoverageReporterManager = CoverageReporterStarter.CoverageReporterManager;
                    }

                    ICoverageReporter coverageReporter = s_CoverageReporterManager.CoverageReporter;
                    if (coverageReporter != null)
                    {
                        coverageReporter.OnCoverageRecordingPaused();
                    }

                    CoverageRunData.instance.PauseRecording();
                }
            }
        }
        public void TestFinished(ITestResultAdaptor result)
        {
            if (!Coverage.enabled)
            {
                return;
            }

            if (m_IsConnectedToPlayer)
            {
                return;
            }

            if (result.Test.RunState == RunState.Ignored)
            {
                if (result.Test.IsSuite && string.Equals(CoverageRunData.instance.GetLastIgnoredSuiteID(), result.Test.Id))
                {
                    CoverageRunData.instance.SetLastIgnoredSuiteID(string.Empty);
                }

                return;
            }

            if (CoverageRunData.instance.HasLastIgnoredSuiteID())
            {
                return;
            }

            if (result.Test.IsSuite)
            {
                return;
            }

            ICoverageReporter coverageReporter = m_CoverageReporterManager.CoverageReporter;

            if (coverageReporter != null)
            {
                coverageReporter.OnTestFinished(result);
            }
        }
        public void CreateCoverageReporter()
        {
            m_CoverageReporter = null;

            // Use OpenCover format as currently this is the only one supported
            CoverageFormat coverageFormat = CoverageFormat.OpenCover;

            switch (coverageFormat)
            {
            case CoverageFormat.OpenCover:
                m_CoverageSettings.resultsFileExtension = "xml";
                m_CoverageSettings.resultsFolderSuffix  = "-opencov";
                m_CoverageSettings.resultsFileName      = CoverageRunData.instance.isRecording ? "RecordingCoverageResults" : "TestCoverageResults";

                m_CoverageReporter = new OpenCoverReporter();
                break;
            }

            if (m_CoverageReporter != null)
            {
                m_CoverageReporter.OnInitialise(m_CoverageSettings);
            }
        }
示例#8
0
        internal static void StartRecordingInternal()
        {
            bool isRunning = CoverageRunData.instance.isRunning;

            if (!isRunning)
            {
                Coverage.ResetAll();

                CoverageRunData.instance.StartRecording();

                if (s_CoverageReporterManager == null)
                {
                    s_CoverageReporterManager = CoverageReporterStarter.CoverageReporterManager;
                }
                s_CoverageReporterManager.CreateCoverageReporter();

                ICoverageReporter coverageReporter = s_CoverageReporterManager.CoverageReporter;
                if (coverageReporter != null)
                {
                    coverageReporter.OnRunStarted(null);
                }
            }
        }
        static void OnBeforeAssemblyReload()
        {
            if (!CoverageRunData.instance.isRunning)
            {
                return;
            }

            if (!CoverageRunData.instance.DidTestsRun())
            {
                return;
            }

            if (CoverageRunData.instance.isRecording && CoverageRunData.instance.isRecordingPaused)
            {
                return;
            }

            ICoverageReporter coverageReporter = CoverageReporterManager.CoverageReporter;

            if (coverageReporter != null)
            {
                coverageReporter.OnBeforeAssemblyReload();
            }
        }