/// <summary>
        /// The trigger test case end.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The e.
        /// </param>
        private void TriggerTestCaseEnd(object sender, TestCaseEndEventArgs e)
        {
            var dataCollectionContext = new DataCollectionContext(e.TestElement);
            var testCaseEndArgs       = new TestCaseEndArgs(dataCollectionContext, e.TestOutcome);

            this.TriggerInProcDataCollectionMethods(Constants.TestCaseEndMethodName, testCaseEndArgs);
        }
        public void TestCaseEnd(TestCaseEndArgs testCaseEndArgs)
        {
            Log($"Test {testCaseEndArgs.DataCollectionContext.TestCase.FullyQualifiedName} ends.");
            if (!_coverageOn)
            {
                return;
            }
            var testCaseDisplayName = testCaseEndArgs.DataCollectionContext.TestCase.DisplayName;

            if (_usePipe)
            {
                if (!WaitOnLck(_lck, () => _client != null, 500))
                {
                    throw new InvalidOperationException("connection");
                }
                _client.SendText($"DUMP {testCaseDisplayName}");
            }

            var coverData = RetrieveCoverData();

            // null means we failed to retrieve data
            if (coverData != null)
            {
                if (coverData == string.Empty)
                {
                    // test covers no mutant, but empty string is not a valid value
                    coverData = " ";
                }
                _dataSink.SendData(testCaseEndArgs.DataCollectionContext, "Stryker.Coverage", coverData);
            }
            else
            {
                Log($"Failed to retrieve coverage data for {testCaseEndArgs.DataCollectionContext.TestCase.FullyQualifiedName}");
            }
        }
Beispiel #3
0
        public void TestCaseEnd(TestCaseEndArgs testCaseEndArgs)
        {
            Log($"Test {testCaseEndArgs.DataCollectionContext.TestCase.FullyQualifiedName} ends.");
            if (!_coverageOn)
            {
                return;
            }

            PublishCoverageData(testCaseEndArgs);
        }
Beispiel #4
0
        public void TestCaseEnd(TestCaseEndArgs testCaseEndArgs)
        {
            Debug.WriteLine("Debug TestCaseEnd {0} => {1}",
                            testCaseEndArgs?.DataCollectionContext?.TestCase?.FullyQualifiedName,
                            testCaseEndArgs?.TestOutcome);

            //Console.Error.WriteLine(
            //  "Console.Error.WriteLine TestCaseEnd {0} => {1}",
            //  testCaseEndArgs.DataCollectionContext.TestCase.FullyQualifiedName,
            //  testCaseEndArgs.TestOutcome);

            if (EqtTrace.IsInfoEnabled)
            {
                EqtTrace.Info("TestCaseEnd {0}", testCaseEndArgs);
            }
        }
Beispiel #5
0
        private void PublishCoverageData(TestCaseEndArgs testCaseEndArgs)
        {
            var coverData = RetrieveCoverData();

            // null means we failed to retrieve data
            if (coverData != null)
            {
                if (coverData == string.Empty)
                {
                    // test covers no mutant, but empty string is not a valid value
                    coverData = " ";
                }

                _dataSink.SendData(testCaseEndArgs.DataCollectionContext, "Stryker.Coverage", coverData);
            }
            else
            {
                Log($"Failed to retrieve coverage data for {testCaseEndArgs.DataCollectionContext.TestCase.FullyQualifiedName}");
            }
        }
        /// <summary>
        /// The trigger test case end.
        /// </summary>
        public virtual void TriggerTestCaseEnd(TestCase testCase, TestOutcome outcome)
        {
            bool isTestCaseEndAlreadySent = false;

            lock (testCaseEndStatusSyncObject)
            {
                isTestCaseEndAlreadySent = this.testCaseEndStatusMap.Contains(testCase.Id);
                if (!isTestCaseEndAlreadySent)
                {
                    this.testCaseEndStatusMap.Add(testCase.Id);
                }

                // Do not support multiple - testcasends for a single test case start
                // TestCaseEnd must always be preceded by testcasestart for a given test case id
                if (!isTestCaseEndAlreadySent)
                {
                    var dataCollectionContext = new DataCollectionContext(testCase);
                    var testCaseEndArgs       = new TestCaseEndArgs(dataCollectionContext, outcome);

                    // Call all in-proc datacollectors - TestCaseEnd event
                    this.TriggerInProcDataCollectionMethods(Constants.TestCaseEndMethodName, testCaseEndArgs);

                    // If dictionary contains results for this test case, update them with in-proc data and flush them
                    if (testResultDictionary.ContainsKey(testCase.Id))
                    {
                        foreach (var testResult in testResultDictionary[testCase.Id])
                        {
                            this.SetInProcDataCollectionDataInTestResult(testResult);

                            // TestResult updated with in-proc data, just flush
                            this.testRunCache.OnNewTestResult(testResult);
                        }

                        this.testResultDictionary.Remove(testCase.Id);
                    }
                }
            }
        }
Beispiel #7
0
 public void TestCaseEnd(TestCaseEndArgs _testCaseEndArgs)
 {
 }
Beispiel #8
0
 /// <summary>
 /// The test case end.
 /// </summary>
 /// <param name="testCaseEndArgs">
 /// The test case end args.
 /// </param>
 public void TestCaseEnd(TestCaseEndArgs testCaseEndArgs)
 {
     Console.WriteLine("TestCase Name:{0}, TestCase ID:{1}, OutCome:{2}", testCaseEndArgs.DataCollectionContext.TestCase.DisplayName, testCaseEndArgs.DataCollectionContext.TestCase.Id, testCaseEndArgs.TestOutcome);
     File.AppendAllText(this.fileName, "TestCaseEnd : " + testCaseEndArgs.DataCollectionContext.TestCase.DisplayName + "\r\n");
 }
 public void TestCaseEnd(TestCaseEndArgs testCaseEndArgs)
 {
     throw new System.NotImplementedException();
 }
Beispiel #10
0
 public void TestCaseEnd(TestCaseEndArgs testCaseEndArgs)
 {
     Debug.WriteLine("TestCaseEnd {0}", testCaseEndArgs);
 }