<?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>90284</bug_id>
          
          <creation_ts>2012-06-29 08:12:11 -0700</creation_ts>
          <short_desc>[GTK] WebKit test runner ignores all system environment variables</short_desc>
          <delta_ts>2012-07-19 12:08:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>0</everconfirmed>
          <reporter name="Xabier Rodríguez Calvar">calvaris</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>cdumez</cc>
    
    <cc>dpranke</cc>
    
    <cc>d-r</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojan</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>660496</commentid>
    <comment_count>0</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2012-06-29 08:12:11 -0700</bug_when>
    <thetext>[GTK] WebKit test runner ignores all system environment variables</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660527</commentid>
    <comment_count>1</comment_count>
      <attachid>150189</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2012-06-29 08:35:06 -0700</bug_when>
    <thetext>Created attachment 150189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660529</commentid>
    <comment_count>2</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2012-06-29 08:41:42 -0700</bug_when>
    <thetext>I don&apos;t know if the environment variables are ignored on purpose for some reason, but I cooked this patch because this way we still overwrite the ones that we want and let through the system ones that we do not want to touch.

Somebody told me that Philippe is one of the python guys, so I am also adding him to CC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660543</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-06-29 09:05:20 -0700</bug_when>
    <thetext>I think it&apos;s ok to have total, explicit, control over the environment variables as it&apos;s currently done.

Maybe an alternative could be that you pass vars to run-webkit-tests with a specific prefix (like WEBKIT_TESTS_ or something similar) and handle thses internally, instead of passing the whole os.environ, which can have, I think, unexpected side-effects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660544</commentid>
    <comment_count>4</comment_count>
      <attachid>150189</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-06-29 09:05:51 -0700</bug_when>
    <thetext>Comment on attachment 150189
Patch

This seems reasonable enough to me. Philippe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660545</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-06-29 09:07:04 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I think it&apos;s ok to have total, explicit, control over the environment variables as it&apos;s currently done.
&gt; 
&gt; Maybe an alternative could be that you pass vars to run-webkit-tests with a specific prefix (like WEBKIT_TESTS_ or something similar) and handle thses internally, instead of passing the whole os.environ, which can have, I think, unexpected side-effects.

Hrm. Now that Philippe mentions it, it is quite useful to have complete control over the environment. What environment variables are you wanting to pass through? It might make sense to special case them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660546</commentid>
    <comment_count>6</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2012-06-29 09:12:50 -0700</bug_when>
    <thetext>GST_PLUGIN_SYSTEM_PATH so that I can avoid GStreamer to load a certain plugin that it is breaking my tests.

Sometimes it could be useful to let some variables thru, so I think the idea of preprending WEBKIT_TESTS_ is good as you only pass the variables you have the intention to pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660547</commentid>
    <comment_count>7</comment_count>
      <attachid>150189</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-29 09:16:21 -0700</bug_when>
    <thetext>Comment on attachment 150189
Patch

Philippe is right. This is the opposite of what you&apos;re supposed to be doing; we don&apos;t want unexpected variables to have an effect. Feel free to add the ones you want to pass through, but we should be able to see a deterministic list of what can affect the runner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660557</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-06-29 09:28:36 -0700</bug_when>
    <thetext>Dirk,

Would that alternative to allow prefixed variables be accepted in the WebKitPort class? Maybe it would be useful for other ports but I understand if such workaround can be limited to the GTK port only :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660568</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-29 09:35:58 -0700</bug_when>
    <thetext>Well, we&apos;re moving to combine WebKitPort and Port, so all ports will be WebKitPorts. I&apos;m not wild about the prefix idea, because it still suffers from the same problem (you can&apos;t look at the code and figure out which variables will have an effect).

I would be open to the idea of a command line flag that lets you pass arbitrary environment variables through; I can certainly see the value for testing and development in not having to add a variable to the whitelist every time you try something, but if code gets checked in using a new variable, it should probably have to be in the list, I think.

I could be convinced I&apos;m wrong, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664123</commentid>
    <comment_count>10</comment_count>
      <attachid>151087</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2012-07-06 08:23:31 -0700</bug_when>
    <thetext>Created attachment 151087
Patch

Now only variables prefixed with WEBKIT_TESTS_ are passed to the tests (by removing the prefix first). I hope this makes the process enough sandboxed but with some flexibility. If you like the proposed solution I can write some tests and submit a final patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664491</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-08 11:58:05 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=151087) [details]
&gt; Patch
&gt; 
&gt; Now only variables prefixed with WEBKIT_TESTS_ are passed to the tests (by removing the prefix first). I hope this makes the process enough sandboxed but with some flexibility. If you like the proposed solution I can write some tests and submit a final patch for review.

As I said above, I&apos;m not wild about WEBKIT_TESTS_, either. Do you really need to be able to update arbitrary environment variables? Is there a reason you don&apos;t just add the variables you care about to the whitelist, either in base.py or override setup_environ_for_server in gtk.py if only gtk cares about GST_PLUGIN_SYSTEM_PATH (which seems likely)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664840</commentid>
    <comment_count>12</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2012-07-09 06:07:27 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; As I said above, I&apos;m not wild about WEBKIT_TESTS_, either. Do you really need to be able to update arbitrary environment variables? Is there a reason you don&apos;t just add the variables you care about to the whitelist, either in base.py or override setup_environ_for_server in gtk.py if only gtk cares about GST_PLUGIN_SYSTEM_PATH (which seems likely)?

