示例#1
0
 public Backtrace(int max = 128)
 {
     _frameList = default;
     _numFrames = 0;
     _maxFrames = max;
     if (_maxFrames > 128)
     {
         _maxFrames = 128;
     }
 }
        private void HandleNodeDoubleClick(TreeNode node)
        {
            object obj = node.Tag;

            string filename   = null;
            int    lineNumber = 1;

            if (obj is TestSuiteResult)
            {
                TestSuiteResult suite = (TestSuiteResult)obj;

                filename   = suite.Filename;
                lineNumber = suite.LineNumber;
            }
            else if (obj is ITestSuiteChildResult)
            {
                ITestSuiteChildResult child = (ITestSuiteChildResult)obj;

                filename   = ((TestSuiteResult)child.Parent).Filename;
                lineNumber = child.LineNumber;
            }
            else if (obj is ITestAssertion)
            {
                ITestAssertion assertion = (ITestAssertion)obj;

                TestCaseResult  testCase = (TestCaseResult)assertion.Parent;
                TestSuiteResult suite    = (TestSuiteResult)testCase.Parent;

                filename   = suite.Filename;
                lineNumber = assertion.LineNumber;
            }
            else if (obj is BacktraceFrame)
            {
                BacktraceFrame frame = (BacktraceFrame)obj;

                filename   = frame.Filename;
                lineNumber = frame.LineNumber;
            }

            if (filename != null)
            {
                CxxTestPackage.Instance.OpenFileInEditor(filename, lineNumber);
            }
        }