Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: appengine/findit/crash/test/component_classifier_test.py

Issue 1914113002: [Findit] Enable project classifier and component classifier (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Rebase Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 from common.pipeline_wrapper import pipeline_handlers
6 from crash.callstack import StackFrame, CallStack
7 from crash.component_classifier import ComponentClassifier
8 from crash.results import Result
9 from crash.test.crash_testcase import CrashTestCase
10 from model.crash.crash_config import CrashConfig
11
12
13 class ComponentClassifierTest(CrashTestCase):
14
15 def testGetClassFromStackFrame(self):
16 frame = StackFrame(0, 'src/', 'func', 'comp1.cc', 'src/comp1.cc', [2])
17 self.assertEqual(
18 ComponentClassifier().GetClassFromStackFrame(frame),
19 'Comp1>Dummy')
20
21 frame = StackFrame(0, 'src/', 'func2', 'comp2.cc', 'src/comp2.cc', [32])
22 self.assertEqual(
23 ComponentClassifier().GetClassFromStackFrame(frame),
24 'Comp2>Dummy')
25
26 frame = StackFrame(0, 'src/', 'no_func', 'comp2.cc', 'src/comp2.cc', [32])
27 self.assertEqual(
28 ComponentClassifier().GetClassFromStackFrame(frame),
29 '')
30
31 frame = StackFrame(0, 'src/', 'func2', 'a.cc', 'src/a.cc', [6])
32 self.assertEqual(
33 ComponentClassifier().GetClassFromStackFrame(frame),
34 '')
35
36 def testGetClassFromResult(self):
37 result = Result(self.GetDummyChangeLog(), 'src/')
38 self.assertEqual(ComponentClassifier().GetClassFromResult(result),
39 '')
40
41 result.file_to_stack_infos = {
42 'comp1.cc': [
43 (StackFrame(0, 'src/', 'func', 'comp1.cc', 'src/comp1.cc', [2]), 0)
44 ]
45 }
46 self.assertEqual(ComponentClassifier().GetClassFromResult(result),
47 'Comp1>Dummy')
48
49 def testClassifyCrashStack(self):
50 crash_stack = CallStack(0)
51 crash_stack.extend([
52 StackFrame(0, 'src/', 'func', 'comp1.cc', 'src/comp1.cc', [2]),
53 StackFrame(1, 'src/', 'ff', 'comp1.cc', 'src/comp1.cc', [21]),
54 StackFrame(2, 'src/', 'func2', 'comp2.cc', 'src/comp2.cc', [8])
55 ])
56
57 self.assertEqual(ComponentClassifier().Classify([], crash_stack),
58 ['Comp1>Dummy', 'Comp2>Dummy'])
59
60 def testClassifyResults(self):
61 result = Result(self.GetDummyChangeLog(), 'src/')
62 result.file_to_stack_infos = {
63 'comp1.cc': [
64 (StackFrame(0, 'src/', 'func', 'comp1.cc', 'src/comp1.cc', [2]), 0)
65 ]
66 }
67
68 self.assertEqual(ComponentClassifier().Classify([result], CallStack(0)),
69 ['Comp1>Dummy'])
70
71 def testClassifierDoNotHaveConfig(self):
72 crash_config = CrashConfig.Get()
73 crash_config.component_classifier = {}
74
75 crash_stack = CallStack(0)
76 crash_stack.extend([
77 StackFrame(0, 'src/', 'func', 'comp1.cc', 'src/comp1.cc', [2]),
78 StackFrame(1, 'src/', 'ff', 'comp1.cc', 'src/comp1.cc', [21]),
79 StackFrame(2, 'src/', 'func2', 'comp2.cc', 'src/comp2.cc', [8])
80 ])
81
82 result = Result(self.GetDummyChangeLog(), 'src/')
83 result.file_to_stack_infos = {
84 'comp1.cc': [
85 (StackFrame(0, 'src/', 'func', 'comp1.cc', 'src/comp1.cc', [2]), 0)
86 ]
87 }
88
89 self.assertEqual(ComponentClassifier().Classify([result], crash_stack),
90 [])
OLDNEW
« no previous file with comments | « appengine/findit/crash/test/classifier_test.py ('k') | appengine/findit/crash/test/crash_test_suite.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698