Because the problem happens only in my setup and I need to workaround it, but it is not a general problem. If it were I would have whitelisted the variable.

Phil thought that there must be a better solution that would be adding an extra parameter when running the test runner, for example --extra-env=&quot;...=...&quot; and I also think that that&apos;s a better solution, so I will go for this and resubmit the patch when ready, if you like the approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664968</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-09 10:31:07 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Phil thought that there must be a better solution that would be adding an extra parameter when running the test runner, for example --extra-env=&quot;...=...&quot; and I also think that that&apos;s a better solution, so I will go for this and resubmit the patch when ready, if you like the approach.

Yes, a command line flag would be fine. We&apos;ve generally used --additional-XXX for this sort of flag, so something like --additional-env-var foo=bar would be great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671160</commentid>
    <comment_count>14</comment_count>
      <attachid>152729</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2012-07-17 04:12:14 -0700</bug_when>
    <thetext>Created attachment 152729
Patch

This patch adds the --addional-env-var arguments for the test runner. The tests work in my case the problem is solved if I use the right env var. I fixed the webkit py unit tests that were broken and added a new one for the new feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671469</commentid>
    <comment_count>15</comment_count>
      <attachid>152729</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-17 12:01:44 -0700</bug_when>
    <thetext>Comment on attachment 152729
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:787
&gt; +        for string_variable in self._options.additional_env_var:

You should probably use self.get_option(&apos;additional_env_var&apos;, []) here; that should eliminate most (if not all) of the concerns about having to ensure additonal_env_var is defined in the options object.

&gt; Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py:62
&gt; +        return Port(host, config=port_config, options=port_options)

Why don&apos;t you need to propagate the other **kwargs ?

&gt; Tools/Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:37
&gt; +from webkitpy.tool.mocktool import MockOptions

nit: I&apos;m trying to move away from using MockOptions. import optparse and use optparse.Values() instead, since it&apos;s a built-in class in the standard library that does the same thing.

&gt; Tools/Scripts/webkitpy/tool/mocktool.py:51
&gt; +        self.ensure_value(&apos;additional_env_var&apos;, [])

don&apos;t do this, it&apos;s a bad way of letting additional hidden dependencies creep in. tests that need this value to be set should be explicit about it (yes, that&apos;s kind of a hassle).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673510</commentid>
    <comment_count>16</comment_count>
      <attachid>153264</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2012-07-19 07:54:00 -0700</bug_when>
    <thetext>Created attachment 153264
Patch

It looks like Dirk&apos;s comments worked like a charm and all the problems with the dependencies of the base unit tests are gone. Normal and base unit tests work and the patch looks much better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673739</commentid>
    <comment_count>17</comment_count>
      <attachid>153264</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-19 11:44:38 -0700</bug_when>
    <thetext>Comment on attachment 153264
Patch

cleaned up nicely. thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673763</commentid>
    <comment_count>18</comment_count>
      <attachid>153264</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-19 12:08:26 -0700</bug_when>
    <thetext>Comment on attachment 153264
Patch

Clearing flags on attachment: 153264

Committed r123132: &lt;http://trac.webkit.org/changeset/123132&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673764</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-19 12:08:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150189</attachid>
            <date>2012-06-29 08:35:06 -0700</date>
            <delta_ts>2012-07-06 08:23:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90284-20120629173503.patch</filename>
            <type>text/plain</type>
            <size>1831</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNTMwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDdhZmY2Nzk0MTZjMDY0NjFlMWRmZGVhMmM2MmY0Y2Jm
ZjI1YTZlZi4uMjI4NzAyMjc3NjUzYTE1YzliMDVhNzdjNWE2ZmVlMGY0Mjc4OTRiYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDEyLTA2LTI5ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gV2ViS2l0IHRlc3QgcnVubmVyIGlnbm9yZXMgYWxsIHN5
c3RlbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkwMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTWFrZXMgZ3RrIHRlc3RzIG5vdCBmb3JnZXQgYWxsIGVudmlyb25t
ZW50IHZhcmlhYmxlcy4gSXQgc3RpbGwKKyAgICAgICAgb3ZlcndyaXRlcyB0aGUgb25lcyBpdCBu
ZWVkcyBidXQgaXQgYWxzbyBsZXQgdGhlIG90aGVycyBwYXNzIHRob3VnaC4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3Rr
UG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOiBJdCBsb2FkcyB0aGUgb3MuZW52aXJvbiBh
bmQgYWRkcworICAgICAgICB0aGUgc2VydmVyIHZhcmlhYmxlcy4gSW4gdGhpcyBwcm9jZXNzLCB0
aGUgc2VydmVyIG9uZXMgb3ZlcndyaXRlIHRoZQorICAgICAgICBleGlzdGluZyBzeXN0ZW0gb25l
cyB3aGVuIG5lZWRlZC4KKwogMjAxMi0wNi0yOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBET01IVE1MQ29sbGVjdGlvbjo6aXRlbSBtYXkgcmV0dXJuIGEgd3Jv
bmcgZWxlbWVudCBhZnRlciBuYW1lZEl0ZW0gaXMgY2FsbGVkCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CmluZGV4IDZjNTk0MjdmM2MzMDgxYjA4
YTQzNjYxMWVhOTBiYWI3OTY5ODRiMWMuLjJkNmJjYmVkMGQ5MmFiMmFhNDUxZmE1N2Y0ZWU2M2Q0
ZmI4NDhiNDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvZ3RrLnB5CkBAIC01NCw3ICs1NCw3IEBAIGNsYXNzIEd0a1BvcnQoV2ViS2l0UG9ydCwgUHVs
c2VBdWRpb1Nhbml0aXplcik6CiAgICAgICAgIHNlbGYuX3Jlc3RvcmVfcHVsc2VhdWRpb19tb2R1
bGUoKQogCiAgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFt
ZT1Ob25lKToKLSAgICAgICAgZW52aXJvbm1lbnQgPSBXZWJLaXRQb3J0LnNldHVwX2Vudmlyb25f
Zm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZSkKKyAgICAgICAgZW52aXJvbm1lbnQgPSBkaWN0
KG9zLmVudmlyb24uaXRlbXMoKSArIFdlYktpdFBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVy
KHNlbGYsIHNlcnZlcl9uYW1lKS5pdGVtcygpKQogICAgICAgICBlbnZpcm9ubWVudFsnR1RLX01P
RFVMRVMnXSA9ICdnYWlsJwogICAgICAgICBlbnZpcm9ubWVudFsnR1NFVFRJTkdTX0JBQ0tFTkQn
XSA9ICdtZW1vcnknCiAgICAgICAgIGVudmlyb25tZW50WydMSUJPVkVSTEFZX1NDUk9MTEJBUidd
ID0gJzAnCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151087</attachid>
            <date>2012-07-06 08:23:31 -0700</date>
            <delta_ts>2012-07-17 04:12:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90284-20120706172328.patch</filename>
            <type>text/plain</type>
            <size>1662</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxOTUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODBlMjc4YjAwYzk4NDc3M2ZiZmFjODRlYTAxNDJkNjUw
