<?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>54374</bug_id>
          
          <creation_ts>2011-02-13 21:34:56 -0800</creation_ts>
          <short_desc>Add method to make BuildBot return test outputs</short_desc>
          <delta_ts>2011-03-14 21:49:58 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="James Kozianski">koz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>mihaip</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>350521</commentid>
    <comment_count>0</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-13 21:34:56 -0800</bug_when>
    <thetext>Add method to make BuildBot return test outputs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350522</commentid>
    <comment_count>1</comment_count>
      <attachid>82285</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-13 21:35:38 -0800</bug_when>
    <thetext>Created attachment 82285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350528</commentid>
    <comment_count>2</comment_count>
      <attachid>82285</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-13 23:16:28 -0800</bug_when>
    <thetext>Comment on attachment 82285
Patch

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

r- for lack of unittests.

&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:97
&gt; +    def latest_build(self):

Nit: while I can see why this might be a useful method, it&apos;s not actually used in this patch or described in the ChangeLog description. A one-liner in the ChangeLog description of what this is to be used for would be good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350551</commentid>
    <comment_count>3</comment_count>
      <attachid>82285</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-14 00:26:05 -0800</bug_when>
    <thetext>Comment on attachment 82285
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:97
&gt;&gt; +    def latest_build(self):
&gt; 
&gt; Nit: while I can see why this might be a useful method, it&apos;s not actually used in this patch or described in the ChangeLog description. A one-liner in the ChangeLog description of what this is to be used for would be good.

The danger with this method is you don&apos;t know if it&apos;s cached or not. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351030</commentid>
    <comment_count>4</comment_count>
      <attachid>82285</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-14 18:02:49 -0800</bug_when>
    <thetext>Comment on attachment 82285
Patch

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

&gt;&gt;&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:97
&gt;&gt;&gt; +    def latest_build(self):
&gt;&gt; 
&gt;&gt; Nit: while I can see why this might be a useful method, it&apos;s not actually used in this patch or described in the ChangeLog description. A one-liner in the ChangeLog description of what this is to be used for would be good.
&gt; 
&gt; The danger with this method is you don&apos;t know if it&apos;s cached or not. :)

I don&apos;t understand. You&apos;re saying it might be slow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351032</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-02-14 18:04:20 -0800</bug_when>
    <thetext>No, that the data might stale and hence you&apos;d think you had the latest build available but you&apos;d be wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351033</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-02-14 18:04:43 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; No, that the data might stale and hence you&apos;d think you had the latest build available but you&apos;d be wrong.

er, &quot;the data might be stale&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351053</commentid>
    <comment_count>7</comment_count>
      <attachid>82285</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-14 19:09:27 -0800</bug_when>
    <thetext>Comment on attachment 82285
Patch

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

&gt;&gt;&gt;&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:97
&gt;&gt;&gt;&gt; +    def latest_build(self):
&gt;&gt;&gt; 
&gt;&gt;&gt; Nit: while I can see why this might be a useful method, it&apos;s not actually used in this patch or described in the ChangeLog description. A one-liner in the ChangeLog description of what this is to be used for would be good.
&gt;&gt; 
&gt;&gt; The danger with this method is you don&apos;t know if it&apos;s cached or not. :)
&gt; 
&gt; I don&apos;t understand. You&apos;re saying it might be slow?

So, what&apos;s the right way to grab the latest build then? Should this not use revision_build_pairs_with_results()? Should this method just be called latest_cached_build? Should builder have an update_cached_builds method?

Seems to me like just calling it latest_cached_build is probably sufficient for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351056</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-14 19:12:55 -0800</bug_when>
    <thetext>if you look around the pyhon, you will find other places where we talk about how it might be nice to have a latest_build method.  I&apos;m not sure what we do in all those cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356665</commentid>
    <comment_count>9</comment_count>
      <attachid>83603</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-23 21:34:09 -0800</bug_when>
    <thetext>Created attachment 83603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356666</commentid>
    <comment_count>10</comment_count>
      <attachid>83604</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-23 21:39:30 -0800</bug_when>
    <thetext>Created attachment 83604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356668</commentid>
    <comment_count>11</comment_count>
      <attachid>83604</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-23 21:50:03 -0800</bug_when>
    <thetext>Comment on attachment 83604
Patch

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

&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:237
&gt; +    def results_zip_url(self):
&gt; +        return &quot;%s.zip&quot; % self.results_url()
&gt; +
&gt; +    def results(self):
&gt; +        return TestOutputSet(self._builder.name(), None, ZipFileSet(self.results_zip_url()), include_expected=False)
&gt; +

I know this is a bit inane, but can you write tests for these too. They don&apos;t need to actually verify the output. It just ensures that they run without errors.

results_zip_url can just verify that it gets the right string back and TestOutputSet can just verify that it gets a non-None value back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356669</commentid>
    <comment_count>12</comment_count>
      <attachid>83604</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-23 21:55:12 -0800</bug_when>
    <thetext>Comment on attachment 83604
Patch

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

&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:98
&gt; +        revision_build_pairs = self.revision_build_pairs_with_results()

I don&apos;t remember.  Isn&apos;t this very expensive to compute?

&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:232
&gt; +    def results_zip_url(self):

Please test this.

&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:418
&gt; +        class MockBuilder(Builder):

No need to make this local to the test.  These are very often shared between more than one test.

