Bug 100563 - garden-o-matic should support gardening a single port and specifying how to deal with overwritten baselines
Summary: garden-o-matic should support gardening a single port and specifying how to d...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dirk Pranke
URL:
Keywords:
Depends on: 100562
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-26 14:32 PDT by Dirk Pranke
Modified: 2012-10-31 12:34 PDT (History)
6 users (show)

See Also:


Attachments
Patch (20.06 KB, patch)
2012-10-26 14:36 PDT, Dirk Pranke
no flags Details | Formatted Diff | Diff
rebasing (22.08 KB, patch)
2012-10-30 15:31 PDT, Dirk Pranke
no flags Details | Formatted Diff | Diff
Patch (25.20 KB, patch)
2012-10-30 18:50 PDT, Dirk Pranke
no flags Details | Formatted Diff | Diff
update w/ review feedback (27.48 KB, patch)
2012-10-31 11:54 PDT, Dirk Pranke
ojan: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Pranke 2012-10-26 14:32:41 PDT
garden-o-matic should support gardening a single port and specifying how to deal with overwritten baselines
Comment 1 Dirk Pranke 2012-10-26 14:36:20 PDT
Created attachment 171014 [details]
Patch
Comment 2 Dirk Pranke 2012-10-26 14:37:04 PDT
Comment on attachment 171014 [details]
Patch

patch isn't quite ready for review yet; the basic idea is implemented but I need to change the way I did things in the UI / JS code, and then update all of the unit tests.
Comment 3 Ojan Vafai 2012-10-26 14:49:40 PDT
Comment on attachment 171014 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=171014&action=review

> Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:172
> +        // FIXME: If currentBuilder is set, we want to limit any place that iterates over
> +        // a list of builders to just use the currentBuilder. instead of the full list of 
> +        // builders for the current platform.

Maybe also add a FIXME to add UI to pick a builder?
Comment 4 Dirk Pranke 2012-10-29 13:01:55 PDT
(In reply to comment #3)
> (From update of attachment 171014 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=171014&action=review
> 
> > Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:172
> > +        // FIXME: If currentBuilder is set, we want to limit any place that iterates over
> > +        // a list of builders to just use the currentBuilder. instead of the full list of 
> > +        // builders for the current platform.
> 
> Maybe also add a FIXME to add UI to pick a builder?

Yup, that was my intent.
Comment 5 Dirk Pranke 2012-10-30 15:31:58 PDT
Created attachment 171533 [details]
rebasing
Comment 6 Dirk Pranke 2012-10-30 18:50:43 PDT
Created attachment 171564 [details]
Patch
Comment 7 Ojan Vafai 2012-10-30 21:05:58 PDT
Comment on attachment 171564 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=171564&action=review

> Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:151
> +            if (config.currentBuilder)
> +                return builderName == config.currentBuilder;
> +            

Lets not have this logic in this function. Lets instead have a helper function that is the sole caller of builderApplies and make builderApplies private perhaps.

> Tools/Scripts/webkitpy/tool/commands/gardenomatic.py:46
> +            # FIXME: This assumes that the implementation is the first part of options.platform.

I'm not sure what you mean by "implementation" here.

> Tools/Scripts/webkitpy/tool/servers/gardeningserver.py:66
> +            arg_string = '?' + '&'.join("%s=%s" % (key, urllib.quote(value)) for (key, value) in args.items())

Can you just use urllib.urlencode(args) or something like that here?
Comment 8 Dirk Pranke 2012-10-30 21:23:45 PDT
Comment on attachment 171564 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=171564&action=review

>> Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:151
>> +            
> 
> Lets not have this logic in this function. Lets instead have a helper function that is the sole caller of builderApplies and make builderApplies private perhaps.

Sounds good.

>> Tools/Scripts/webkitpy/tool/commands/gardenomatic.py:46
>> +            # FIXME: This assumes that the implementation is the first part of options.platform.
> 
> I'm not sure what you mean by "implementation" here.

"implementation" is what I call the "chromium-" or "gtk-" part of the full port name, but it's not a widely used term (in fact, it may not actually show up anywhere in the code, I'm not sure). I'll rework the comment.

>> Tools/Scripts/webkitpy/tool/servers/gardeningserver.py:66
>> +            arg_string = '?' + '&'.join("%s=%s" % (key, urllib.quote(value)) for (key, value) in args.items())
> 
> Can you just use urllib.urlencode(args) or something like that here?

Oh, yeah. I'll do that. I'm not that familiar w/ urllib and forgot about that.
Comment 9 Dirk Pranke 2012-10-31 11:54:35 PDT
Created attachment 171697 [details]
update w/ review feedback
Comment 10 Dirk Pranke 2012-10-31 11:55:40 PDT
(In reply to comment #8)
> >> Tools/Scripts/webkitpy/tool/servers/gardeningserver.py:66
> >> +            arg_string = '?' + '&'.join("%s=%s" % (key, urllib.quote(value)) for (key, value) in args.items())
> > 
> > Can you just use urllib.urlencode(args) or something like that here?
> 
> Oh, yeah. I'll do that. I'm not that familiar w/ urllib and forgot about that.

Sigh. Turns out urllib.urlencode encodes spaces as plus signs, and the buildbots choke on that. I added a comment to note this.
Comment 11 Dirk Pranke 2012-10-31 12:12:33 PDT
Please take another look?
Comment 12 Dirk Pranke 2012-10-31 12:34:24 PDT
Committed r133060: <http://trac.webkit.org/changeset/133060>