MTJlODFjYi4uZmI3Mzk4OTBmOWQ1NDAwMGY5YzJmOTc1OWNmZDE5M2IzMmUzNjUxYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDEyLTA3LTA2ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gV2ViS2l0IHRlc3QgcnVubmVyIGlnbm9yZXMgYWxsIHN5
c3RlbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkwMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0
ay5weToKKyAgICAgICAgKEd0a1BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKwogMjAx
Mi0wNy0wNSAgSmFzb24gTGl1ICA8amFzb24ubGl1QHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAg
ICAgICBBZGQgSmFzb24gTGl1IHRvIGNvbW1pdHRlcnMucHkuCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CmluZGV4IDZjNTk0MjdmM2MzMDgxYjA4
YTQzNjYxMWVhOTBiYWI3OTY5ODRiMWMuLmIwZGIwMjUzMzE1ZWE0MzZkZjZjOWMzOTA0YTFiNzA5
ZmI3MDUyNTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvZ3RrLnB5CkBAIC01NCw3ICs1NCw5IEBAIGNsYXNzIEd0a1BvcnQoV2ViS2l0UG9ydCwgUHVs
c2VBdWRpb1Nhbml0aXplcik6CiAgICAgICAgIHNlbGYuX3Jlc3RvcmVfcHVsc2VhdWRpb19tb2R1
bGUoKQogCiAgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFt
ZT1Ob25lKToKLSAgICAgICAgZW52aXJvbm1lbnQgPSBXZWJLaXRQb3J0LnNldHVwX2Vudmlyb25f
Zm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZSkKKyAgICAgICAgZW52aXJvbm1lbnQgPSBkaWN0
KG1hcChsYW1iZGEgeDogW3hbMF0ucmVwbGFjZSgnV0VCS0lUX1RFU1RTXycsICcnLCAxKSwgeFsx
XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGxhbWJkYSB4OiB4WzBd
LnN0YXJ0c3dpdGgoJ1dFQktJVF9URVNUU18nKSwgb3MuZW52aXJvbi5pdGVtcygpKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICsgV2ViS2l0UG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIoc2VsZiwgc2VydmVyX25hbWUpLml0ZW1zKCkpCiAgICAgICAgIGVudmlyb25tZW50WydHVEtf
TU9EVUxFUyddID0gJ2dhaWwnCiAgICAgICAgIGVudmlyb25tZW50WydHU0VUVElOR1NfQkFDS0VO
RCddID0gJ21lbW9yeScKICAgICAgICAgZW52aXJvbm1lbnRbJ0xJQk9WRVJMQVlfU0NST0xMQkFS
J10gPSAnMCcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152729</attachid>
            <date>2012-07-17 04:12:14 -0700</date>
            <delta_ts>2012-07-19 07:53:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90284-20120717131211.patch</filename>
            <type>text/plain</type>
            <size>9564</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODMyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2NlYjZiY2YyODBiYWJjZGQ5MDMxMmQxMWFiOTI0Nzhh