&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:420
&gt; +                Builder.__init__(self, &apos;mock builder&apos;, BuildBot())

Mocks shouldn&apos;t inherit from real objets.  If you want to test hte real object, just mock out the methods.

&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:422
&gt; +            def _fetch_build(self, build_number):

I would have probably just replaced the methods on a real object.

&gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:425
&gt; +                else:

No else after return in WEbKIt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363187</commentid>
    <comment_count>13</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-06 19:48:25 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 83604 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=83604&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:237
&gt; &gt; +    def results_zip_url(self):
&gt; &gt; +        return &quot;%s.zip&quot; % self.results_url()
&gt; &gt; +
&gt; &gt; +    def results(self):
&gt; &gt; +        return TestOutputSet(self._builder.name(), None, ZipFileSet(self.results_zip_url()), include_expected=False)
&gt; &gt; +
&gt; 
&gt; I know this is a bit inane, but can you write tests for these too. They don&apos;t need to actually verify the output. It just ensures that they run without errors.
&gt; 
&gt; results_zip_url can just verify that it gets the right string back and TestOutputSet can just verify that it gets a non-None value back.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363191</commentid>
    <comment_count>14</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-06 19:50:58 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 83604 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=83604&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:98
&gt; &gt; +        revision_build_pairs = self.revision_build_pairs_with_results()
&gt; 
&gt; I don&apos;t remember.  Isn&apos;t this very expensive to compute?

_fetch_revision_to_build_map() is expensive, but its result is cached, and that&apos;s what revision_build_pairs_with_results() uses.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:232
&gt; &gt; +    def results_zip_url(self):
&gt; 
&gt; Please test this.

Done.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:418
&gt; &gt; +        class MockBuilder(Builder):
&gt; 
&gt; No need to make this local to the test.  These are very often shared between more than one test.

I&apos;ve removed this class.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:420
&gt; &gt; +                Builder.__init__(self, &apos;mock builder&apos;, BuildBot())
&gt; 
&gt; Mocks shouldn&apos;t inherit from real objets.  If you want to test hte real object, just mock out the methods.

Done.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:422
&gt; &gt; +            def _fetch_build(self, build_number):
&gt; 
&gt; I would have probably just replaced the methods on a real object.

Done.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:425
&gt; &gt; +                else:
&gt; 
&gt; No else after return in WEbKIt.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363193</commentid>
    <comment_count>15</comment_count>
      <attachid>84913</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-06 19:57:34 -0800</bug_when>
    <thetext>Created attachment 84913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367501</commentid>
    <comment_count>16</comment_count>
      <attachid>84913</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-14 21:49:53 -0700</bug_when>
    <thetext>Comment on attachment 84913
Patch

Clearing flags on attachment: 84913

Committed r81106: &lt;http://trac.webkit.org/changeset/81106&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367502</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-14 21:49:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82285</attachid>
            <date>2011-02-13 21:35:38 -0800</date>
            <delta_ts>2011-02-23 21:34:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54374-20110214163536.patch</filename>
            <type>text/plain</type>
            <size>2637</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg0NTQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0ZTU5ZGFlYzQ5MDAwYTgyNDg2MmYzMjViNWVmNzhiZWUw
