def testGetCommitPositionForSkia(self): bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS) skia_rev = 'a94d028eCheckAbortsEarly0f2c77f159b3dac95eb90c3b4cf48c61' depot_path = os.path.join(bisect_instance.src_cwd, 'third_party', 'skia') # Skia doesn't use commit positions, and GetCommitPosition should # return None for repos that don't use commit positions. self.assertIsNone(source_control.GetCommitPosition(skia_rev, depot_path))
def testGetCommitPositionForWebKit(self): bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS) wk_rev = 'a94d028e0f2c77f159b3dac95eb90c3b4cf48c61' depot_path = os.path.join(bisect_instance.src_cwd, 'third_party', 'WebKit') self.assertEqual(181660, source_control.GetCommitPosition(wk_rev, depot_path))
def _RevisionData(bisect_results, depot_registry): revision_rows = [] for state in bisect_results.state.GetRevisionStates(): commit_position = source_control.GetCommitPosition( state.revision, depot_registry.GetDepotDir(state.depot)) revision_rows.append({ 'depot_name': state.depot, 'deps_revision': state.revision, 'commit_pos': commit_position, 'result': 'good' if state.passed else 'bad', }) return revision_rows
def _PrintTestedCommitsTable(self, revision_states, first_working_revision, last_broken_revision, confidence, final_step=True): print if final_step: print '===== TESTED COMMITS =====' else: print '===== PARTIAL RESULTS =====' self._PrintTestedCommitsHeader() state = 0 for revision_state in revision_states: if revision_state.value: if (revision_state == last_broken_revision or revision_state == first_working_revision): # If confidence is too low, don't add this empty line since it's # used to put focus on a suspected CL. if confidence and final_step: print state += 1 if state == 2 and not final_step: # Just want a separation between "bad" and "good" cl's. print state_str = 'Bad' if state == 1 and final_step: state_str = 'Suspected CL' elif state == 2: state_str = 'Good' # If confidence is too low, don't bother outputting good/bad. if not confidence: state_str = '' state_str = state_str.center(13, ' ') commit_position = source_control.GetCommitPosition( revision_state.revision, self.depot_registry.GetDepotDir(revision_state.depot)) display_commit_pos = '' if commit_position: display_commit_pos = str(commit_position) self._PrintTestedCommitsEntry(revision_state, display_commit_pos, revision_state.revision, state_str)
def testGetCommitPositionForV8(self): bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS) v8_rev = '21d700eedcdd6570eff22ece724b63a5eefe78cb' depot_path = os.path.join(bisect_instance.src_cwd, 'v8') self.assertEqual(23634, source_control.GetCommitPosition(v8_rev, depot_path))
def testGetCommitPosition(self): cp_git_rev = '7017a81991de983e12ab50dfc071c70e06979531' self.assertEqual(291765, source_control.GetCommitPosition(cp_git_rev)) svn_git_rev = 'e6db23a037cad47299a94b155b95eebd1ee61a58' self.assertEqual(291467, source_control.GetCommitPosition(svn_git_rev))
def testGetCommitPositionForV8(self): bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS) v8_rev = '818769db41cb3e83979aa16cc76c69b66045e369' depot_path = os.path.join(bisect_instance.src_cwd, 'v8') self.assertEqual( 43769, source_control.GetCommitPosition(v8_rev, depot_path))