| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import json | 5 import json |
| 6 import re | 6 import re |
| 7 import time | 7 import time |
| 8 import urllib | 8 import urllib |
| 9 | 9 |
| 10 from . import depot_config | 10 from . import depot_config |
| (...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 643 self.culprit = revision.next_revision | 643 self.culprit = revision.next_revision |
| 644 return True | 644 return True |
| 645 return False | 645 return False |
| 646 | 646 |
| 647 def wait_for_all(self, revision_list): | 647 def wait_for_all(self, revision_list): |
| 648 """Waits for all revisions in list to finish.""" | 648 """Waits for all revisions in list to finish.""" |
| 649 for r in revision_list: | 649 for r in revision_list: |
| 650 self.wait_for(r) | 650 self.wait_for(r) |
| 651 | 651 |
| 652 def wait_for(self, revision): | 652 def wait_for(self, revision): |
| 653 """Waits for any of the revisions in the list to finish its job(s).""" | 653 """Waits for the revision to finish its job.""" |
| 654 with self.api.m.step.nest('Waiting for ' + revision.revision_string()): | 654 with self.api.m.step.nest('Waiting for ' + revision.revision_string()): |
| 655 while True: | 655 while True: |
| 656 revision.update_status() | 656 revision.update_status() |
| 657 if revision.in_progress: | 657 if revision.in_progress: |
| 658 self.api.m.python.inline( | 658 self.api.m.python.inline( |
| 659 'sleeping', | 659 'sleeping', |
| 660 """ | 660 """ |
| 661 import sys | 661 import sys |
| 662 import time | 662 import time |
| 663 time.sleep(300) | 663 time.sleep(20*60) |
| 664 sys.exit(0) | 664 sys.exit(0) |
| 665 """) | 665 """) |
| 666 else: | 666 else: |
| 667 break | 667 break |
| 668 | 668 |
| 669 def _update_candidate_range(self): | 669 def _update_candidate_range(self): |
| 670 """Updates lkgr and fkbr (last known good/first known bad) revisions. | 670 """Updates lkgr and fkbr (last known good/first known bad) revisions. |
| 671 | 671 |
| 672 lkgr and fkbr are 'pointers' to the appropriate RevisionState objects in | 672 lkgr and fkbr are 'pointers' to the appropriate RevisionState objects in |
| 673 bisectors.revisions.""" | 673 bisectors.revisions.""" |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 844 }) | 844 }) |
| 845 return revision_rows | 845 return revision_rows |
| 846 | 846 |
| 847 def _get_build_url(self): | 847 def _get_build_url(self): |
| 848 properties = self.api.m.properties | 848 properties = self.api.m.properties |
| 849 bot_url = properties.get('buildbotURL', | 849 bot_url = properties.get('buildbotURL', |
| 850 'http://build.chromium.org/p/chromium/') | 850 'http://build.chromium.org/p/chromium/') |
| 851 builder_name = urllib.quote(properties.get('buildername', '')) | 851 builder_name = urllib.quote(properties.get('buildername', '')) |
| 852 builder_number = str(properties.get('buildnumber', '')) | 852 builder_number = str(properties.get('buildnumber', '')) |
| 853 return '%sbuilders/%s/builds/%s' % (bot_url, builder_name, builder_number) | 853 return '%sbuilders/%s/builds/%s' % (bot_url, builder_name, builder_number) |
| OLD | NEW |