NDllMDY0Li5mYTg0YjcyZjM0YTYzMTQwYTA0MDA2MWM1MDI4YTAyN2I3MTVhNjhlIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTEtMDItMTMgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1ldGhvZCB0
byBtYWtlIEJ1aWxkQm90IHJldHVybiB0ZXN0IG91dHB1dHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0Mzc0CisKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3QucHk6CisKIDIwMTEtMDItMTIgIENo
YW5nIFNodSAgPGNzaHVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90
LnB5CmluZGV4IDc2Y2QzMWQ2M2VkOGQ4YTBhMmZhM2NiOTk2OThhNmI4ZTM0Yjg4ZjUuLmM3ZWE0
MTUzN2I0Nzk1YjZkOTIxZWNkYzE4MTcwNzFhOWQyYjAyODggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJvdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3QucHkKQEAgLTQy
LDkgKzQyLDExIEBAIGltcG9ydCB1cmxsaWIyCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuZmFp
bHVyZW1hcCBpbXBvcnQgRmFpbHVyZU1hcAogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmxheW91
dHRlc3RyZXN1bHRzIGltcG9ydCBMYXlvdXRUZXN0UmVzdWx0cwogZnJvbSB3ZWJraXRweS5jb21t
b24ubmV0LnJlZ3Jlc3Npb253aW5kb3cgaW1wb3J0IFJlZ3Jlc3Npb25XaW5kb3cKK2Zyb20gd2Vi
a2l0cHkuY29tbW9uLm5ldC50ZXN0b3V0cHV0c2V0IGltcG9ydCBUZXN0T3V0cHV0U2V0CiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ubG9ndXRpbHMgaW1wb3J0IGdldF9sb2dnZXIKLWZyb20g
d2Via2l0cHkudGhpcmRwYXJ0eS5hdXRvaW5zdGFsbGVkLm1lY2hhbml6ZSBpbXBvcnQgQnJvd3Nl
cgorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnppcGZpbGVzZXQgaW1wb3J0IFppcEZpbGVT
ZXQKIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1dGlm
dWxTb3VwCitmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2luc3RhbGxlZC5tZWNoYW5pemUg
aW1wb3J0IEJyb3dzZXIKIAogX2xvZyA9IGdldF9sb2dnZXIoX19maWxlX18pCiAKQEAgLTkyLDYg
Kzk0LDEyIEBAIGNsYXNzIEJ1aWxkZXIob2JqZWN0KToKICAgICAgICAgc2VsZi5fYnVpbGRzX2Nh
Y2hlW2J1aWxkX251bWJlcl0gPSBidWlsZAogICAgICAgICByZXR1cm4gYnVpbGQKIAorICAgIGRl
ZiBsYXRlc3RfYnVpbGQoc2VsZik6CisgICAgICAgIHJldmlzaW9uX2J1aWxkX3BhaXJzID0gc2Vs
Zi5yZXZpc2lvbl9idWlsZF9wYWlyc193aXRoX3Jlc3VsdHMoKQorICAgICAgICByZXZpc2lvbl9i
dWlsZF9wYWlycy5zb3J0KGtleT1sYW1iZGEgaTogaVsxXSkKKyAgICAgICAgbGF0ZXN0X2J1aWxk
X251bWJlciA9IHJldmlzaW9uX2J1aWxkX3BhaXJzWy0xXVsxXQorICAgICAgICByZXR1cm4gc2Vs
Zi5idWlsZChsYXRlc3RfYnVpbGRfbnVtYmVyKQorCiAgICAgZGVmIGZvcmNlX2J1aWxkKHNlbGYs
IHVzZXJuYW1lPSJ3ZWJraXQtcGF0Y2giLCBjb21tZW50cz1Ob25lKToKICAgICAgICAgZGVmIHBy
ZWRpY2F0ZShmb3JtKToKICAgICAgICAgICAgIHRyeToKQEAgLTIyMSw2ICsyMjksMTIgQEAgY2xh
c3MgQnVpbGQob2JqZWN0KToKICAgICAgICAgcmVzdWx0c19kaXJlY3RvcnkgPSAiciVzICglcyki
ICUgKHNlbGYucmV2aXNpb24oKSwgc2VsZi5fbnVtYmVyKQogICAgICAgICByZXR1cm4gIiVzLyVz
IiAlIChzZWxmLl9idWlsZGVyLnJlc3VsdHNfdXJsKCksIHVybGxpYi5xdW90ZShyZXN1bHRzX2Rp
cmVjdG9yeSkpCiAKKyAgICBkZWYgcmVzdWx0c196aXBfdXJsKHNlbGYpOgorICAgICAgICByZXR1
cm4gIiVzLnppcCIgJSBzZWxmLnJlc3VsdHNfdXJsKCkKKworICAgIGRlZiByZXN1bHRzKHNlbGYp
OgorICAgICAgICByZXR1cm4gVGVzdE91dHB1dFNldChzZWxmLl9idWlsZGVyLm5hbWUoKSwgTm9u
ZSwgWmlwRmlsZVNldChzZWxmLnJlc3VsdHNfemlwX3VybCgpKSwgaW5jbHVkZV9leHBlY3RlZD1G
YWxzZSkKKwogICAgIGRlZiBfZmV0Y2hfcmVzdWx0c19odG1sKHNlbGYpOgogICAgICAgICByZXN1
bHRzX2h0bWwgPSAiJXMvcmVzdWx0cy5odG1sIiAlIChzZWxmLnJlc3VsdHNfdXJsKCkpCiAgICAg
ICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBOZXR3b3JrVHJhbnNhY3Rpb24ncyA0MDQgaGFu
ZGxpbmcgaW5zdGVhZC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83603</attachid>
            <date>2011-02-23 21:34:09 -0800</date>
            <delta_ts>2011-02-23 21:39:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54374-20110224163407.patch</filename>
            <type>text/plain</type>
            <size>3984</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk0NTEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyM2VjNWEyMzU4ZDQ5NWI3YTUyZjgyZmY2YzQ4M2MwZWRj
