<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>61888</bug_id>
          
          <creation_ts>2011-06-01 15:49:43 -0700</creation_ts>
          <short_desc>nrwt: should skip chromium test expectation overrides on upstream bots</short_desc>
          <delta_ts>2022-03-01 02:49:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>senorblanco</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>413717</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-01 15:49:43 -0700</bug_when>
    <thetext>If there are test_expectations checked into a downstream Chromium checkout, they are automatically picked up by both the canaries and the DEPS bots. There is therefore no way to test whether the upstream test_expectations.txt themselves are sufficient to keep the tree green (which one might want to do prior to doing a webkit roll).

So, we&apos;ve decided to modify the code so that the overrides are ignored if the builder_name is set and does not include &quot;(deps)&quot; in the name.

A downside of this change is that a chromium-only committer will no longer be able to fix a failure on the canaries by just inserting a downstream expectation. Hopefully this will not be much of an issue in practice.


Note that there are two ways to implement this change. We could either make the code generically aware of the significance of &quot;(deps)&quot; and skip the overrides generically, or we could push all of this logic inside the chromium code.

There does not appear to be a way to write tests for this that will cover both cases :(

I will post patches that demonstrate both approaches, but the chromium-only approach seems slightly simpler for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413721</commentid>
    <comment_count>1</comment_count>
      <attachid>95680</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-01 15:55:18 -0700</bug_when>
    <thetext>Created attachment 95680
chromium-specific version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413735</commentid>
    <comment_count>2</comment_count>
      <attachid>95683</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-01 16:08:04 -0700</bug_when>
    <thetext>Created attachment 95683
generic version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413736</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-01 16:08:50 -0700</bug_when>
    <thetext>actually, now that I&apos;ve cleaned up the generic version a bit, it&apos;s kind of a toss-up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413862</commentid>
    <comment_count>4</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-06-01 20:17:35 -0700</bug_when>
    <thetext>Meh. Either solution seems fine to me. The chromium-only approach appeals to me in that it&apos;s just fewer modified lines/files.

I&apos;m not sure DUMMY_BUILDER_NAME needs to use overrides though. It would somewhat simplify that if-check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414066</commentid>
    <comment_count>5</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-06-02 06:27:10 -0700</bug_when>
    <thetext>If I understand this correctly, there may be a problem:  since Skia rolls into chromium first, if a Skia roll introduces test failures (which are added to downstream test_expectations), there will be no way to get the canaries green without upstreaming the test_expectations.  Some of the skia gardeners are not WebKit committers, so they won&apos;t be able to do this without going through webkit&apos;s bugzilla, commit-queue, etc.

I&apos;m not sure this is a blocking issue (since it&apos;ll only affect the WebKit gardener, and only until the expectations are upstreamed), but I thought I&apos;d mention it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414146</commentid>
    <comment_count>6</comment_count>
      <attachid>95680</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-02 08:34:56 -0700</bug_when>
    <thetext>Comment on attachment 95680
chromium-specific version

Cleared review? from obsolete attachment 95680 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414200</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-02 09:45:12 -0700</bug_when>
    <thetext>You just need to co-ordinated with the webkit gardener when rolling ski a (which you&apos;ll need to do anyway without commit bit).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414261</commentid>
    <comment_count>8</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-06-02 10:54:17 -0700</bug_when>
    <thetext>I feel the pain for you guys who are trying to improve skia.  There&apos;s pain on so many sides :(

I&apos;ve also mentioned to evan that it would be possible to roll skia in WebKit first (in Source/WebKit/chromium/DEPS) before rolling it in chromium, but then you have to remember to update two DEPS values when rolling webkit.  We could also resurrect From() so that chromium gets the version of skia from WebKit, but then rolling skia would be blocked on webkit rolls.

Sorry for derailing this bug.  It might be worth brainstorming over email how to make this less painful (maybe we need a ToT chromium, ToT webkit, ToT skia builder-- that would at least tell you which tests to add to test_expectations.txt in advance?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414263</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-02 10:55:48 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 95680 [details])
&gt; Cleared review? from obsolete attachment 95680 [details] so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).

Actually, I did want that version reviewed, since I think there&apos;s a slight agreement that the chromium-only version might be better. Re-setting the flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414264</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-02 10:57:54 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Meh. Either solution seems fine to me. The chromium-only approach appeals to me in that it&apos;s just fewer modified lines/files.
&gt; 
&gt; I&apos;m not sure DUMMY_BUILDER_NAME needs to use overrides though. It would somewhat simplify that if-check.

The reason the DUMMY_BUILDER_NAME variant uses the overrides is so --lint-test-files will pick up and lint the overrides as well as the upstream version; there isn&apos;t a good alternative AFAICT, and it seemed important to make sure both files were linted. I also couldn&apos;t think of a way that the downstream version would mask any upstream-only lint errors, so it seemed safer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415073</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-03 12:04:06 -0700</bug_when>
    <thetext>One additional thought is that we could create *two* downstream expectations files, one that only applied to the DEPS bots and one that only applied to the canaries. That way a skia change that broke the canaries could still be fixed by someone with chromium-only committing rights.

That said, I&apos;d be inclined to not do this until it was clear that this was a problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415243</commentid>
    <comment_count>12</comment_count>
      <attachid>95680</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-03 15:38:12 -0700</bug_when>
    <thetext>Comment on attachment 95680
chromium-specific version

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

I think we should move forward with this approach.  Introducing a yet another test_expectations file is too much complexity.  We&apos;ll find a way to do Skia rolls without this functionality.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:265
&gt; +        # See http://bugs.webkit.org/show_bug.cgi?id=61888 for the rationale for this.

I&apos;d remove this comment.  Folks can use svn blame to find the bug number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415252</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-03 15:49:55 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 95680 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95680&amp;action=review
&gt; 
&gt; I think we should move forward with this approach.  Introducing a yet another test_expectations file is too much complexity.  We&apos;ll find a way to do Skia rolls without this functionality.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:265
&gt; &gt; +        # See http://bugs.webkit.org/show_bug.cgi?id=61888 for the rationale for this.
&gt; 
&gt; I&apos;d remove this comment.  Folks can use svn blame to find the bug number.

Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415262</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-06-03 16:02:09 -0700</bug_when>
    <thetext>Committed r88073: &lt;http://trac.webkit.org/changeset/88073&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443606</commentid>
    <comment_count>15</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-07-28 12:21:41 -0700</bug_when>
    <thetext>Update:  I think we need to reconsider this change.  This is making skia rolls very painful.

When we roll skia, in order to prevent the WebKit canaries going red, we have to land an upstream WebKit change to pre-emptively suppress the failures.  Then we land the skia roll.  However, if this is done before the WebKit roll brings the suppressions into Chrome, we have to *also* suppress the failures in downstream test_expectations.  Then rebaseline upstream, and remove the expectations in both places.  So up to five patches.

The amount of pain this is causing the skia gardener is greater than the amount of good it is causing the WebKit gardener, IMHO.

Also, it seems that this change also inadvertently affected the layout test trybots:  since they don&apos;t have &quot;(deps)&quot; in their name, they also ignore the downstream test_expectations, leading to unexpected failures during try runs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443620</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-28 12:54:56 -0700</bug_when>
    <thetext>Perhaps skia should roll into WebKit before it rolls into Chromium?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443622</commentid>
    <comment_count>17</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-07-28 13:05:41 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Perhaps skia should roll into WebKit before it rolls into Chromium?

Although we considered it, I don&apos;t think that&apos;s practical at this time.  There&apos;s a lot of work going on in Skia, and to add the lag of a WebKit roll to that work would be prohibitive.  As one datapoint, there are a number of merges going from skia to the release branch right now.  To add a WebKit merge to that process seems like it would be a nightmare.

Also, since we don&apos;t have full coverage of all tests on the WebKit bots, a skia change which introduced a ChromeOS or pyauto regression (or any one of the many bots we don&apos;t have WebKit canary coverage for) would require a rollback in skia, and a merge forward in WebKit to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443989</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-29 10:35:22 -0700</bug_when>
    <thetext>&gt; Although we considered it, I don&apos;t think that&apos;s practical at this time.  There&apos;s a lot of work going on in Skia, and to add the lag of a WebKit roll to that work would be prohibitive.  As one datapoint, there are a number of merges going from skia to the release branch right now.  To add a WebKit merge to that process seems like it would be a nightmare.

Whether we fix the skia revision in http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/DEPS or http://src.chromium.org/viewvc/chrome/trunk/src/DEPS doesn&apos;t have any bearing on how you merge changes to release branches.

&gt; Also, since we don&apos;t have full coverage of all tests on the WebKit bots, a skia change which introduced a ChromeOS or pyauto regression (or any one of the many bots we don&apos;t have WebKit canary coverage for) would require a rollback in skia, and a merge forward in WebKit to fix.

We have that problem for every WebKit change.  This bug probably isn&apos;t the best place to have this discussion.  Maybe we should move the discussion to chromium-dev?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444027</commentid>
    <comment_count>19</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-07-29 11:42:20 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; &gt; Although we considered it, I don&apos;t think that&apos;s practical at this time.  There&apos;s a lot of work going on in Skia, and to add the lag of a WebKit roll to that work would be prohibitive.  As one datapoint, there are a number of merges going from skia to the release branch right now.  To add a WebKit merge to that process seems like it would be a nightmare.
&gt; 
&gt; Whether we fix the skia revision in http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/DEPS or http://src.chromium.org/viewvc/chrome/trunk/src/DEPS doesn&apos;t have any bearing on how you merge changes to release branches.

Yeah, I think I was wrong about that -- any merges to the skia Release branch won&apos;t require a WebKit merge, since the release branch WebKit DEPS will already be pointing at the Skia release branch (I think?)

&gt; &gt; Also, since we don&apos;t have full coverage of all tests on the WebKit bots, a skia change which introduced a ChromeOS or pyauto regression (or any one of the many bots we don&apos;t have WebKit canary coverage for) would require a rollback in skia, and a merge forward in WebKit to fix.
&gt; 
&gt; We have that problem for every WebKit change.

Right, this would just extend the problem to every skia change as well.

&gt; This bug probably isn&apos;t the best place to have this discussion.  Maybe we should move the discussion to chromium-dev?

I started to write out the pros and cons of each option, and after considering the above I think merging skia-&gt;WebKit actually comes out ahead.  I&apos;m going to run it by the skia folks again first to see what they think.

I do think that the issue of the trybots not respecting the downstream test_expectations should be fixed, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444030</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-29 11:47:46 -0700</bug_when>
    <thetext>&gt; I do think that the issue of the trybots not respecting the downstream test_expectations should be fixed, though.

Definitely.  We should coordinate with maruel to make that happen.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444063</commentid>
    <comment_count>21</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-07-29 13:20:00 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; &gt; I do think that the issue of the trybots not respecting the downstream test_expectations should be fixed, though.
&gt; 
&gt; Definitely.  We should coordinate with maruel to make that happen.
&gt; 
&gt; Thanks.

You can simply modify chromium.py to recognize the tryserver builder names and include the file. I don&apos;t think maruel needs to do anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444067</commentid>
    <comment_count>22</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-29 13:28:27 -0700</bug_when>
    <thetext>&gt; You can simply modify chromium.py to recognize the tryserver builder names and include the file. I don&apos;t think maruel needs to do anything.

As these the names:

linux_layoutm mac_layout, win_layout ?

(from http://build.chromium.org/p/tryserver.chromium/waterfall)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444075</commentid>
    <comment_count>23</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-07-29 13:40:08 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; &gt; You can simply modify chromium.py to recognize the tryserver builder names and include the file. I don&apos;t think maruel needs to do anything.
&gt; 
&gt; As these the names:
&gt; 
&gt; linux_layoutm mac_layout, win_layout ?
&gt; 
&gt; (from http://build.chromium.org/p/tryserver.chromium/waterfall)

There are Release flavours of each as well:  linux_layout_rel, mac_layout_rel, win_layout_rel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444079</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-29 13:42:19 -0700</bug_when>
    <thetext>/me will write a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444087</commentid>
    <comment_count>25</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-29 14:05:51 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=65390</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95680</attachid>
            <date>2011-06-01 15:55:18 -0700</date>
            <delta_ts>2022-03-01 02:49:54 -0800</delta_ts>
            <desc>chromium-specific version</desc>
            <filename>bug-61888-20110601155517.patch</filename>
            <type>text/plain</type>
            <size>3340</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc3MDMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNmU5ZDE0ZTEyN2M4MzZkMzcwNGQxMDAzMDY1ZjFiNmQ1
M2VlZDc0Li45Mzc1NjJmNWUyM2ZhZDdjZjBhNzUwN2Y4MmIzYjkzNTBmNzIyNzdiIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDYtMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbnJ3dDogc2hvdWxk
IHNraXAgY2hyb21pdW0gdGVzdCBleHBlY3RhdGlvbiBvdmVycmlkZXMgb24gdXBzdHJlYW0gYm90
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4ODgK
KworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0u
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bV91bml0dGVzdC5weToKKwogMjAxMS0wNS0zMCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2Fy
Y2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW0ucHkKaW5kZXggOGVjMGUxY2ZkMmVhYmQxMDA1MjJhMDI1NTBhZGJhZDY3OTJkOTM1Ny4uNGVj
YjM2OTczYzgzNWVmNWI5MzAwODVhYWI4Zjk1OWM1ZWU4NWQ0MyAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CkBAIC0yNjIs
NiArMjYyLDEzIEBAIGNsYXNzIENocm9taXVtUG9ydChiYXNlLlBvcnQpOgogICAgICAgICByZXR1
cm4gc2VsZi5fZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShleHBlY3RhdGlvbnNfcGF0aCkKIAog
ICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoc2VsZik6CisgICAgICAgICMgU2Vl
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODg4IGZvciB0aGUgcmF0
aW9uYWxlIGZvciB0aGlzLgorICAgICAgICAjIEZJWE1FOiBJdCBzZWVtcyBiYWQgdGhhdCBydW5f
d2Via2l0X3Rlc3RzLnB5IHVzZXMgYSBoYXJkY29kZWQgZHVtbXkKKyAgICAgICAgIyBidWlsZGVy
IHN0cmluZyBpbnN0ZWFkIG9mIGp1c3QgdXNpbmcgTm9uZS4KKyAgICAgICAgYnVpbGRlcl9uYW1l
ID0gc2VsZi5nZXRfb3B0aW9uKCdidWlsZGVyX25hbWUnLCAnRFVNTVlfQlVJTERFUl9OQU1FJykK
KyAgICAgICAgaWYgYnVpbGRlcl9uYW1lICE9ICdEVU1NWV9CVUlMREVSX05BTUUnIGFuZCBub3Qg
JyhkZXBzKScgaW4gYnVpbGRlcl9uYW1lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKwogICAg
ICAgICB0cnk6CiAgICAgICAgICAgICBvdmVycmlkZXNfcGF0aCA9IHNlbGYucGF0aF9mcm9tX2No
cm9taXVtX2Jhc2UoJ3dlYmtpdCcsICd0b29scycsCiAgICAgICAgICAgICAgICAgJ2xheW91dF90
ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9ucy50eHQnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkK
aW5kZXggYjg1YWYwNTIzMzI3YTE2NDRhNGJhZmIyMjUzNTVhYzNhMWUyN2EwMC4uNzBiN2UxZDhj
MmZhMjcyYWJlYjI4NjIzZWFiNDU4M2MyYmVjOTkwOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0
LnB5CkBAIC0yMjgsNiArMjI4LDI5IEBAIExJTlVYIFdJTiA6IGZhc3QvanMvdmVyeS1nb29kLmpz
ID0gVElNRU9VVCBQQVNTIiIiCiAgICAgICAgICAgICBleGNlcHRpb25fcmFpc2VkID0gVHJ1ZQog
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGV4Y2VwdGlvbl9yYWlzZWQpCiAKKyAgICBkZWYgdGVz
dF9vdmVycmlkZXNfYW5kX2J1aWxkZXJfbmFtZXMoc2VsZik6CisgICAgICAgICMgU2VlIGJ1ZyBo
dHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTg4OCBmb3IgdGhlIHJhdGlv
bmFsZSBmb3IgdGhpcy4KKyAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKKyAgICAgICAg
aWYgbm90IHBvcnQ6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBmaWxlc3lzdGVtID0g
ZmlsZXN5c3RlbV9tb2NrLk1vY2tGaWxlU3lzdGVtKCkKKyAgICAgICAgcG9ydC5fZmlsZXN5c3Rl
bSA9IGZpbGVzeXN0ZW0KKyAgICAgICAgcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSA9IGxh
bWJkYSAqY29tcHM6ICcvJyArICcvJy5qb2luKGNvbXBzKQorCisgICAgICAgIG92ZXJyaWRlc19w
YXRoID0gcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgnd2Via2l0JywgJ3Rvb2xzJywgJ2xh
eW91dF90ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9ucy50eHQnKQorICAgICAgICBPVkVSUklERVMg
PSAnZm9vJworICAgICAgICBmaWxlc3lzdGVtLmZpbGVzW292ZXJyaWRlc19wYXRoXSA9IE9WRVJS
SURFUworCisgICAgICAgIHBvcnQuX29wdGlvbnMuYnVpbGRlcl9uYW1lID0gJ0RVTU1ZX0JVSUxE
RVJfTkFNRScKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC50ZXN0X2V4cGVjdGF0aW9u
c19vdmVycmlkZXMoKSwgT1ZFUlJJREVTKQorCisgICAgICAgIHBvcnQuX29wdGlvbnMuYnVpbGRl
cl9uYW1lID0gJ2J1aWxkZXIgKGRlcHMpJworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0
LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLCBPVkVSUklERVMpCisKKyAgICAgICAgcG9y
dC5fb3B0aW9ucy5idWlsZGVyX25hbWUgPSAnYnVpbGRlcicKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMocG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwgTm9uZSkKKwogCiBjbGFz
cyBDaHJvbWl1bVBvcnRMb2dnaW5nVGVzdChsb2d0ZXN0aW5nLkxvZ2dpbmdUZXN0Q2FzZSk6CiAg
ICAgZGVmIHRlc3RfY2hlY2tfc3lzX2RlcHMoc2VsZik6Cg==
</data>
<flag name="review"
          id="89342"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95683</attachid>
            <date>2011-06-01 16:08:04 -0700</date>
            <delta_ts>2011-06-01 16:08:04 -0700</delta_ts>
            <desc>generic version </desc>
            <filename>bug-61888-20110601160803.patch</filename>
            <type>text/plain</type>
            <size>5717</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc3MDMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNmU5ZDE0ZTEyN2M4MzZkMzcwNGQxMDAzMDY1ZjFiNmQ1
M2VlZDc0Li41MzFhZWNlMWEwOTM4ZDUzYmJjYTUxZDYwZGQ4MWVkNzkwMDg1YTM0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDYtMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbnJ3dDogc2hvdWxk
IHNraXAgY2hyb21pdW0gdGVzdCBleHBlY3RhdGlvbiBvdmVycmlkZXMgb24gdXBzdHJlYW0gYm90
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4ODgK
KworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVz
dHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2xheW91dF9wYWNrYWdlL21hbmFnZXIucHk6CisKIDIwMTEtMDUtMzAgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE1hcnRpbiBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21hbmFnZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tYW5hZ2VyLnB5CmluZGV4IDc0YjhmODBm
MDNlMzM4MmQ5MGNmZDUwZjliNTYyZDhhZmJiNDIxYzcuLjYyODQxZDFkZjMzMzVlN2ZiYzUyNGFm
ZDhhNWEwZjlkOWE5ZGM5YWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21hbmFnZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdlci5weQpAQCAtMjc2LDYg
KzI3Niw4IEBAIGNsYXNzIE1hbmFnZXI6CiAgICAgICAgICMgVGhpcyBtYXBzIHdvcmtlciBuYW1l
cyB0byB0aGUgc3RhdGUgd2UgYXJlIHRyYWNraW5nIGZvciBlYWNoIG9mIHRoZW0uCiAgICAgICAg
IHNlbGYuX3dvcmtlcl9zdGF0ZXMgPSB7fQogCisgICAgICAgICMgU2VlIGJ1ZyAjNjE4ODggZm9y
IHRoZSByYXRpb25hbGUgZm9yIHRoaXMuCisgICAgICAgIHNlbGYuX3VzZV9vdmVycmlkZXMgPSBv
cHRpb25zLmJ1aWxkZXJfbmFtZSA9PSAnRFVNTVlfQlVJTERFUl9OQU1FJyBvciAnKGRlcHMpJyBp
biBvcHRpb25zLmJ1aWxkZXJfbmFtZQogCiAgICAgZGVmIGNvbGxlY3RfdGVzdHMoc2VsZiwgYXJn
cywgbGFzdF91bmV4cGVjdGVkX3Jlc3VsdHMpOgogICAgICAgICAiIiJGaW5kIGFsbCB0aGUgZmls
ZXMgdG8gdGVzdC4KQEAgLTMxNywyNiArMzE5LDMyIEBAIGNsYXNzIE1hbmFnZXI6CiAKICAgICBk
ZWYgbGludF9leHBlY3RhdGlvbnMoc2VsZiwgY29uZmlnKToKICAgICAgICAgcG9ydCA9IHNlbGYu
X3BvcnQKKyAgICAgICAgb3ZlcnJpZGVzID0gTm9uZQorICAgICAgICBpZiBzZWxmLl91c2Vfb3Zl
cnJpZGVzOgorICAgICAgICAgICAgb3ZlcnJpZGVzID0gcG9ydC50ZXN0X2V4cGVjdGF0aW9uc19v
dmVycmlkZXMoKQogICAgICAgICB0ZXN0X2V4cGVjdGF0aW9ucy5UZXN0RXhwZWN0YXRpb25zKAog
ICAgICAgICAgICAgcG9ydCwKICAgICAgICAgICAgIE5vbmUsCiAgICAgICAgICAgICBwb3J0LnRl
c3RfZXhwZWN0YXRpb25zKCksCiAgICAgICAgICAgICBjb25maWcsCiAgICAgICAgICAgICBzZWxm
Ll9vcHRpb25zLmxpbnRfdGVzdF9maWxlcywKLSAgICAgICAgICAgIHBvcnQudGVzdF9leHBlY3Rh
dGlvbnNfb3ZlcnJpZGVzKCkpCisgICAgICAgICAgICBvdmVycmlkZXMpCiAKICAgICBkZWYgcGFy
c2VfZXhwZWN0YXRpb25zKHNlbGYpOgogICAgICAgICAiIiJQYXJzZSB0aGUgZXhwZWN0YXRpb25z
IGZyb20gdGhlIHRlc3RfbGlzdCBmaWxlcyBhbmQgcmV0dXJuIGEgZGF0YQogICAgICAgICBzdHJ1
Y3R1cmUgaG9sZGluZyB0aGVtLiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHRlc3RfbGlzdCBmaWxl
cyBoYXZlCiAgICAgICAgIGludmFsaWQgc3ludGF4LiIiIgogICAgICAgICBwb3J0ID0gc2VsZi5f
cG9ydAorICAgICAgICBvdmVycmlkZXMgPSBOb25lCisgICAgICAgIGlmIHNlbGYuX3VzZV9vdmVy
cmlkZXM6CisgICAgICAgICAgICBvdmVycmlkZXMgPSBwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292
ZXJyaWRlcygpCiAgICAgICAgIHNlbGYuX2V4cGVjdGF0aW9ucyA9IHRlc3RfZXhwZWN0YXRpb25z
LlRlc3RFeHBlY3RhdGlvbnMoCiAgICAgICAgICAgICBwb3J0LAogICAgICAgICAgICAgc2VsZi5f
dGVzdF9maWxlcywKICAgICAgICAgICAgIHBvcnQudGVzdF9leHBlY3RhdGlvbnMoKSwKICAgICAg
ICAgICAgIHBvcnQudGVzdF9jb25maWd1cmF0aW9uKCksCiAgICAgICAgICAgICBzZWxmLl9vcHRp
b25zLmxpbnRfdGVzdF9maWxlcywKLSAgICAgICAgICAgIHBvcnQudGVzdF9leHBlY3RhdGlvbnNf
b3ZlcnJpZGVzKCkpCisgICAgICAgICAgICBvdmVycmlkZXMpCiAKICAgICAjIEZJWE1FOiBUaGlz
IG1ldGhvZCBpcyB3YXkgdG9vIGxvbmcgYW5kIG5lZWRzIHRvIGJlIGJyb2tlbiBpbnRvIHBpZWNl
cy4KICAgICBkZWYgcHJlcGFyZV9saXN0c19hbmRfcHJpbnRfb3V0cHV0KHNlbGYpOgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2Uv
bWFuYWdlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2xheW91dF9wYWNrYWdlL21hbmFnZXJfdW5pdHRlc3QucHkKaW5kZXggNDNjZWQ1YTQzNjNjYjJk
Njk4MmZjNTBjMWNiYmQwM2ZlMjRmMDkyZC4uZmJmOWFmM2Y2OGViNDFmNGU0ZGQ5MjQ2MGUxNmJk
MzFhMWJlNmYwNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tYW5hZ2VyX3VuaXR0ZXN0LnB5
CkBAIC00OSw3ICs0OSw5IEBAIGNsYXNzIE1hbmFnZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgIyBwdXQgdGhlIGh0dHAgdGVzdHMgZmlyc3QgaW4gdGhlIHF1ZXVlLgogICAgICAg
ICBwb3J0ID0gTW9jaygpCiAgICAgICAgIHBvcnQuX2ZpbGVzeXN0ZW0gPSBmaWxlc3lzdGVtX21v
Y2suTW9ja0ZpbGVTeXN0ZW0oKQotICAgICAgICBtYW5hZ2VyID0gTWFuYWdlcldyYXBwZXIocG9y
dD1wb3J0LCBvcHRpb25zPU1vY2soKSwgcHJpbnRlcj1Nb2NrKCkpCisgICAgICAgIG9wdGlvbnMg
PSBNb2NrKCkKKyAgICAgICAgb3B0aW9ucy5idWlsZGVyX25hbWUgPSAnRFVNTVlfQlVJTERFUl9O
QU1FJworICAgICAgICBtYW5hZ2VyID0gTWFuYWdlcldyYXBwZXIocG9ydD1wb3J0LCBvcHRpb25z
PW9wdGlvbnMsIHByaW50ZXI9TW9jaygpKQogCiAgICAgICAgIHRlc3RfbGlzdCA9IFsKICAgICAg
ICAgICAiTGF5b3V0VGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VuaWNvZGUuaHRtIiwKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNf
aW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXggZjIzMmNhMjkxZDFhYTZi
YWZkNjgyZThmZjEyZWExM2E1ZTM2ZTNkNC4uNjJmM2VkYmY1Nzc1YzVlNWRkMzY5NmE1ZDY2ZTg5
YTg0MTEyNWE3ZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3Qu
cHkKQEAgLTYwNyw2ICs2MDcsMjkgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgICAgICAgICAgICAgaW4gcmVndWxhcl9vdXRwdXQuZ2V0KCkpCiAKIAor
Y2xhc3MgQ2hyb21pdW1PdmVycmlkZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYg
cnVuX3Rlc3Qoc2VsZiwgYnVpbGRlcl9hcmdzLCBvdmVycmlkZV9zdHIsIGV4cGVjdGVkX3Jlc3Vs
dCk6CisgICAgICAgIG9wdGlvbnMsIHBhcnNlZF9hcmdzID0gcGFyc2VfYXJncyhidWlsZGVyX2Fy
Z3MgKyBbJ2ZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwnXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUpCisgICAgICAgIHBv
cnRfb2JqID0gcG9ydC5nZXQocG9ydF9uYW1lPW9wdGlvbnMucGxhdGZvcm0sIG9wdGlvbnM9b3B0
aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPW1vY2t0b29sLk1vY2tVc2Vy
KCksIGZpbGVzeXN0ZW09Tm9uZSkKKyAgICAgICAgcG9ydF9vYmoudGVzdF9leHBlY3RhdGlvbnNf
b3ZlcnJpZGVzID0gbGFtYmRhOiBvdmVycmlkZV9zdHIKKyAgICAgICAgcmVzLCBfLCBfID0gcnVu
X2FuZF9jYXB0dXJlKHBvcnRfb2JqLCBvcHRpb25zLCBwYXJzZWRfYXJncykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMocmVzLCBleHBlY3RlZF9yZXN1bHQpCisKKyAgICBkZWYgdGVzdF9vdmVy
cmlkZXNfYXJlX25vdF9pbmNsdWRlZF9pZl9ub3RfZGVwc19ib3Qoc2VsZik6CisgICAgICAgIHNl
bGYucnVuX3Rlc3QoWyctLWJ1aWxkZXItbmFtZScsICd0ZXN0J10sICdCVUdYIDogZmFpbHVyZXMv
ZXhwZWN0ZWQvaW1hZ2UuaHRtbCA9IFBBU1NcbicsIDApCisgICAgICAgIHNlbGYucnVuX3Rlc3Qo
WyctLWJ1aWxkZXItbmFtZScsICd0ZXN0JywgJy0tbGludC10ZXN0LWZpbGVzJ10sICdzeW50YXgg
ZXJyb3InLCAwKQorCisgICAgZGVmIHRlc3Rfb3ZlcnJpZGVzX2FyZV9pbmNsdWRlZF9mb3JfZGVw
c19ib3RzKHNlbGYpOgorICAgICAgICBzZWxmLnJ1bl90ZXN0KFsnLS1idWlsZGVyLW5hbWUnLCAn
dGVzdCAoZGVwcyknXSwgJ0JVR1ggOiBmYWlsdXJlcy9leHBlY3RlZC9pbWFnZS5odG1sID0gUEFT
U1xuJywgMSkKKyAgICAgICAgc2VsZi5ydW5fdGVzdChbJy0tYnVpbGRlci1uYW1lJywgJ3Rlc3Qg
KGRlcHMpJywgJy0tbGludC10ZXN0LWZpbGVzJ10sICdzeW50YXggZXJyb3InLCAtMSkKKworICAg
IGRlZiB0ZXN0X292ZXJyaWRlc19hcmVfaW5jbHVkZWRfaWZfbm9fYnVpbGRlcihzZWxmKToKKyAg
ICAgICAgc2VsZi5ydW5fdGVzdChbXSwgJ0JVR1ggOiBmYWlsdXJlcy9leHBlY3RlZC9pbWFnZS5o
dG1sID0gUEFTU1xuJywgMSkKKyAgICAgICAgc2VsZi5ydW5fdGVzdChbJy0tbGludC10ZXN0LWZp
bGVzJ10sICdzeW50YXggZXJyb3InLCAtMSkKKworCiBNYWluVGVzdCA9IHNraXBfaWYoTWFpblRl
c3QsIHN5cy5wbGF0Zm9ybSA9PSAnY3lnd2luJyBhbmQgY29tcGFyZV92ZXJzaW9uKHN5cywgJzIu
NicpWzBdIDwgMCwgJ25ldy1ydW4td2Via2l0LXRlc3RzIHRlc3RzIGhhbmcgb24gQ3lnd2luIFB5
dGhvbiAyLjUuMicpCiAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>