| OLD | NEW |
| (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 crash.callstack import StackFrame |
| 6 from crash.results import MatchResult |
| 7 from crash.scorers.aggregator import Aggregator |
| 8 from crash.scorers.min_distance import MinDistance |
| 9 from crash.scorers.test.scorer_test_suite import ScorerTestSuite |
| 10 from crash.scorers.top_frame_index import TopFrameIndex |
| 11 |
| 12 |
| 13 class AggregatorTest(ScorerTestSuite): |
| 14 |
| 15 def testScoreAndReason(self): |
| 16 result = MatchResult(self._GetDummyChangeLog(), 'src/', '') |
| 17 result.file_to_stack_infos = { |
| 18 'a.cc': [(StackFrame(0, 'src/', '', 'func', 'a.cc', [7]), 0)] |
| 19 } |
| 20 result.min_distance = 0 |
| 21 |
| 22 aggregator = Aggregator([TopFrameIndex(), MinDistance()]) |
| 23 aggregator.ScoreAndReason(result) |
| 24 |
| 25 self.assertEqual(result.confidence, 1) |
| 26 self.assertEqual(result.reason, |
| 27 ('1. Top frame changed is frame #0 (score: 1)\n' |
| 28 '2. Minimum distance to crashed line is 0 (score: 1)\n' |
| 29 '\nChanged file a.cc which crashed in func (#0)')) |
| OLD | NEW |