MmZlNzRlLi4zYjFmMDUwM2RmODY4NTQ2Njk5NGQ1YmIxYTExMWI3N2RhZTg4NWZkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDItMjMgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1ldGhvZCB0
byBtYWtlIEJ1aWxkQm90IHJldHVybiB0ZXN0IG91dHB1dHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0Mzc0CisKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3QucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90X3VuaXR0ZXN0LnB5OgorCiAy
MDExLTAyLTIzICBTaWRkaGFydGggTWF0aHVyICA8c2lkZGhhcnRoLm1hdGh1ckBub2tpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJvdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJvdC5weQppbmRleCAz
ZWM5YjZhNzc3MDE0OGE3YTY1NDE0NjQ1NGIyYTBhNWE5ZDVmNGEwLi4xOTkyOTUzYTNjZTg3MjZk
NzI4MWE0OTNhYjg5YjBhYTkzYzdkZGI5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90LnB5CkBAIC00Miw5ICs0MiwxMSBA
QCBpbXBvcnQgdXJsbGliMgogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmZhaWx1cmVtYXAgaW1w
b3J0IEZhaWx1cmVNYXAKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5sYXlvdXR0ZXN0cmVzdWx0
cyBpbXBvcnQgTGF5b3V0VGVzdFJlc3VsdHMKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5yZWdy
ZXNzaW9ud2luZG93IGltcG9ydCBSZWdyZXNzaW9uV2luZG93Citmcm9tIHdlYmtpdHB5LmNvbW1v
bi5uZXQudGVzdG91dHB1dHNldCBpbXBvcnQgVGVzdE91dHB1dFNldAogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtLmxvZ3V0aWxzIGltcG9ydCBnZXRfbG9nZ2VyCi1mcm9tIHdlYmtpdHB5LnRo
aXJkcGFydHkuYXV0b2luc3RhbGxlZC5tZWNoYW5pemUgaW1wb3J0IEJyb3dzZXIKK2Zyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS56aXBmaWxlc2V0IGltcG9ydCBaaXBGaWxlU2V0CiBmcm9tIHdl
YmtpdHB5LnRoaXJkcGFydHkuQmVhdXRpZnVsU291cCBpbXBvcnQgQmVhdXRpZnVsU291cAorZnJv
bSB3ZWJraXRweS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQubWVjaGFuaXplIGltcG9ydCBCcm93
c2VyCiAKIF9sb2cgPSBnZXRfbG9nZ2VyKF9fZmlsZV9fKQogCkBAIC05Miw2ICs5NCwxMiBAQCBj
bGFzcyBCdWlsZGVyKG9iamVjdCk6CiAgICAgICAgIHNlbGYuX2J1aWxkc19jYWNoZVtidWlsZF9u
dW1iZXJdID0gYnVpbGQKICAgICAgICAgcmV0dXJuIGJ1aWxkCiAKKyAgICBkZWYgbGF0ZXN0X2Nh
Y2hlZF9idWlsZChzZWxmKToKKyAgICAgICAgcmV2aXNpb25fYnVpbGRfcGFpcnMgPSBzZWxmLnJl
dmlzaW9uX2J1aWxkX3BhaXJzX3dpdGhfcmVzdWx0cygpCisgICAgICAgIHJldmlzaW9uX2J1aWxk
X3BhaXJzLnNvcnQoa2V5PWxhbWJkYSBpOiBpWzFdKQorICAgICAgICBsYXRlc3RfYnVpbGRfbnVt
YmVyID0gcmV2aXNpb25fYnVpbGRfcGFpcnNbLTFdWzFdCisgICAgICAgIHJldHVybiBzZWxmLmJ1
aWxkKGxhdGVzdF9idWlsZF9udW1iZXIpCisKICAgICBkZWYgZm9yY2VfYnVpbGQoc2VsZiwgdXNl
cm5hbWU9IndlYmtpdC1wYXRjaCIsIGNvbW1lbnRzPU5vbmUpOgogICAgICAgICBkZWYgcHJlZGlj
YXRlKGZvcm0pOgogICAgICAgICAgICAgdHJ5OgpAQCAtMjIxLDYgKzIyOSwxMiBAQCBjbGFzcyBC
dWlsZChvYmplY3QpOgogICAgICAgICByZXN1bHRzX2RpcmVjdG9yeSA9ICJyJXMgKCVzKSIgJSAo
c2VsZi5yZXZpc2lvbigpLCBzZWxmLl9udW1iZXIpCiAgICAgICAgIHJldHVybiAiJXMvJXMiICUg
KHNlbGYuX2J1aWxkZXIucmVzdWx0c191cmwoKSwgdXJsbGliLnF1b3RlKHJlc3VsdHNfZGlyZWN0
b3J5KSkKIAorICAgIGRlZiByZXN1bHRzX3ppcF91cmwoc2VsZik6CisgICAgICAgIHJldHVybiAi
JXMuemlwIiAlIHNlbGYucmVzdWx0c191cmwoKQorCisgICAgZGVmIHJlc3VsdHMoc2VsZik6Cisg
ICAgICAgIHJldHVybiBUZXN0T3V0cHV0U2V0KHNlbGYuX2J1aWxkZXIubmFtZSgpLCBOb25lLCBa
aXBGaWxlU2V0KHNlbGYucmVzdWx0c196aXBfdXJsKCkpLCBpbmNsdWRlX2V4cGVjdGVkPUZhbHNl
KQorCiAgICAgZGVmIF9mZXRjaF9yZXN1bHRzX2h0bWwoc2VsZik6CiAgICAgICAgIHJlc3VsdHNf
aHRtbCA9ICIlcy9yZXN1bHRzLmh0bWwiICUgKHNlbGYucmVzdWx0c191cmwoKSkKICAgICAgICAg
IyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIE5ldHdvcmtUcmFuc2FjdGlvbidzIDQwNCBoYW5kbGlu
ZyBpbnN0ZWFkLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0
L2J1aWxkYm90L2J1aWxkYm90X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90X3VuaXR0ZXN0LnB5CmluZGV4IDcyODNhYTRhZWFh
ODkwOTA5MWYyYzZjYTIzZTVkZTIyZTZmY2VlNDYuLmY5M2Y4OTllMjIzYmExNmU5Y2NiNWRlODRj
ZmRiZjI1ZjJjN2NiYWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L25ldC9idWlsZGJvdC9idWlsZGJvdF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3RfdW5pdHRlc3QucHkKQEAgLTQxNCw2
ICs0MTQsMjMgQEAgY2xhc3MgQnVpbGRCb3RUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgYnVpbGRib3QuX2xhdGVzdF9idWlsZHNfZnJvbV9idWlsZGVycyA9IG1vY2tfYnVpbGRzX2Zy
b21fYnVpbGRlcnMKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWlsZGJvdC5sYXN0X2dyZWVu
X3JldmlzaW9uKCksIDEpCiAKKyAgICBkZWYgdGVzdF9sYXRlc3RfY2FjaGVkX2J1aWxkKHNlbGYp
OgorICAgICAgICBjbGFzcyBNb2NrQnVpbGRlcihCdWlsZGVyKToKKyAgICAgICAgICAgIGRlZiBf
X2luaXRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICBCdWlsZGVyLl9faW5pdF9fKHNlbGYsICdt
b2NrIGJ1aWxkZXInLCBCdWlsZEJvdCgpKQorCisgICAgICAgICAgICBkZWYgX2ZldGNoX2J1aWxk
KHNlbGYsIGJ1aWxkX251bWJlcik6CisgICAgICAgICAgICAgICAgaWYgYnVpbGRfbnVtYmVyID09
IDU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAiY29ycmVjdCBidWlsZCIKKyAgICAgICAg
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gIndyb25nIGJ1aWxkIgor
CisgICAgICAgICAgICBkZWYgX2ZldGNoX3JldmlzaW9uX3RvX2J1aWxkX21hcChzZWxmKToKKyAg
ICAgICAgICAgICAgICByZXR1cm4geydyNSc6IDUsICdyMic6IDIsICdyMyc6IDN9CisKKyAgICAg
ICAgbW9ja19idWlsZGVyID0gTW9ja0J1aWxkZXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cygiY29ycmVjdCBidWlsZCIsIG1vY2tfYnVpbGRlci5sYXRlc3RfY2FjaGVkX2J1aWxkKCkpCisK
IAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83604</attachid>
            <date>2011-02-23 21:39:30 -0800</date>
            <delta_ts>2011-03-06 19:57:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54374-20110224163928.patch</filename>
            <type>text/plain</type>
            <size>4124</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk0NTEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyM2VjNWEyMzU4ZDQ5NWI3YTUyZjgyZmY2YzQ4M2MwZWRj
