OLD | NEW |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Performance Test Bisect Tool | 6 """Performance Test Bisect Tool |
7 | 7 |
8 This script bisects a series of changelists using binary search. It starts at | 8 This script bisects a series of changelists using binary search. It starts at |
9 a bad revision where a performance metric has regressed, and asks for a last | 9 a bad revision where a performance metric has regressed, and asks for a last |
10 known-good revision. It will then binary search across this revision range by | 10 known-good revision. It will then binary search across this revision range by |
(...skipping 1507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1518 return (None, None) | 1518 return (None, None) |
1519 | 1519 |
1520 def BuildCurrentRevision(self, depot, revision=None): | 1520 def BuildCurrentRevision(self, depot, revision=None): |
1521 """Builds chrome and performance_ui_tests on the current revision. | 1521 """Builds chrome and performance_ui_tests on the current revision. |
1522 | 1522 |
1523 Returns: | 1523 Returns: |
1524 True if the build was successful. | 1524 True if the build was successful. |
1525 """ | 1525 """ |
1526 if self.opts.debug_ignore_build: | 1526 if self.opts.debug_ignore_build: |
1527 return True | 1527 return True |
1528 | |
1529 build_success = False | |
1528 cwd = os.getcwd() | 1530 cwd = os.getcwd() |
qyearsley
2014/09/09 00:59:57
(Note, somewhat unrelated to this CL: this variabl
| |
1529 os.chdir(self.src_cwd) | 1531 os.chdir(self.src_cwd) |
1530 # Fetch build archive for the given revision from the cloud storage when | 1532 # Fetch build archive for the given revision from the cloud storage when |
1531 # the storage bucket is passed. | 1533 # the storage bucket is passed. |
1532 if self.IsDownloadable(depot) and revision: | 1534 if self.IsDownloadable(depot) and revision: |
1533 deps_patch = None | 1535 deps_patch = None |
1534 if depot != 'chromium': | 1536 if depot != 'chromium': |
1535 # Create a DEPS patch with new revision for dependency repository. | 1537 # Create a DEPS patch with new revision for dependency repository. |
1536 revision, deps_patch = self.CreateDEPSPatch(depot, revision) | 1538 revision, deps_patch = self.CreateDEPSPatch(depot, revision) |
1537 if self.DownloadCurrentBuild(revision, patch=deps_patch): | 1539 if self.DownloadCurrentBuild(revision, patch=deps_patch): |
1538 os.chdir(cwd) | |
1539 if deps_patch: | 1540 if deps_patch: |
1540 # Reverts the changes to DEPS file. | 1541 # Reverts the changes to DEPS file. |
1541 self.source_control.CheckoutFileAtRevision( | 1542 self.source_control.CheckoutFileAtRevision( |
1542 bisect_utils.FILE_DEPS, revision, cwd=self.src_cwd) | 1543 bisect_utils.FILE_DEPS, revision, cwd=self.src_cwd) |
1543 return True | 1544 build_success = True |
1544 return False | 1545 else: |
1545 | 1546 # These codes are executed when bisect bots builds binaries locally. |
1546 # These codes are executed when bisect bots builds binaries locally. | 1547 build_success = self.builder.Build(depot, self.opts) |
1547 build_success = self.builder.Build(depot, self.opts) | |
1548 os.chdir(cwd) | 1548 os.chdir(cwd) |
1549 return build_success | 1549 return build_success |
1550 | 1550 |
1551 def RunGClientHooks(self): | 1551 def RunGClientHooks(self): |
1552 """Runs gclient with runhooks command. | 1552 """Runs gclient with runhooks command. |
1553 | 1553 |
1554 Returns: | 1554 Returns: |
1555 True if gclient reports no errors. | 1555 True if gclient reports no errors. |
1556 """ | 1556 """ |
1557 if self.opts.debug_ignore_build: | 1557 if self.opts.debug_ignore_build: |
(...skipping 1839 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3397 # bugs. If you change this, please update the perf dashboard as well. | 3397 # bugs. If you change this, please update the perf dashboard as well. |
3398 bisect_utils.OutputAnnotationStepStart('Results') | 3398 bisect_utils.OutputAnnotationStepStart('Results') |
3399 print 'Error: %s' % e.message | 3399 print 'Error: %s' % e.message |
3400 if opts.output_buildbot_annotations: | 3400 if opts.output_buildbot_annotations: |
3401 bisect_utils.OutputAnnotationStepClosed() | 3401 bisect_utils.OutputAnnotationStepClosed() |
3402 return 1 | 3402 return 1 |
3403 | 3403 |
3404 | 3404 |
3405 if __name__ == '__main__': | 3405 if __name__ == '__main__': |
3406 sys.exit(main()) | 3406 sys.exit(main()) |
OLD | NEW |