ZWE5NjE5Yi4uYWFiNTMwN2Y5NmM5MjVjZmRjMWYxYWQyODFmNDM2NGUxY2U0MjEyNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDEyLTA3LTE3ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gV2ViS2l0IHRlc3QgcnVubmVyIGlnbm9yZXMgYWxsIHN5
c3RlbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkwMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgYSB3YXkgb2YgaGF2aW5nIGN1c3RvbSBlbnZpcm9ubWVu
dCB2YXJpYWJsZXMgd2hlbiBydW5uaW5nCisgICAgICAgIHRoZSB0ZXN0cyBhcyBpdCBjYW4gYmUg
dXNlZnVsIGluIGNlcnRhaW4gZW52aXJvbm1lbnRzLiBGaXhlZAorICAgICAgICB3ZWJraXQgcHkg
dGVzdHMgYW5kIGFkZGVkIGEgbmV3IG9uZSB0byB0ZXN0IHRoZSBuZXcgZmVhdHVyZS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weToKKyAgICAg
ICAgKFBvcnQudG8uc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKTogUmVhZGluZyBlbnZpcm9ubWVu
dCBmcm9tCisgICAgICAgIGFkZGl0aW9uYWxfZW52X3ZhciBwYXJhbWV0ZXJzLgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weToKKyAg
ICAgICAgKFBvcnRUZXN0Lm1ha2VfcG9ydCk6IEFkZGVkIHBvcnQgb3B0aW9ucyBhbmQgY29uZmln
IGFuZCBjb3JyZWN0bHkKKyAgICAgICAgaW5pdGlhbGl6ZWQuCisgICAgICAgIChQb3J0VGVzdC50
ZXN0X2RlZmF1bHRfY29uZmlndXJhdGlvbl9ub3Rmb3VuZCk6IFJlbW92ZWQgTW9ja0NvbmZpZwor
ICAgICAgICBwcmVmaXggYXMgaXQgYXMgZ2xvYmFsbHkgYWRkZWQgdG8gdGhlIGZpbGUuCisgICAg
ICAgIChQb3J0VGVzdC50ZXN0X2FkZGl0aW9uYWxfZW52X3Zhcik6IEFkZGVkIHRlc3QgZm9yCisg
ICAgICAgICItLWFkZGl0aW9uYWwtZW52LXZhciIgcGFyYW1ldGVyLgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5OgorICAgICAg
ICAoVGVzdFdlYktpdFBvcnQuX19pbml0X18pOiBBZGRlZCBvcHRpb25zIGFuZCBjb3JyZWN0bHkg
aW5pdGlhbGl6ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVu
X3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOiBBZGRlZCAiLS1hZGRpdGlv
bmFsLWVudi12YXIiIHBhcmFtZXRlciB0byB0aGUKKyAgICAgICAgcGFyYW1ldGVycyBwYXJzZXIu
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3Nl
cnZlcl91bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RIdHRwU2VydmVyLnRlc3Rfc3RhcnRfY21k
KTogT3B0aW9ucyBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS90b29sL21vY2t0b29sLnB5OgorICAgICAgICAoTW9ja09wdGlvbnMuX19pbml0X18pOiBF
bnN1cmluZyBhZGRpdGlvbmFsX2Vudl92YXIgYmVpbmcKKyAgICAgICAgaW5pdGlhbGl6ZWQgYXMg
W10uCisKIDIwMTItMDctMTcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBbQ2hyb21pdW1dIFRlc3RJbnRlcmZhY2VzIHNob3VsZCBiZSByZXNwb25zaWJsZSBmb3Ig
b3duaW5nIGFuZCBiaW5kaW5nIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyIGFuZCBUZXh0SW5wdXRD
b250cm9sbGVyCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Jhc2UucHkKaW5kZXggZmJmMGI5MzBiOGQwNDUyMjFhOTlmMjYzMTFmZDM0ZTAxZmJlNGMwNS4u
NWViNTdkZjhmMjU1MzM3NmVmZGQ0ZDY3ODVmNjljOGFiYjdjYjNhOSAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAtNzgzLDYgKzc4
MywxMSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAKICAgICAgICAgIyBGb3IgTGludXg6CiAgICAg
ICAgIGNsZWFuX2VudlsnRElTUExBWSddID0gc2VsZi5fdmFsdWVfb3JfZGVmYXVsdF9mcm9tX2Vu
dmlyb24oJ0RJU1BMQVknLCAnOjEnKQorCisgICAgICAgIGZvciBzdHJpbmdfdmFyaWFibGUgaW4g
c2VsZi5fb3B0aW9ucy5hZGRpdGlvbmFsX2Vudl92YXI6CisgICAgICAgICAgICBbbmFtZSwgdmFs
dWVdID0gc3RyaW5nX3ZhcmlhYmxlLnNwbGl0KCc9JywgMSkKKyAgICAgICAgICAgIGNsZWFuX2Vu
dltuYW1lXSA9IHZhbHVlCisKICAgICAgICAgcmV0dXJuIGNsZWFuX2VudgogCiAgICAgZGVmIHNo
b3dfcmVzdWx0c19odG1sX2ZpbGUoc2VsZiwgcmVzdWx0c19maWxlbmFtZSk6CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRl
c3QucHkKaW5kZXggZjdhZmI3YjIyYzEyYTM3YmU2MzBjZGJmNmYxOTNlOWI5MjM2MTQ0Zi4uM2Y4
OTRiYjk5ZGJjN2JiY2Y1YTg2NDUwM2Q5YzYwNzZiMGJhNTk2NCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5w
eQpAQCAtMzcsNiArMzcsNyBAQCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4
ZWN1dGl2ZV9tb2NrCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbV9tb2Nr
IGltcG9ydCBNb2NrRmlsZVN5c3RlbQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLm91dHB1
dGNhcHR1cmUgaW1wb3J0IE91dHB1dENhcHR1cmUKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bS5wYXRoIGltcG9ydCBhYnNwYXRoX3RvX3VyaQorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMu
cG9ydC5jb25maWdfbW9jayBpbXBvcnQgTW9ja0NvbmZpZwogZnJvbSB3ZWJraXRweS50aGlyZHBh
cnR5Lm1vY2sgaW1wb3J0IE1vY2sKIGZyb20gd2Via2l0cHkudG9vbC5tb2NrdG9vbCBpbXBvcnQg
TW9ja09wdGlvbnMKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmVfbW9jayBp
bXBvcnQgTW9ja0V4ZWN1dGl2ZSwgTW9ja0V4ZWN1dGl2ZTIKQEAgLTQ5LDE0ICs1MCwxNiBAQCBp
bXBvcnQgY29uZmlnCiBpbXBvcnQgY29uZmlnX21vY2sKIAogY2xhc3MgUG9ydFRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgotICAgIGRlZiBtYWtlX3BvcnQoc2VsZiwgZXhlY3V0aXZlPU5vbmUsIHdp
dGhfdGVzdHM9RmFsc2UsICoqa3dhcmdzKToKKyAgICBkZWYgbWFrZV9wb3J0KHNlbGYsIGV4ZWN1
dGl2ZT1Ob25lLCB3aXRoX3Rlc3RzPUZhbHNlLCBvcHRpb25zPU5vbmUsIGNvbmZpZz1Ob25lLCAq
Kmt3YXJncyk6CiAgICAgICAgIGhvc3QgPSBNb2NrU3lzdGVtSG9zdCgpCiAgICAgICAgIGlmIGV4
ZWN1dGl2ZToKICAgICAgICAgICAgIGhvc3QuZXhlY3V0aXZlID0gZXhlY3V0aXZlCisgICAgICAg
IHBvcnRfb3B0aW9ucyA9IG9wdGlvbnMgb3IgTW9ja09wdGlvbnMoKiprd2FyZ3MpCisgICAgICAg
IHBvcnRfY29uZmlnID0gY29uZmlnIG9yIE1vY2tDb25maWcoKQogICAgICAgICBpZiB3aXRoX3Rl
c3RzOgogICAgICAgICAgICAgYWRkX3VuaXRfdGVzdHNfdG9fbW9ja19maWxlc3lzdGVtKGhvc3Qu
ZmlsZXN5c3RlbSkKLSAgICAgICAgICAgIHJldHVybiBUZXN0UG9ydChob3N0LCAqKmt3YXJncykK
LSAgICAgICAgcmV0dXJuIFBvcnQoaG9zdCwgKiprd2FyZ3MpCisgICAgICAgICAgICByZXR1cm4g
VGVzdFBvcnQoaG9zdCwgY29uZmlnPXBvcnRfY29uZmlnLCBvcHRpb25zPXBvcnRfb3B0aW9ucykK
KyAgICAgICAgcmV0dXJuIFBvcnQoaG9zdCwgY29uZmlnPXBvcnRfY29uZmlnLCBvcHRpb25zPXBv
cnRfb3B0aW9ucykKIAogICAgIGRlZiB0ZXN0X2RlZmF1bHRfY2hpbGRfcHJvY2Vzc2VzKHNlbGYp
OgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQpAQCAtMTkxLDcgKzE5NCw3IEBAIGNs
YXNzIFBvcnRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2RlZmF1bHRf
Y29uZmlndXJhdGlvbl9ub3Rmb3VuZChzZWxmKToKICAgICAgICAgIyBUZXN0IHRoYXQgd2UgZGVs
ZWdhdGUgdG8gdGhlIGNvbmZpZyBvYmplY3QgcHJvcGVybHkuCi0gICAgICAgIHBvcnQgPSBzZWxm
Lm1ha2VfcG9ydChjb25maWc9Y29uZmlnX21vY2suTW9ja0NvbmZpZyhkZWZhdWx0X2NvbmZpZ3Vy
YXRpb249J2RlZmF1bHQnKSkKKyAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KGNvbmZpZz1N
b2NrQ29uZmlnKGRlZmF1bHRfY29uZmlndXJhdGlvbj0nZGVmYXVsdCcpKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHBvcnQuZGVmYXVsdF9jb25maWd1cmF0aW9uKCksICdkZWZhdWx0JykKIAog
ICAgIGRlZiB0ZXN0X3NldHVwX3Rlc3RfcnVuKHNlbGYpOgpAQCAtMjg3LDYgKzI5MCwxNCBAQCBj
bGFzcyBQb3J0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAnL3RtcC9hZGRp
dGlvbmFsLWV4cGVjdGF0aW9ucy0xLnR4dCcsICcvdG1wL2FkZGl0aW9uYWwtZXhwZWN0YXRpb25z
LTIudHh0J10KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ1xuJy5qb2luKHBvcnQuZXhwZWN0
YXRpb25zX2RpY3QoKS52YWx1ZXMoKSksICdcbmNvbnRlbnQxXG5cbmNvbnRlbnQyXG4nKQogCisg
ICAgZGVmIHRlc3RfYWRkaXRpb25hbF9lbnZfdmFyKHNlbGYpOgorICAgICAgICBwb3J0ID0gc2Vs
Zi5tYWtlX3BvcnQob3B0aW9ucz1vcHRwYXJzZS5WYWx1ZXMoeydhZGRpdGlvbmFsX2Vudl92YXIn
OiBbJ0ZPTz1CQVInLCAnQkFSPUZPTyddfSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9y
dC5nZXRfb3B0aW9uKCdhZGRpdGlvbmFsX2Vudl92YXInKSwgWydGT089QkFSJywgJ0JBUj1GT08n
XSkKKyAgICAgICAgZW52aXJvbm1lbnQgPSBwb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcigp
CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgoJ0ZPTycgaW4gZW52aXJvbm1lbnQpICYgKCdCQVIn
IGluIGVudmlyb25tZW50KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbnZpcm9ubWVudFsn
Rk9PJ10sICdCQVInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVudmlyb25tZW50WydCQVIn
XSwgJ0ZPTycpCisKICAgICBkZWYgdGVzdF91c2VzX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoc2Vs
Zik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydChwb3J0X25hbWU9J2ZvbycpCiAgICAg
ICAgIHBvcnQucG9ydF9uYW1lID0gJ2ZvbycKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHkKaW5kZXggNTRh
ZDMxOTE5NDQ0NTFhMjI5NDEzY2M3MWNkNGRhNGM5OTA0YzIzMy4uMGU1YjcwMWZmM2QyMDRkMDQ0
M2Q5MGQyZWJkMzM0NGEzMTExNWM3MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHkKQEAgLTQzLDEy
ICs0MywxMyBAQCBjbGFzcyBUZXN0V2ViS2l0UG9ydChXZWJLaXRQb3J0KToKICAgICBwb3J0X25h
bWUgPSAidGVzdHdlYmtpdHBvcnQiCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgc3ltYm9sc19z
dHJpbmc9Tm9uZSwKLSAgICAgICAgICAgICAgICAgZXhwZWN0YXRpb25zX2ZpbGU9Tm9uZSwgc2tp
cHNfZmlsZT1Ob25lLCBob3N0PU5vbmUsIGNvbmZpZz1Ob25lLAorICAgICAgICAgICAgICAgICBl
eHBlY3RhdGlvbnNfZmlsZT1Ob25lLCBza2lwc19maWxlPU5vbmUsIGhvc3Q9Tm9uZSwgY29uZmln
PU5vbmUsIG9wdGlvbnM9Tm9uZSwKICAgICAgICAgICAgICAgICAgKiprd2FyZ3MpOgogICAgICAg
ICBzZWxmLnN5bWJvbHNfc3RyaW5nID0gc3ltYm9sc19zdHJpbmcgICMgUGFzc2luZyAiIiBkaXNh
YmxlcyBhbGwgc3RhdGljbHktZGV0ZWN0YWJsZSBmZWF0dXJlcy4KICAgICAgICAgaG9zdCA9IGhv
c3Qgb3IgTW9ja1N5c3RlbUhvc3QoKQogICAgICAgICBjb25maWcgPSBjb25maWcgb3IgTW9ja0Nv
bmZpZygpCi0gICAgICAgIFdlYktpdFBvcnQuX19pbml0X18oc2VsZiwgaG9zdD1ob3N0LCBjb25m
aWc9Y29uZmlnLCAqKmt3YXJncykKKyAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgb3IgTW9ja09w
dGlvbnMoKiprd2FyZ3MpCisgICAgICAgIFdlYktpdFBvcnQuX19pbml0X18oc2VsZiwgaG9zdD1o
b3N0LCBjb25maWc9Y29uZmlnLCBvcHRpb25zPW9wdGlvbnMpCiAKICAgICBkZWYgYWxsX3Rlc3Rf
Y29uZmlndXJhdGlvbnMoc2VsZik6CiAgICAgICAgIHJldHVybiBbc2VsZi50ZXN0X2NvbmZpZ3Vy
YXRpb24oKV0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9ydW5fd2Via2l0X3Rlc3RzLnB5CmluZGV4IDk2MWNiYTg0ODJiNTcxZGY2YWJhZTRhNTM1ZDhi
YzRlN2FmMjEyOWUuLmM0OGZkNzJmOGFiYTUxMjZlNzBhMzRkZDQwYjUwOWI1NjgxYjM3Y2UgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0cy5weQpAQCAtNDIwLDYgKzQyMCw4IEBAIGRlZiBwYXJzZV9hcmdzKGFyZ3M9Tm9u
ZSk6CiAgICAgICAgICAgICBoZWxwPSJEb24ndCByZS10cnkgYW55IHRlc3RzIHRoYXQgcHJvZHVj
ZSB1bmV4cGVjdGVkIHJlc3VsdHMuIiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCIt
LW1heC1sb2NrZWQtc2hhcmRzIiwgdHlwZT0iaW50IiwKICAgICAgICAgICAgIGhlbHA9IlNldCB0
aGUgbWF4aW11bSBudW1iZXIgb2YgbG9ja2VkIHNoYXJkcyIpLAorICAgICAgICBvcHRwYXJzZS5t
YWtlX29wdGlvbigiLS1hZGRpdGlvbmFsLWVudi12YXIiLCB0eXBlPSJzdHJpbmciLCBhY3Rpb249
ImFwcGVuZCIsIGRlZmF1bHQ9W10sCisgICAgICAgICAgICBoZWxwPSJQYXNzZXMgdGhhdCBlbnZp
cm9ubWVudCB2YXJpYWJsZSB0byB0aGUgdGVzdHMgKC0tYWRkaXRpb25hbC1lbnYtdmFyPU5BTUU9
VkFMVUUpIiksCiAgICAgXSkpCiAKICAgICBvcHRpb25fZ3JvdXBfZGVmaW5pdGlvbnMuYXBwZW5k
KCgiTWlzY2VsbGFuZW91cyBPcHRpb25zIiwgWwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl91bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfdW5p
dHRlc3QucHkKaW5kZXggN2ExNDUyNmQxM2UwNzgxMjAzNzk1MTMyYTZhNzA3YmU4MjQyZDA3OC4u
YjM0OTUxZmYyZDg0YTNjNDZmYmY4ZGE4Zjk1NjE5MWQ1YmI1M2NlOCAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl91bml0
dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJz
L2h0dHBfc2VydmVyX3VuaXR0ZXN0LnB5CkBAIC0zNCw3ICszNCw3IEBAIGZyb20gd2Via2l0cHku
Y29tbW9uLmhvc3RfbW9jayBpbXBvcnQgTW9ja0hvc3QKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rl
c3RzLnBvcnQgaW1wb3J0IHRlc3QKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnNlcnZlcnMu
aHR0cF9zZXJ2ZXIgaW1wb3J0IExpZ2h0dHBkCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5z
ZXJ2ZXJzLmh0dHBfc2VydmVyX2Jhc2UgaW1wb3J0IFNlcnZlckVycm9yCi0KK2Zyb20gd2Via2l0
cHkudG9vbC5tb2NrdG9vbCBpbXBvcnQgTW9ja09wdGlvbnMKIAogY2xhc3MgVGVzdEh0dHBTZXJ2
ZXIodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3N0YXJ0X2NtZChzZWxmKToKQEAg
LTQzLDcgKzQzLDggQEAgY2xhc3MgVGVzdEh0dHBTZXJ2ZXIodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKLSAgICAgICAg
dGVzdF9wb3J0ID0gdGVzdC5UZXN0UG9ydChob3N0KQorICAgICAgICBvcHRpb25zID0gTW9ja09w
dGlvbnMoKQorICAgICAgICB0ZXN0X3BvcnQgPSB0ZXN0LlRlc3RQb3J0KGhvc3QsIG9wdGlvbnM9
b3B0aW9ucykKICAgICAgICAgaG9zdC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZSgKICAgICAg
ICAgICAgICIvbW9jay1jaGVja291dC9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9zZXJ2ZXJzL2xpZ2h0dHBkLmNvbmYiLCAiTW9jayBDb25maWdcbiIpCiAgICAgICAgIGhvc3Qu
ZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9j
a3Rvb2wucHkKaW5kZXggYjhmMDk3NmJjOTI5ZWEyOWNkNDI0MzcxN2U5N2I2NTA5ZDBlYmY2Yy4u
OWJmMjM4ZWVjY2YzZGZiNjljODViYmZkOWJhZjcyZWZhYWJmOTc5OSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQpAQCAtNDgsNiArNDgsNyBAQCBjbGFzcyBNb2NrT3B0
aW9ucyhvYmplY3QpOgogICAgICAgICAjIHN1YmNsYXNzIHRoaXMgb3IgcHJvdmlkZXIgd3JhcHBl
ciBmdW5jdGlvbnMgdGhhdCBzZXQgYSBjb21tb24KICAgICAgICAgIyBzZXQgb2Ygb3B0aW9ucy4K
ICAgICAgICAgc2VsZi51cGRhdGUoKiprd2FyZ3MpCisgICAgICAgIHNlbGYuZW5zdXJlX3ZhbHVl
KCdhZGRpdGlvbmFsX2Vudl92YXInLCBbXSkKIAogICAgIGRlZiB1cGRhdGUoc2VsZiwgKiprd2Fy
Z3MpOgogICAgICAgICBzZWxmLl9fZGljdF9fLnVwZGF0ZSgqKmt3YXJncykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153264</attachid>
            <date>2012-07-19 07:54:00 -0700</date>
            <delta_ts>2012-07-19 12:08:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90284-20120719165357.patch</filename>
            <type>text/plain</type>
            <size>4042</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMDkxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWYwYjE0YzJmODhmNjc1MGY1N2MxM2U3OWJhMzQxZTgw