MmZlNzRlLi4zMjJmMGIxNTM4YzJhMmVkNjRmYTNjMDM0ZWMxY2EyOTBiOTFiZTdkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDItMjMgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1ldGhvZCB0
byBtYWtlIEJ1aWxkQm90IHJldHVybiB0ZXN0IG91dHB1dHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0Mzc0CisKKyAgICAgICAgVGhlIEJ1aWxkZXIu
bGF0ZXN0X2NhY2hlZF9idWlsZCB3aWxsIGJlIHVzZWQgYnkgdGhlIG5ldyByZWJhc2VsaW5lCisg
ICAgICAgIHNjcmlwdCB0byBkZXRlcm1pbmUgdGhlIGJ1aWxkIHRvIHVzZSBiYXNlbGluZXMgZnJv
bS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWls
ZGJvdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3Qv
YnVpbGRib3RfdW5pdHRlc3QucHk6CisKIDIwMTEtMDItMjMgIFNpZGRoYXJ0aCBNYXRodXIgIDxz
aWRkaGFydGgubWF0aHVyQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8g
R29tYm9zLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1
aWxkYm90L2J1aWxkYm90LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1
aWxkYm90L2J1aWxkYm90LnB5CmluZGV4IDNlYzliNmE3NzcwMTQ4YTdhNjU0MTQ2NDU0YjJhMGE1
YTlkNWY0YTAuLjE5OTI5NTNhM2NlODcyNmQ3MjgxYTQ5M2FiODliMGFhOTNjN2RkYjkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJv
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVp
bGRib3QucHkKQEAgLTQyLDkgKzQyLDExIEBAIGltcG9ydCB1cmxsaWIyCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5uZXQuZmFpbHVyZW1hcCBpbXBvcnQgRmFpbHVyZU1hcAogZnJvbSB3ZWJraXRweS5j
b21tb24ubmV0LmxheW91dHRlc3RyZXN1bHRzIGltcG9ydCBMYXlvdXRUZXN0UmVzdWx0cwogZnJv
bSB3ZWJraXRweS5jb21tb24ubmV0LnJlZ3Jlc3Npb253aW5kb3cgaW1wb3J0IFJlZ3Jlc3Npb25X
aW5kb3cKK2Zyb20gd2Via2l0cHkuY29tbW9uLm5ldC50ZXN0b3V0cHV0c2V0IGltcG9ydCBUZXN0
T3V0cHV0U2V0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ubG9ndXRpbHMgaW1wb3J0IGdl
dF9sb2dnZXIKLWZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5hdXRvaW5zdGFsbGVkLm1lY2hhbml6
ZSBpbXBvcnQgQnJvd3NlcgorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnppcGZpbGVzZXQg
aW1wb3J0IFppcEZpbGVTZXQKIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5CZWF1dGlmdWxTb3Vw
IGltcG9ydCBCZWF1dGlmdWxTb3VwCitmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2luc3Rh
bGxlZC5tZWNoYW5pemUgaW1wb3J0IEJyb3dzZXIKIAogX2xvZyA9IGdldF9sb2dnZXIoX19maWxl
X18pCiAKQEAgLTkyLDYgKzk0LDEyIEBAIGNsYXNzIEJ1aWxkZXIob2JqZWN0KToKICAgICAgICAg
c2VsZi5fYnVpbGRzX2NhY2hlW2J1aWxkX251bWJlcl0gPSBidWlsZAogICAgICAgICByZXR1cm4g
YnVpbGQKIAorICAgIGRlZiBsYXRlc3RfY2FjaGVkX2J1aWxkKHNlbGYpOgorICAgICAgICByZXZp
c2lvbl9idWlsZF9wYWlycyA9IHNlbGYucmV2aXNpb25fYnVpbGRfcGFpcnNfd2l0aF9yZXN1bHRz
KCkKKyAgICAgICAgcmV2aXNpb25fYnVpbGRfcGFpcnMuc29ydChrZXk9bGFtYmRhIGk6IGlbMV0p
CisgICAgICAgIGxhdGVzdF9idWlsZF9udW1iZXIgPSByZXZpc2lvbl9idWlsZF9wYWlyc1stMV1b
MV0KKyAgICAgICAgcmV0dXJuIHNlbGYuYnVpbGQobGF0ZXN0X2J1aWxkX251bWJlcikKKwogICAg
IGRlZiBmb3JjZV9idWlsZChzZWxmLCB1c2VybmFtZT0id2Via2l0LXBhdGNoIiwgY29tbWVudHM9
Tm9uZSk6CiAgICAgICAgIGRlZiBwcmVkaWNhdGUoZm9ybSk6CiAgICAgICAgICAgICB0cnk6CkBA
IC0yMjEsNiArMjI5LDEyIEBAIGNsYXNzIEJ1aWxkKG9iamVjdCk6CiAgICAgICAgIHJlc3VsdHNf
ZGlyZWN0b3J5ID0gInIlcyAoJXMpIiAlIChzZWxmLnJldmlzaW9uKCksIHNlbGYuX251bWJlcikK
ICAgICAgICAgcmV0dXJuICIlcy8lcyIgJSAoc2VsZi5fYnVpbGRlci5yZXN1bHRzX3VybCgpLCB1
cmxsaWIucXVvdGUocmVzdWx0c19kaXJlY3RvcnkpKQogCisgICAgZGVmIHJlc3VsdHNfemlwX3Vy
bChzZWxmKToKKyAgICAgICAgcmV0dXJuICIlcy56aXAiICUgc2VsZi5yZXN1bHRzX3VybCgpCisK
KyAgICBkZWYgcmVzdWx0cyhzZWxmKToKKyAgICAgICAgcmV0dXJuIFRlc3RPdXRwdXRTZXQoc2Vs
Zi5fYnVpbGRlci5uYW1lKCksIE5vbmUsIFppcEZpbGVTZXQoc2VsZi5yZXN1bHRzX3ppcF91cmwo
KSksIGluY2x1ZGVfZXhwZWN0ZWQ9RmFsc2UpCisKICAgICBkZWYgX2ZldGNoX3Jlc3VsdHNfaHRt
bChzZWxmKToKICAgICAgICAgcmVzdWx0c19odG1sID0gIiVzL3Jlc3VsdHMuaHRtbCIgJSAoc2Vs
Zi5yZXN1bHRzX3VybCgpKQogICAgICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgTmV0d29y
a1RyYW5zYWN0aW9uJ3MgNDA0IGhhbmRsaW5nIGluc3RlYWQuCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3RfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3RfdW5p
dHRlc3QucHkKaW5kZXggNzI4M2FhNGFlYWE4OTA5MDkxZjJjNmNhMjNlNWRlMjJlNmZjZWU0Ni4u
ZjkzZjg5OWUyMjNiYTE2ZTljY2I1ZGU4NGNmZGJmMjVmMmM3Y2JhZiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90X3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWls
ZGJvdF91bml0dGVzdC5weQpAQCAtNDE0LDYgKzQxNCwyMyBAQCBjbGFzcyBCdWlsZEJvdFRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBidWlsZGJvdC5fbGF0ZXN0X2J1aWxkc19mcm9t
X2J1aWxkZXJzID0gbW9ja19idWlsZHNfZnJvbV9idWlsZGVycwogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGJ1aWxkYm90Lmxhc3RfZ3JlZW5fcmV2aXNpb24oKSwgMSkKIAorICAgIGRlZiB0ZXN0
X2xhdGVzdF9jYWNoZWRfYnVpbGQoc2VsZik6CisgICAgICAgIGNsYXNzIE1vY2tCdWlsZGVyKEJ1
aWxkZXIpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgICAg
IEJ1aWxkZXIuX19pbml0X18oc2VsZiwgJ21vY2sgYnVpbGRlcicsIEJ1aWxkQm90KCkpCisKKyAg
ICAgICAgICAgIGRlZiBfZmV0Y2hfYnVpbGQoc2VsZiwgYnVpbGRfbnVtYmVyKToKKyAgICAgICAg
ICAgICAgICBpZiBidWlsZF9udW1iZXIgPT0gNToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
ICJjb3JyZWN0IGJ1aWxkIgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiAid3JvbmcgYnVpbGQiCisKKyAgICAgICAgICAgIGRlZiBfZmV0Y2hfcmV2aXNp
b25fdG9fYnVpbGRfbWFwKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiB7J3I1JzogNSwg
J3IyJzogMiwgJ3IzJzogM30KKworICAgICAgICBtb2NrX2J1aWxkZXIgPSBNb2NrQnVpbGRlcigp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCJjb3JyZWN0IGJ1aWxkIiwgbW9ja19idWlsZGVy
LmxhdGVzdF9jYWNoZWRfYnVpbGQoKSkKKwogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgog
ICAgIHVuaXR0ZXN0Lm1haW4oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84913</attachid>
            <date>2011-03-06 19:57:34 -0800</date>
            <delta_ts>2011-03-14 21:49:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54374-20110307145732.patch</filename>
            <type>text/plain</type>
            <size>4421</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA0MjcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyOTQ0Nzg4MTk4NWZjNmVmY2JiZDU5MWJhZDgxZTFkYjg0
