Changeset 57805 in webkit


Ignore:
Timestamp:
Apr 18, 2010 11:36:31 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-04-18 Eric Seidel <eric@webkit.org>

Reviewed by Adam Roben.

Make failure-reason more forgiving
https://bugs.webkit.org/show_bug.cgi?id=37525

Removed search_limit, which wasn't very useful anyway.
Added a log about the long load time loading from the builders.
Prompt the user for what revision to start walking from (makes it easy to restart upon failure).

  • Scripts/webkitpy/common/net/buildbot.py:
  • Scripts/webkitpy/tool/commands/queries.py:
Location:
trunk/WebKitTools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r57803 r57805  
     12010-04-18  Eric Seidel  <eric@webkit.org>
     2
     3        Reviewed by Adam Roben.
     4
     5        Make failure-reason more forgiving
     6        https://bugs.webkit.org/show_bug.cgi?id=37525
     7
     8        Removed search_limit, which wasn't very useful anyway.
     9        Added a log about the long load time loading from the builders.
     10        Prompt the user for what revision to start walking from (makes it easy to restart upon failure).
     11
     12        * Scripts/webkitpy/common/net/buildbot.py:
     13        * Scripts/webkitpy/tool/commands/queries.py:
     14
    1152010-04-18  Chris Jerdonek  <cjerdonek@webkit.org>
    216
  • trunk/WebKitTools/Scripts/webkitpy/common/net/buildbot.py

    r57795 r57805  
    111111            # FIXME: This is a poor way to do revision -> build mapping.
    112112            # Better would be to ask buildbot through some sort of API.
     113            print "Loading revision/build list from %s." % self.results_url()
     114            print "This may take a while..."
    113115            result_files = self._buildbot._fetch_twisted_directory_listing(self.results_url())
    114116        except urllib2.HTTPError, error:
  • trunk/WebKitTools/Scripts/webkitpy/tool/commands/queries.py

    r57572 r57805  
    210210                print "FAILED to fetch CommitInfo for r%s, likely missing ChangeLog" % revision
    211211
    212     def _explain_failures_for_builder(self, builder, start_revision, search_limit=1000):
     212    def _explain_failures_for_builder(self, builder, start_revision):
    213213        print "Examining failures for \"%s\", starting at r%s" % (builder.name(), start_revision)
    214214        revision_to_test = start_revision
    215215        build = builder.build_for_revision(revision_to_test, allow_failed_lookups=True)
    216         results_to_explain = set(build.layout_test_results().failing_tests())
     216        layout_test_results = build.layout_test_results()
     217        if not layout_test_results:
     218            # FIXME: This could be made more user friendly.
     219            print "Failed to load layout test results; can't continue. (start revision = r%s)" % start_revision
     220            return 1
     221
     222        results_to_explain = set(layout_test_results.failing_tests())
    217223        last_build_with_results = build
    218224        print "Starting at %s" % revision_to_test
    219         while results_to_explain and revision_to_test > start_revision - search_limit:
     225        while results_to_explain:
    220226            revision_to_test -= 1
    221227            new_build = builder.build_for_revision(revision_to_test, allow_failed_lookups=True)
     
    244250        if results_to_explain:
    245251            print "Failed to explain failures: %s" % results_to_explain
    246         else:
    247             print "Explained all results for %s" % builder.name()
     252            return 1
     253        print "Explained all results for %s" % builder.name()
     254        return 0
    248255
    249256    def _builder_to_explain(self):
     
    260267
    261268    def execute(self, options, args, tool):
    262         (builder, start_revision) = self._builder_to_explain()
    263         self._explain_failures_for_builder(builder, start_revision=start_revision)
     269        (builder, latest_revision) = self._builder_to_explain()
     270        start_revision = self.tool.user.prompt("Revision to walk backwards from? [%s] " % latest_revision) or latest_revision
     271        if not start_revision:
     272            print "Revision required."
     273            return 1
     274        return self._explain_failures_for_builder(builder, start_revision=int(start_revision))
    264275
    265276class TreeStatus(AbstractDeclarativeCommand):
Note: See TracChangeset for help on using the changeset viewer.