NGI5NDlkNi4uYzhmNzJmNjNkNWJkZWFjNGUxNTk3NzAyZThiMTBiNDE3OGM0OTgxZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDEyLTA3LTE5ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gV2ViS2l0IHRlc3QgcnVubmVyIGlnbm9yZXMgYWxsIHN5
c3RlbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkwMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBpbiB1bml0IHRlc3QgZnJhbWV3b3JrIHRv
IHBhc3MgYSBjdXN0b20gZW52aXJvbm1lbnQKKyAgICAgICAgdmFyaWFibGUgdG8gdGhlIHRlc3Rz
IGJ5IHVzaW5nIHRoZSAtLWFkZGl0aW9uYWwtZW52LXZhciBwYXJhbWV0ZXIuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQ
b3J0LnRvLnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6IEFkZGluZyBlbnZpcm9ubWVudCB2YXJp
YWJsZXMKKyAgICAgICAgdGhhdCBjb21lIHRocm91Z2ggdGhlIGFkZGl0aW9uYWxfZW52X3ZhciBv
cHRpb24uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoUG9ydFRlc3QudGVzdF9hZGRpdGlvbmFsX2Vudl92YXIp
OiBBZGRlZCB1bml0IHRlc3QgZm9yIHRoZQorICAgICAgICBhZGRpdGlvbmFsX2Vudl92YXIgb3B0
aW9uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOiBBZGRlZCB0aGUgLS1hZGRpdGlvbmFsLWVu
di12YXIgcGFyYW1ldGVyLgorCiAyMDEyLTA3LTE5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNh
bmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBFbmFibGUgTUhUTUwgc3VwcG9ydCBi
eSBkZWZhdWx0IGF0IGJ1aWxkIHRpbWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQppbmRleCBjM2U5YmNjMTgxN2YxN2U0ZmQxZmNlOTMyZmZm
M2EyY2NhMTQwYWQ2Li5kNzkxNDMxODlkMDQwYTJmNDM2YTA4OTVkOTIzMTlkOTBlNDY4MmE5IDEw
MDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Uu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5
CkBAIC04MjEsNiArODIxLDExIEBAIGNsYXNzIFBvcnQob2JqZWN0KToKIAogICAgICAgICAjIEZv
ciBMaW51eDoKICAgICAgICAgY2xlYW5fZW52WydESVNQTEFZJ10gPSBzZWxmLl92YWx1ZV9vcl9k
ZWZhdWx0X2Zyb21fZW52aXJvbignRElTUExBWScsICc6MScpCisKKyAgICAgICAgZm9yIHN0cmlu
Z192YXJpYWJsZSBpbiBzZWxmLmdldF9vcHRpb24oJ2FkZGl0aW9uYWxfZW52X3ZhcicsIFtdKToK
KyAgICAgICAgICAgIFtuYW1lLCB2YWx1ZV0gPSBzdHJpbmdfdmFyaWFibGUuc3BsaXQoJz0nLCAx
KQorICAgICAgICAgICAgY2xlYW5fZW52W25hbWVdID0gdmFsdWUKKwogICAgICAgICByZXR1cm4g
Y2xlYW5fZW52CiAKICAgICBkZWYgc2hvd19yZXN1bHRzX2h0bWxfZmlsZShzZWxmLCByZXN1bHRz
X2ZpbGVuYW1lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvYmFzZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weQppbmRleCAxZDM3Njg0MjE1YzU2MjEyZDRkODJi
YzI3YzY0MmM5MGNiNzdlNzdmLi43ZTkyNTliZDNlZWU2ODBhZDRmYjNkMDNkMDFkN2ExYzI0MjBk
ODE3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Jhc2VfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CkBAIC0yODcsNiArMjg3LDE0IEBAIGNsYXNzIFBvcnRU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICcvdG1wL2FkZGl0aW9uYWwtZXhw
ZWN0YXRpb25zLTEudHh0JywgJy90bXAvYWRkaXRpb25hbC1leHBlY3RhdGlvbnMtMi50eHQnXQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnXG4nLmpvaW4ocG9ydC5leHBlY3RhdGlvbnNfZGlj
dCgpLnZhbHVlcygpKSwgJ1xuY29udGVudDFcblxuY29udGVudDJcbicpCiAKKyAgICBkZWYgdGVz
dF9hZGRpdGlvbmFsX2Vudl92YXIoc2VsZik6CisgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9y
dChvcHRpb25zPW9wdHBhcnNlLlZhbHVlcyh7J2FkZGl0aW9uYWxfZW52X3Zhcic6IFsnRk9PPUJB
UicsICdCQVI9Rk9PJ119KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmdldF9vcHRp
b24oJ2FkZGl0aW9uYWxfZW52X3ZhcicpLCBbJ0ZPTz1CQVInLCAnQkFSPUZPTyddKQorICAgICAg
ICBlbnZpcm9ubWVudCA9IHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKCkKKyAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKCgnRk9PJyBpbiBlbnZpcm9ubWVudCkgJiAoJ0JBUicgaW4gZW52aXJv
bm1lbnQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVudmlyb25tZW50WydGT08nXSwgJ0JB
UicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW52aXJvbm1lbnRbJ0JBUiddLCAnRk9PJykK
KwogICAgIGRlZiB0ZXN0X3VzZXNfdGVzdF9leHBlY3RhdGlvbnNfZmlsZShzZWxmKToKICAgICAg
ICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KHBvcnRfbmFtZT0nZm9vJykKICAgICAgICAgcG9ydC5w
b3J0X25hbWUgPSAnZm9vJwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggNjBkYjU4N2UwYjI2ZGE5Y2I3Y2Zl
M2NiNDVlOTM4NTc3ODdmMzBjYi4uZDE1MTY2NjA2MjY5NDQ1NTU0ZmEzZmNkOWVmODBkMjQ4ZjA5
NWFkMiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVu
X3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC00MjUsNiArNDI1LDggQEAgZGVmIHBhcnNlX2FyZ3Mo
YXJncz1Ob25lKToKICAgICAgICAgIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTE1MzkuCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXNoYXJkLXJlZi10
ZXN0cyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCiAgICAgICAgICAgICBoZWxwPSJSdW4gcmVmIHRl
c3RzIGluIGRlZGljYXRlZCBzaGFyZChzKS4gRW5hYmxlZCBvbiBBbmRyb2lkIGJ5IGRlZmF1bHQu
IiksCisgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWFkZGl0aW9uYWwtZW52LXZhciIs
IHR5cGU9InN0cmluZyIsIGFjdGlvbj0iYXBwZW5kIiwgZGVmYXVsdD1bXSwKKyAgICAgICAgICAg
IGhlbHA9IlBhc3NlcyB0aGF0IGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHRoZSB0ZXN0cyAoLS1h
ZGRpdGlvbmFsLWVudi12YXI9TkFNRT1WQUxVRSkiKSwKICAgICBdKSkKIAogICAgIG9wdGlvbl9n
cm91cF9kZWZpbml0aW9ucy5hcHBlbmQoKCJNaXNjZWxsYW5lb3VzIE9wdGlvbnMiLCBbCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>