NTIwZjFjLi44YmM4YTY1ODU4M2UwMzcyMzcxNjVjODk2NzA1OTc3NDY2ZTEzM2NmIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDMtMDUgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1ldGhvZCB0
byBtYWtlIEJ1aWxkQm90IHJldHVybiB0ZXN0IG91dHB1dHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0Mzc0CisKKyAgICAgICAgVGhlIEJ1aWxkZXIu
bGF0ZXN0X2NhY2hlZF9idWlsZCB3aWxsIGJlIHVzZWQgYnkgdGhlIG5ldyByZWJhc2VsaW5lCisg
ICAgICAgIHNjcmlwdCB0byBkZXRlcm1pbmUgdGhlIGJ1aWxkIHRvIHVzZSBiYXNlbGluZXMgZnJv
bS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWls
ZGJvdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3Qv
YnVpbGRib3RfdW5pdHRlc3QucHk6CisKIDIwMTEtMDMtMDUgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3
ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVp
bGRib3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVp
bGRib3QucHkKaW5kZXggOWRkMTY1YzRjN2MwZmY0ZDVhYTE5OWY0Zjk1OTE2NWQ1NWYzNWYxZS4u
MmMxNWRlMjNlZjY1ZTlhYmQ0MDlkYWI4Yzc5OWI5YTM2M2FhYTg3NSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJvdC5weQpA
QCAtNDIsOSArNDIsMTEgQEAgaW1wb3J0IHVybGxpYjIKIGZyb20gd2Via2l0cHkuY29tbW9uLm5l
dC5mYWlsdXJlbWFwIGltcG9ydCBGYWlsdXJlTWFwCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQu
bGF5b3V0dGVzdHJlc3VsdHMgaW1wb3J0IExheW91dFRlc3RSZXN1bHRzCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5uZXQucmVncmVzc2lvbndpbmRvdyBpbXBvcnQgUmVncmVzc2lvbldpbmRvdworZnJv
bSB3ZWJraXRweS5jb21tb24ubmV0LnRlc3RvdXRwdXRzZXQgaW1wb3J0IFRlc3RPdXRwdXRTZXQK
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5sb2d1dGlscyBpbXBvcnQgZ2V0X2xvZ2dlcgot
ZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQubWVjaGFuaXplIGltcG9ydCBC
cm93c2VyCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uemlwZmlsZXNldCBpbXBvcnQgWmlw
RmlsZVNldAogZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5LkJlYXV0aWZ1bFNvdXAgaW1wb3J0IEJl
YXV0aWZ1bFNvdXAKK2Zyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5hdXRvaW5zdGFsbGVkLm1lY2hh
bml6ZSBpbXBvcnQgQnJvd3NlcgogCiBfbG9nID0gZ2V0X2xvZ2dlcihfX2ZpbGVfXykKIApAQCAt
OTIsNiArOTQsMTIgQEAgY2xhc3MgQnVpbGRlcihvYmplY3QpOgogICAgICAgICBzZWxmLl9idWls
ZHNfY2FjaGVbYnVpbGRfbnVtYmVyXSA9IGJ1aWxkCiAgICAgICAgIHJldHVybiBidWlsZAogCisg
ICAgZGVmIGxhdGVzdF9jYWNoZWRfYnVpbGQoc2VsZik6CisgICAgICAgIHJldmlzaW9uX2J1aWxk
X3BhaXJzID0gc2VsZi5yZXZpc2lvbl9idWlsZF9wYWlyc193aXRoX3Jlc3VsdHMoKQorICAgICAg
ICByZXZpc2lvbl9idWlsZF9wYWlycy5zb3J0KGtleT1sYW1iZGEgaTogaVsxXSkKKyAgICAgICAg
bGF0ZXN0X2J1aWxkX251bWJlciA9IHJldmlzaW9uX2J1aWxkX3BhaXJzWy0xXVsxXQorICAgICAg
ICByZXR1cm4gc2VsZi5idWlsZChsYXRlc3RfYnVpbGRfbnVtYmVyKQorCiAgICAgZGVmIGZvcmNl
X2J1aWxkKHNlbGYsIHVzZXJuYW1lPSJ3ZWJraXQtcGF0Y2giLCBjb21tZW50cz1Ob25lKToKICAg
ICAgICAgZGVmIHByZWRpY2F0ZShmb3JtKToKICAgICAgICAgICAgIHRyeToKQEAgLTIyMSw2ICsy
MjksMTIgQEAgY2xhc3MgQnVpbGQob2JqZWN0KToKICAgICAgICAgcmVzdWx0c19kaXJlY3Rvcnkg
PSAiciVzICglcykiICUgKHNlbGYucmV2aXNpb24oKSwgc2VsZi5fbnVtYmVyKQogICAgICAgICBy
ZXR1cm4gIiVzLyVzIiAlIChzZWxmLl9idWlsZGVyLnJlc3VsdHNfdXJsKCksIHVybGxpYi5xdW90
ZShyZXN1bHRzX2RpcmVjdG9yeSkpCiAKKyAgICBkZWYgcmVzdWx0c196aXBfdXJsKHNlbGYpOgor
ICAgICAgICByZXR1cm4gIiVzLnppcCIgJSBzZWxmLnJlc3VsdHNfdXJsKCkKKworICAgIGRlZiBy
ZXN1bHRzKHNlbGYpOgorICAgICAgICByZXR1cm4gVGVzdE91dHB1dFNldChzZWxmLl9idWlsZGVy
Lm5hbWUoKSwgTm9uZSwgWmlwRmlsZVNldChzZWxmLnJlc3VsdHNfemlwX3VybCgpKSwgaW5jbHVk
ZV9leHBlY3RlZD1GYWxzZSkKKwogICAgIGRlZiBfZmV0Y2hfcmVzdWx0c19odG1sKHNlbGYpOgog
ICAgICAgICByZXN1bHRzX2h0bWwgPSAiJXMvcmVzdWx0cy5odG1sIiAlIChzZWxmLnJlc3VsdHNf
dXJsKCkpCiAgICAgICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBOZXR3b3JrVHJhbnNhY3Rp
b24ncyA0MDQgaGFuZGxpbmcgaW5zdGVhZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJvdF91bml0dGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWlsZGJvdC9idWlsZGJvdF91bml0dGVzdC5weQpp
bmRleCA2YWRkYjU2NmY2NjlmYmVmZjczMDQ4ZTY5ZWVlZDMxMjVkMzM1ZWNmLi40MzlkZTdmYWE0
OGU3MmJjZTNlNDgzZmZmMDM4ZGMwMWE4NjRhZWY1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3RfdW5pdHRlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90X3VuaXR0
ZXN0LnB5CkBAIC00MTAsNiArNDEwLDMzIEBAIGNsYXNzIEJ1aWxkQm90VGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIGJ1aWxkYm90Ll9sYXRlc3RfYnVpbGRzX2Zyb21fYnVpbGRlcnMg
PSBtb2NrX2J1aWxkc19mcm9tX2J1aWxkZXJzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVp
bGRib3QubGFzdF9ncmVlbl9yZXZpc2lvbigpLCAxKQogCisgICAgZGVmIF9mZXRjaF9idWlsZChz
ZWxmLCBidWlsZF9udW1iZXIpOgorICAgICAgICBpZiBidWlsZF9udW1iZXIgPT0gNToKKyAgICAg
ICAgICAgIHJldHVybiAiY29ycmVjdCBidWlsZCIKKyAgICAgICAgcmV0dXJuICJ3cm9uZyBidWls
ZCIKKworICAgIGRlZiBfZmV0Y2hfcmV2aXNpb25fdG9fYnVpbGRfbWFwKHNlbGYpOgorICAgICAg
ICByZXR1cm4geydyNSc6IDUsICdyMic6IDIsICdyMyc6IDN9CisKKyAgICBkZWYgdGVzdF9sYXRl
c3RfY2FjaGVkX2J1aWxkKHNlbGYpOgorICAgICAgICBiID0gQnVpbGRlcignYnVpbGRlcicsIEJ1
aWxkQm90KCkpCisgICAgICAgIGIuX2ZldGNoX2J1aWxkID0gc2VsZi5fZmV0Y2hfYnVpbGQKKyAg
ICAgICAgYi5fZmV0Y2hfcmV2aXNpb25fdG9fYnVpbGRfbWFwID0gc2VsZi5fZmV0Y2hfcmV2aXNp
b25fdG9fYnVpbGRfbWFwCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCJjb3JyZWN0IGJ1aWxk
IiwgYi5sYXRlc3RfY2FjaGVkX2J1aWxkKCkpCisKKyAgICBkZWYgcmVzdWx0c191cmwoc2VsZik6
CisgICAgICAgIHJldHVybiAic29tZS11cmwiCisKKyAgICBkZWYgdGVzdF9yZXN1bHRzX3ppcF91
cmwoc2VsZik6CisgICAgICAgIGIgPSBCdWlsZChOb25lLCAxMjMsIDEyMywgRmFsc2UpCisgICAg
ICAgIGIucmVzdWx0c191cmwgPSBzZWxmLnJlc3VsdHNfdXJsCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKCJzb21lLXVybC56aXAiLCBiLnJlc3VsdHNfemlwX3VybCgpKQorCisgICAgZGVmIHRl
c3RfcmVzdWx0cyhzZWxmKToKKyAgICAgICAgYnVpbGRlciA9IEJ1aWxkZXIoJ2J1aWxkZXInLCBC
dWlsZEJvdCgpKQorICAgICAgICBiID0gQnVpbGQoYnVpbGRlciwgMTIzLCAxMjMsIFRydWUpCisg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiLnJlc3VsdHMoKSkKKwogCiBpZiBfX25hbWVfXyA9PSAn
X19tYWluX18nOgogICAgIHVuaXR0ZXN0Lm1haW4oKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>