<?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>51572</bug_id>
          
          <creation_ts>2010-12-23 15:57:18 -0800</creation_ts>
          <short_desc>new-run-webkit-tests: shut up and exit when all the threads are wedged</short_desc>
          <delta_ts>2011-02-17 17:34:02 -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>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>
          <dependson>51600</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>kbr</cc>
    
    <cc>levin</cc>
    
    <cc>mihaip</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>326341</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-12-23 15:57:18 -0800</bug_when>
    <thetext>shut up and exit when all the threads are wedged</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326344</commentid>
    <comment_count>1</comment_count>
      <attachid>77380</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-12-23 16:00:18 -0800</bug_when>
    <thetext>Created attachment 77380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326375</commentid>
    <comment_count>2</comment_count>
      <attachid>77380</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-23 17:06:20 -0800</bug_when>
    <thetext>Comment on attachment 77380
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py:148
&gt; +    def update(self):

There&apos;s a MockTestRunner in this file, can you use that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326388</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-12-23 17:24:54 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 77380 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77380&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker_unittest.py:148
&gt; &gt; +    def update(self):
&gt; 
&gt; There&apos;s a MockTestRunner in this file, can you use that?

Ah, good point. That&apos;s actually in a different class, but there&apos;s no compelling need to have two separate classes here, so I&apos;ll combine them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326427</commentid>
    <comment_count>4</comment_count>
      <attachid>77397</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-12-23 18:55:39 -0800</bug_when>
    <thetext>Created attachment 77397
use MockTestRunner()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326428</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-12-23 18:57:01 -0800</bug_when>
    <thetext>Adding some more reviewers ... one of you want to review and/or rubber-stamp this? It&apos;s very small and should help the bots out (and anyone who runs the layout tests manually ...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326429</commentid>
    <comment_count>6</comment_count>
      <attachid>77397</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-23 18:59:52 -0800</bug_when>
    <thetext>Comment on attachment 77397
use MockTestRunner()

I love the name of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326430</commentid>
    <comment_count>7</comment_count>
      <attachid>77397</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-23 19:00:21 -0800</bug_when>
    <thetext>Comment on attachment 77397
use MockTestRunner()

I&apos;m not sure I understand what this does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326431</commentid>
    <comment_count>8</comment_count>
      <attachid>77397</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-23 19:01:07 -0800</bug_when>
    <thetext>Comment on attachment 77397
use MockTestRunner()

I think the cq will try to land this if it has a cq+, even if it still has r?  (and will fail).  Setting to cq? to prevent that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326446</commentid>
    <comment_count>9</comment_count>
      <attachid>77397</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-12-23 19:41:12 -0800</bug_when>
    <thetext>Comment on attachment 77397
use MockTestRunner()

I gather that this causes us to log only once per wedged thread and to abort if all threads get wedged. Two questions: (1) if this happens, is bailing out the right thing to do? Or should some other action (like spawning more threads) be taken? (2) Will the warning and early exit be properly handled as a failure?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326455</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-12-23 20:36:48 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 77397 [details])
&gt; I gather that this causes us to log only once per wedged thread and to abort if all threads get wedged. 

Ken&apos;s analysis is right. Right now if we get wedged we will log very frequently and run for a very long time before eventually either getting killed by the bot or we make enough progress to exit (although I&apos;m not sure why the bot doesn&apos;t always get stuck). This causes things to fail fast.

 &gt; Two questions: (1) if this happens, is bailing out the right thing to do? Or should some other action (like spawning more threads) be taken?

If threads get wedged, then the process will never exit cleanly and the test run will be considered a failure. In addition, one or more tests will never complete. Given the way the code currently handles sharding the tests, large numbers of tests might not get to run.

This is by no means a real fix, it is just intended to make the behavior less bad. The fix is the other set of patches I&apos;ve been working on.

&gt;  (2) Will the warning and early exit be properly handled as a failure?

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326462</commentid>
    <comment_count>11</comment_count>
      <attachid>77397</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-12-23 21:15:43 -0800</bug_when>
    <thetext>Comment on attachment 77397
use MockTestRunner()

Even if this isn&apos;t the final fix it&apos;s still a major improvement over the current situation. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326586</commentid>
    <comment_count>12</comment_count>
      <attachid>77397</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-24 04:12:44 -0800</bug_when>
    <thetext>Comment on attachment 77397
use MockTestRunner()

Clearing flags on attachment: 77397

Committed r74632: &lt;http://trac.webkit.org/changeset/74632&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326587</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-24 04:12:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326745</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-12-24 13:45:39 -0800</bug_when>
    <thetext>Sorry but I had to rollout this patch. The unittest makes test-webkitpy hang forever on the GTK bots.

See also bug 51600</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329224</commentid>
    <comment_count>15</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-04 14:37:54 -0800</bug_when>
    <thetext>Sigh. Sorry for the brokenness - I have no idea what&apos;s different about your config that is causing it to hang, but Python will wait for every spawned thread to exit before exiting the process, so that&apos;s probably what&apos;s going on here.

What version of Linux runs on the GTK bots?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329975</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-05 19:03:58 -0800</bug_when>
    <thetext>I just saw a commit-queue node hang in the python tests 9 hours ago, so unless this was re-landed, this was not the only cause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331610</commentid>
    <comment_count>17</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-01-10 07:04:40 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Sigh. Sorry for the brokenness - I have no idea what&apos;s different about your config that is causing it to hang, but Python will wait for every spawned thread to exit before exiting the process, so that&apos;s probably what&apos;s going on here.
&gt; 
&gt; What version of Linux runs on the GTK bots?

I could reproduce the issue on my laptop running Debian Sid. The GTK Debug bots run on Debian Sid as well, IIRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331839</commentid>
    <comment_count>18</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-01-10 12:29:41 -0800</bug_when>
    <thetext>Hmm. I don&apos;t know that I have an easy way to get an instance of Debian Sid to test this on. After I poke into this some more, and if it works for me on the Ubuntu instances I have, I may need your help to figure this one out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344473</commentid>
    <comment_count>19</comment_count>
      <attachid>81020</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-02-02 18:18:44 -0800</bug_when>
    <thetext>Created attachment 81020
update w/ fix in r76073, try again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344481</commentid>
    <comment_count>20</comment_count>
      <attachid>81020</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-02 18:54:36 -0800</bug_when>
    <thetext>Comment on attachment 81020
update w/ fix in r76073, try again

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345255</commentid>
    <comment_count>21</comment_count>
      <attachid>81173</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-02-03 19:12:19 -0800</bug_when>
    <thetext>Created attachment 81173
remove duplicated code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345256</commentid>
    <comment_count>22</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-02-03 19:12:45 -0800</bug_when>
    <thetext>Committed r77586: &lt;http://trac.webkit.org/changeset/77586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345304</commentid>
    <comment_count>23</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-02-03 20:54:05 -0800</bug_when>
    <thetext>Committed r77595: &lt;http://trac.webkit.org/changeset/77595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353265</commentid>
    <comment_count>24</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-02-17 17:30:19 -0800</bug_when>
    <thetext>*** Bug 46833 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353275</commentid>
    <comment_count>25</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-02-17 17:34:02 -0800</bug_when>
    <thetext>*** Bug 46320 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77380</attachid>
            <date>2010-12-23 16:00:18 -0800</date>
            <delta_ts>2010-12-23 18:55:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51572-20101223160017.patch</filename>
            <type>text/plain</type>
            <size>4269</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3ODYx
ZGMwZjE1MWZmN2QxZTE0ZDZlYmYwZWI0Y2Q4MjVlYmRiNjY5Li4zMTNlMDQ2OWQ0ZjdhMmYwODg4
NGI1ZDAzNWJhODA3NTg2MmRmMDM3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMTItMjMgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW9kaWZ5IG5ldy1ydW4td2Via2l0LXRlc3RzIHRvIHNodXQgdXAg
YW5kIGV4aXQgd2hlbiBhbGwgdGhlIHRocmVhZHMKKyAgICAgICAgYXJlIHdlZGdlZCBzbyB0aGF0
IHRlc3QgcnVucyBjb21wbGV0ZSBmYXN0ZXIgYW5kIHdlIGRvbid0IGVuZCB1cAorICAgICAgICB3
LyBlbm9ybW91cyBsb2cgZmlsZXMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUxNTcyCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlci5weToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlcl91
bml0dGVzdC5weToKKwogMjAxMC0xMi0yMyAgTHVjYXMgRm9yc2NobGVyICA8bGZvcnNjaGxlckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNz
YWdlX2Jyb2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91
dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyLnB5CmluZGV4IGUwY2E4ZGIxZDhhYTU1MDRhMDZlMTg0
NjVlNDU3MmJmNjJmZWUxZDUuLjdmNjJlMzk4NWQyNjRlYjMyMjQ5MjlkZWQ3ZjNmY2M3YTllMjEw
NTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91
dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyLnB5CkBAIC0xMzcsNiAr
MTM3LDcgQEAgY2xhc3MgTXVsdGlUaHJlYWRlZEJyb2tlcihXb3JrZXJNZXNzYWdlQnJva2VyKToK
IAogICAgIGRlZiBydW5fbWVzc2FnZV9sb29wKHNlbGYpOgogICAgICAgICB0aHJlYWRzID0gc2Vs
Zi5fdGhyZWFkcygpCisgICAgICAgIHdlZGdlZF90aHJlYWRzID0gc2V0KCkKIAogICAgICAgICAj
IExvb3AgdGhyb3VnaCBhbGwgdGhlIHRocmVhZHMgd2FpdGluZyBmb3IgdGhlbSB0byBmaW5pc2gu
CiAgICAgICAgIHNvbWVfdGhyZWFkX2lzX2FsaXZlID0gVHJ1ZQpAQCAtMTUzLDE3ICsxNTQsMjQg
QEAgY2xhc3MgTXVsdGlUaHJlYWRlZEJyb2tlcihXb3JrZXJNZXNzYWdlQnJva2VyKToKICAgICAg
ICAgICAgICAgICAgICAgcmFpc2UgZXhjZXB0aW9uX2luZm9bMF0sIGV4Y2VwdGlvbl9pbmZvWzFd
LCBleGNlcHRpb25faW5mb1syXQogCiAgICAgICAgICAgICAgICAgaWYgdGhyZWFkLmlzQWxpdmUo
KToKKyAgICAgICAgICAgICAgICAgICAgaWYgdGhyZWFkIGluIHdlZGdlZF90aHJlYWRzOgorICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKwogICAgICAgICAgICAgICAgICAgICBzb21l
X3RocmVhZF9pc19hbGl2ZSA9IFRydWUKICAgICAgICAgICAgICAgICAgICAgbmV4dF90aW1lb3V0
ID0gdGhyZWFkLm5leHRfdGltZW91dCgpCiAgICAgICAgICAgICAgICAgICAgIGlmIG5leHRfdGlt
ZW91dCBhbmQgdCA+IG5leHRfdGltZW91dDoKICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ193
ZWRnZWRfd29ya2VyKHRocmVhZC5nZXROYW1lKCksIHRocmVhZC5pZCgpKQogICAgICAgICAgICAg
ICAgICAgICAgICAgdGhyZWFkLmNsZWFyX25leHRfdGltZW91dCgpCisgICAgICAgICAgICAgICAg
ICAgICAgICB3ZWRnZWRfdGhyZWFkcy5hZGQodGhyZWFkKQogCiAgICAgICAgICAgICBzZWxmLl90
ZXN0X3J1bm5lci51cGRhdGUoKQogCiAgICAgICAgICAgICBpZiBzb21lX3RocmVhZF9pc19hbGl2
ZToKICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDEpCiAKKyAgICAgICAgaWYgd2VkZ2Vk
X3RocmVhZHM6CisgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkFsbCByZW1haW5pbmcgdGhyZWFk
cyBhcmUgd2VkZ2VkLCBiYWlsaW5nIG91dC4iKQorCiAgICAgZGVmIGNhbmNlbF93b3JrZXJzKHNl
bGYpOgogICAgICAgICB0aHJlYWRzID0gc2VsZi5fdGhyZWFkcygpCiAgICAgICAgIGZvciB0aHJl
YWQgaW4gdGhyZWFkczoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9icm9r
ZXJfdW5pdHRlc3QucHkKaW5kZXggNmYwNGZkMzU1MThhMDRlYmQ2OTE5ZmY4YTk3NjEzY2Y0YzVi
ZTFmNC4uMTQzNDFiODg3NWExNzBiNTg3ZmY3OWFhYTMzZWM4M2VmZDA0OWM1YSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVz
c2FnZV9icm9rZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9icm9rZXJfdW5pdHRlc3QucHkKQEAgLTg0
LDcgKzg0LDYgQEAgY2xhc3MgVGVzdFRocmVhZCh0aHJlYWRpbmcuVGhyZWFkKToKIAogICAgIGRl
ZiBuZXh0X3RpbWVvdXQoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX3RpbWVvdXQ6Ci0gICAgICAg
ICAgICBzZWxmLl90aW1lb3V0X3F1ZXVlLnB1dCgnZG9uZScpCiAgICAgICAgICAgICByZXR1cm4g
dGltZS50aW1lKCkgLSAxMAogICAgICAgICByZXR1cm4gdGltZS50aW1lKCkKIApAQCAtMTQ2LDYg
KzE0NSw5IEBAIGNsYXNzIE11bHRpVGhyZWFkZWRCcm9rZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKIAogCiBjbGFzcyBUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdXBkYXRlKHNl
bGYpOgorICAgICAgICBwYXNzCisKICAgICBkZWYgdGVzdF9maW5kX3RocmVhZF9zdGFja19mb3Vu
ZChzZWxmKToKICAgICAgICAgaWQsIHN0YWNrID0gc3lzLl9jdXJyZW50X2ZyYW1lcygpLml0ZW1z
KClbMF0KICAgICAgICAgZm91bmRfc3RhY2sgPSBtZXNzYWdlX2Jyb2tlci5fZmluZF90aHJlYWRf
c3RhY2soaWQpCkBAIC0xNjksOSArMTcxLDE4IEBAIGNsYXNzIFRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICBjaGlsZF90aHJlYWQuc3RhcnQoKQogICAgICAgICBtc2cgPSBzdGFydGlu
Z19xdWV1ZS5nZXQoKQogCi0gICAgICAgIG1lc3NhZ2VfYnJva2VyLmxvZ193ZWRnZWRfd29ya2Vy
KGNoaWxkX3RocmVhZC5nZXROYW1lKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNoaWxkX3RocmVhZC5pZCgpKQotICAgICAgICBzdG9wcGluZ19xdWV1ZS5wdXQo
JycpCisgICAgICAgICMgRklYTUU6IHRoaXMgaXMgYW4gdWdseSBoYWNrIHRvIG1ha2UgdGhlIGJy
b2tlciBhd2FyZSBvZiB0aGUgdGhyZWFkLgorICAgICAgICBwb3J0ID0gTm9uZQorICAgICAgICBv
cHRpb25zID0gbW9ja3Rvb2wuTW9ja09wdGlvbnMoY2hpbGRfcHJvY2Vzc2VzPScxJykKKyAgICAg
ICAgYnJva2VyID0gbWVzc2FnZV9icm9rZXIuTXVsdGlUaHJlYWRlZEJyb2tlcihwb3J0LCBvcHRp
b25zKQorICAgICAgICB3b3JrZXIgPSBtZXNzYWdlX2Jyb2tlci5fV29ya2VyU3RhdGUoJ3dvcmtl
ci0wJykKKyAgICAgICAgd29ya2VyLnRocmVhZCA9IGNoaWxkX3RocmVhZAorICAgICAgICBicm9r
ZXIuX3Rlc3RfcnVubmVyID0gc2VsZgorICAgICAgICBicm9rZXIuX3dvcmtlcnNbJ3dvcmtlci0w
J10gPSB3b3JrZXIKKworICAgICAgICBzdG9wcGluZ19xdWV1ZS5wdXQoJ1RpbWVvdXQnKQorICAg
ICAgICBicm9rZXIucnVuX21lc3NhZ2VfbG9vcCgpCisgICAgICAgIGNoaWxkX3RocmVhZC5fdGlt
ZW91dF9xdWV1ZS5wdXQoJ2RvbmUnKQogICAgICAgICBjaGlsZF90aHJlYWQuam9pbih0aW1lb3V0
PTEuMCkKIAogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGFzdHJlYW0uZW1wdHkoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77397</attachid>
            <date>2010-12-23 18:55:39 -0800</date>
            <delta_ts>2011-02-02 18:18:41 -0800</delta_ts>
            <desc>use MockTestRunner()</desc>
            <filename>bug-51572-20101223185537.patch</filename>
            <type>text/plain</type>
            <size>4370</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5NGEx
ZTIzMmQ2ZmUzZThmZWQ0NDNjZjIwMmM0ZGYwMTNiNzc0NWI0Li44Mzc0NzFjNmVjM2FiMTFkYWJl
MmViMjQyZmRlNzRkYTc5YjA1NTNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMTItMjMgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW9kaWZ5IG5ldy1ydW4td2Via2l0LXRlc3RzIHRvIHNodXQgdXAg
YW5kIGV4aXQgd2hlbiBhbGwgdGhlIHRocmVhZHMKKyAgICAgICAgYXJlIHdlZGdlZCBzbyB0aGF0
IHRlc3QgcnVucyBjb21wbGV0ZSBmYXN0ZXIgYW5kIHdlIGRvbid0IGVuZCB1cAorICAgICAgICB3
LyBlbm9ybW91cyBsb2cgZmlsZXMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUxNTcyCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlci5weToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlcl91
bml0dGVzdC5weToKKwogMjAxMC0xMi0yMyAgRXZhbiBNYXJ0aW4gIDxldmFuQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jy
b2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNr
YWdlL21lc3NhZ2VfYnJva2VyLnB5CmluZGV4IGUwY2E4ZGIxZDhhYTU1MDRhMDZlMTg0NjVlNDU3
MmJmNjJmZWUxZDUuLjdmNjJlMzk4NWQyNjRlYjMyMjQ5MjlkZWQ3ZjNmY2M3YTllMjEwNTkgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNr
YWdlL21lc3NhZ2VfYnJva2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyLnB5CkBAIC0xMzcsNiArMTM3LDcg
QEAgY2xhc3MgTXVsdGlUaHJlYWRlZEJyb2tlcihXb3JrZXJNZXNzYWdlQnJva2VyKToKIAogICAg
IGRlZiBydW5fbWVzc2FnZV9sb29wKHNlbGYpOgogICAgICAgICB0aHJlYWRzID0gc2VsZi5fdGhy
ZWFkcygpCisgICAgICAgIHdlZGdlZF90aHJlYWRzID0gc2V0KCkKIAogICAgICAgICAjIExvb3Ag
dGhyb3VnaCBhbGwgdGhlIHRocmVhZHMgd2FpdGluZyBmb3IgdGhlbSB0byBmaW5pc2guCiAgICAg
ICAgIHNvbWVfdGhyZWFkX2lzX2FsaXZlID0gVHJ1ZQpAQCAtMTUzLDE3ICsxNTQsMjQgQEAgY2xh
c3MgTXVsdGlUaHJlYWRlZEJyb2tlcihXb3JrZXJNZXNzYWdlQnJva2VyKToKICAgICAgICAgICAg
ICAgICAgICAgcmFpc2UgZXhjZXB0aW9uX2luZm9bMF0sIGV4Y2VwdGlvbl9pbmZvWzFdLCBleGNl
cHRpb25faW5mb1syXQogCiAgICAgICAgICAgICAgICAgaWYgdGhyZWFkLmlzQWxpdmUoKToKKyAg
ICAgICAgICAgICAgICAgICAgaWYgdGhyZWFkIGluIHdlZGdlZF90aHJlYWRzOgorICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKKwogICAgICAgICAgICAgICAgICAgICBzb21lX3RocmVh
ZF9pc19hbGl2ZSA9IFRydWUKICAgICAgICAgICAgICAgICAgICAgbmV4dF90aW1lb3V0ID0gdGhy
ZWFkLm5leHRfdGltZW91dCgpCiAgICAgICAgICAgICAgICAgICAgIGlmIG5leHRfdGltZW91dCBh
bmQgdCA+IG5leHRfdGltZW91dDoKICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ193ZWRnZWRf
d29ya2VyKHRocmVhZC5nZXROYW1lKCksIHRocmVhZC5pZCgpKQogICAgICAgICAgICAgICAgICAg
ICAgICAgdGhyZWFkLmNsZWFyX25leHRfdGltZW91dCgpCisgICAgICAgICAgICAgICAgICAgICAg
ICB3ZWRnZWRfdGhyZWFkcy5hZGQodGhyZWFkKQogCiAgICAgICAgICAgICBzZWxmLl90ZXN0X3J1
bm5lci51cGRhdGUoKQogCiAgICAgICAgICAgICBpZiBzb21lX3RocmVhZF9pc19hbGl2ZToKICAg
ICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDEpCiAKKyAgICAgICAgaWYgd2VkZ2VkX3RocmVh
ZHM6CisgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkFsbCByZW1haW5pbmcgdGhyZWFkcyBhcmUg
d2VkZ2VkLCBiYWlsaW5nIG91dC4iKQorCiAgICAgZGVmIGNhbmNlbF93b3JrZXJzKHNlbGYpOgog
ICAgICAgICB0aHJlYWRzID0gc2VsZi5fdGhyZWFkcygpCiAgICAgICAgIGZvciB0aHJlYWQgaW4g
dGhyZWFkczoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9icm9rZXJfdW5p
dHRlc3QucHkKaW5kZXggNmYwNGZkMzU1MThhMDRlYmQ2OTE5ZmY4YTk3NjEzY2Y0YzViZTFmNC4u
YjM5NDFhMzY5YjM3Mzg4ZDE4NGVjMmJjYTIyOTFiY2ZiZDZhZjYzMiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9i
cm9rZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9icm9rZXJfdW5pdHRlc3QucHkKQEAgLTg0LDcgKzg0
LDYgQEAgY2xhc3MgVGVzdFRocmVhZCh0aHJlYWRpbmcuVGhyZWFkKToKIAogICAgIGRlZiBuZXh0
X3RpbWVvdXQoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX3RpbWVvdXQ6Ci0gICAgICAgICAgICBz
ZWxmLl90aW1lb3V0X3F1ZXVlLnB1dCgnZG9uZScpCiAgICAgICAgICAgICByZXR1cm4gdGltZS50
aW1lKCkgLSAxMAogICAgICAgICByZXR1cm4gdGltZS50aW1lKCkKIApAQCAtMTQ0LDggKzE0Myw2
IEBAIGNsYXNzIE11bHRpVGhyZWFkZWRCcm9rZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICBkZWYgdGVzdF9leGNlcHRpb24oc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZh
bHVlRXJyb3IsIHNlbGYucnVuX29uZV90aHJlYWQsICdFeGNlcHRpb24nKQogCi0KLWNsYXNzIFRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2ZpbmRfdGhyZWFkX3N0YWNrX2Zv
dW5kKHNlbGYpOgogICAgICAgICBpZCwgc3RhY2sgPSBzeXMuX2N1cnJlbnRfZnJhbWVzKCkuaXRl
bXMoKVswXQogICAgICAgICBmb3VuZF9zdGFjayA9IG1lc3NhZ2VfYnJva2VyLl9maW5kX3RocmVh
ZF9zdGFjayhpZCkKQEAgLTE2OSw5ICsxNjYsMTkgQEAgY2xhc3MgVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIGNoaWxkX3RocmVhZC5zdGFydCgpCiAgICAgICAgIG1zZyA9IHN0YXJ0
aW5nX3F1ZXVlLmdldCgpCiAKLSAgICAgICAgbWVzc2FnZV9icm9rZXIubG9nX3dlZGdlZF93b3Jr
ZXIoY2hpbGRfdGhyZWFkLmdldE5hbWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY2hpbGRfdGhyZWFkLmlkKCkpCi0gICAgICAgIHN0b3BwaW5nX3F1ZXVlLnB1
dCgnJykKKyAgICAgICAgIyBGSVhNRTogdGhpcyBpcyBhbiB1Z2x5IGhhY2sgdG8gbWFrZSB0aGUg
YnJva2VyIGF3YXJlIG9mIHRoZSB0aHJlYWQuCisgICAgICAgIHBvcnQgPSBOb25lCisgICAgICAg
IG9wdGlvbnMgPSBtb2NrdG9vbC5Nb2NrT3B0aW9ucyhjaGlsZF9wcm9jZXNzZXM9JzEnKQorICAg
ICAgICBydW5uZXIgPSBzZWxmLk1vY2tUZXN0UnVubmVyKCkKKyAgICAgICAgYnJva2VyID0gbWVz
c2FnZV9icm9rZXIuTXVsdGlUaHJlYWRlZEJyb2tlcihwb3J0LCBvcHRpb25zKQorICAgICAgICB3
b3JrZXIgPSBtZXNzYWdlX2Jyb2tlci5fV29ya2VyU3RhdGUoJ3dvcmtlci0wJykKKyAgICAgICAg
d29ya2VyLnRocmVhZCA9IGNoaWxkX3RocmVhZAorICAgICAgICBicm9rZXIuX3Rlc3RfcnVubmVy
ID0gcnVubmVyCisgICAgICAgIGJyb2tlci5fd29ya2Vyc1snd29ya2VyLTAnXSA9IHdvcmtlcgor
CisgICAgICAgIHN0b3BwaW5nX3F1ZXVlLnB1dCgnVGltZW91dCcpCisgICAgICAgIGJyb2tlci5y
dW5fbWVzc2FnZV9sb29wKCkKKyAgICAgICAgY2hpbGRfdGhyZWFkLl90aW1lb3V0X3F1ZXVlLnB1
dCgnZG9uZScpCiAgICAgICAgIGNoaWxkX3RocmVhZC5qb2luKHRpbWVvdXQ9MS4wKQogCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UoYXN0cmVhbS5lbXB0eSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81020</attachid>
            <date>2011-02-02 18:18:44 -0800</date>
            <delta_ts>2011-02-03 19:12:15 -0800</delta_ts>
            <desc>update w/ fix in r76073, try again</desc>
            <filename>bug-51572-20110202181843.patch</filename>
            <type>text/plain</type>
            <size>5138</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyY2Zh
MTlmNjFiM2E3M2Q4YzA2NDc1ZmFlOWM5YjhlYmE5YTQwYmIzLi42OWY2Y2JhZjhlOGMzZmQ4N2Zk
ODNmZjdlODUzZjgxZjM5ZGE5YTk3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTEtMDItMDIgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXBkYXRlLCByZXN1Ym1pdCBjaGFuZ2UgdG8gYnVnIDUxNTcyLiBJ
IHRoaW5rIHRoZSByYWNlIHRoYXQgd2FzCisgICAgICAgIGZpeGVkIGluIHI3NjcwMyBjYXVzZWQg
dGhlIGhhbmcgdGhhdCBjYXVzZWQgdXMgdG8gcm9sbCB0aGlzCisgICAgICAgIHBhdGNoIG91dCBi
ZWZvcmUsIHNvIEknZCBsaWtlIHRvIHRyeSBhZ2Fpbi4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE1NzIKKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyLnB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3Nh
Z2VfYnJva2VyX3VuaXR0ZXN0LnB5OgorCisyMDExLTAyLTAyICBEaXJrIFByYW5rZSAgPGRwcmFu
a2VAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IE1paGFpIFBhcnBhcml0YS4K
IAogICAgICAgICBuZXctcnVuLXdlYmtpdC10ZXN0czogaGFyZGNvZGUgdGhlIGRpcmVjdG9yaWVz
IHRvIHNjYW4gZm9yIHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlci5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyLnB5
CmluZGV4IDQ4MWM2MTcwNDk0ODU2YWRkNTU1NmVhYjU1NzJiMWU3MTJiNTAwYmMuLmQ5OWZjZWQ3
N2MxZDE1ZTkxYjY5MTk2MWVhMDViMjdkZGRjYmE1YTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdl
L21lc3NhZ2VfYnJva2VyLnB5CkBAIC0xMzcsNiArMTM3LDcgQEAgY2xhc3MgTXVsdGlUaHJlYWRl
ZEJyb2tlcihXb3JrZXJNZXNzYWdlQnJva2VyKToKIAogICAgIGRlZiBydW5fbWVzc2FnZV9sb29w
KHNlbGYpOgogICAgICAgICB0aHJlYWRzID0gc2VsZi5fdGhyZWFkcygpCisgICAgICAgIHdlZGdl
ZF90aHJlYWRzID0gc2V0KCkKIAogICAgICAgICAjIExvb3AgdGhyb3VnaCBhbGwgdGhlIHRocmVh
ZHMgd2FpdGluZyBmb3IgdGhlbSB0byBmaW5pc2guCiAgICAgICAgIHNvbWVfdGhyZWFkX2lzX2Fs
aXZlID0gVHJ1ZQpAQCAtMTQ1LDExICsxNDYsMTUgQEAgY2xhc3MgTXVsdGlUaHJlYWRlZEJyb2tl
cihXb3JrZXJNZXNzYWdlQnJva2VyKToKICAgICAgICAgICAgIHQgPSB0aW1lLnRpbWUoKQogICAg
ICAgICAgICAgZm9yIHRocmVhZCBpbiB0aHJlYWRzOgogICAgICAgICAgICAgICAgIGlmIHRocmVh
ZC5pc0FsaXZlKCk6CisgICAgICAgICAgICAgICAgICAgIGlmIHRocmVhZCBpbiB3ZWRnZWRfdGhy
ZWFkczoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKICAgICAgICAgICAgICAg
ICAgICAgc29tZV90aHJlYWRfaXNfYWxpdmUgPSBUcnVlCiAgICAgICAgICAgICAgICAgICAgIG5l
eHRfdGltZW91dCA9IHRocmVhZC5uZXh0X3RpbWVvdXQoKQogICAgICAgICAgICAgICAgICAgICBp
ZiBuZXh0X3RpbWVvdXQgYW5kIHQgPiBuZXh0X3RpbWVvdXQ6CiAgICAgICAgICAgICAgICAgICAg
ICAgICBsb2dfd2VkZ2VkX3dvcmtlcih0aHJlYWQuZ2V0TmFtZSgpLCB0aHJlYWQuaWQoKSkKICAg
ICAgICAgICAgICAgICAgICAgICAgIHRocmVhZC5jbGVhcl9uZXh0X3RpbWVvdXQoKQorICAgICAg
ICAgICAgICAgICAgICAgICAgd2VkZ2VkX3RocmVhZHMuYWRkKHRocmVhZCkKIAogICAgICAgICAg
ICAgICAgIGV4Y2VwdGlvbl9pbmZvID0gdGhyZWFkLmV4Y2VwdGlvbl9pbmZvKCkKICAgICAgICAg
ICAgICAgICBpZiBleGNlcHRpb25faW5mbyBpcyBub3QgTm9uZToKQEAgLTE2NCw2ICsxNjksOSBA
QCBjbGFzcyBNdWx0aVRocmVhZGVkQnJva2VyKFdvcmtlck1lc3NhZ2VCcm9rZXIpOgogICAgICAg
ICAgICAgaWYgc29tZV90aHJlYWRfaXNfYWxpdmU6CiAgICAgICAgICAgICAgICAgdGltZS5zbGVl
cCgwLjAxKQogCisgICAgICAgIGlmIHdlZGdlZF90aHJlYWRzOgorICAgICAgICAgICAgX2xvZy53
YXJuaW5nKCJBbGwgcmVtYWluaW5nIHRocmVhZHMgYXJlIHdlZGdlZCwgYmFpbGluZyBvdXQuIikK
KwogICAgIGRlZiBjYW5jZWxfd29ya2VycyhzZWxmKToKICAgICAgICAgdGhyZWFkcyA9IHNlbGYu
X3RocmVhZHMoKQogICAgICAgICBmb3IgdGhyZWFkIGluIHRocmVhZHM6CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdl
X2Jyb2tlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyX3VuaXR0ZXN0LnB5CmluZGV4IDZmMDRmZDM1
NTE4YTA0ZWJkNjkxOWZmOGE5NzYxM2NmNGM1YmUxZjQuLjU4NGNjZWEwNWNkZjUzNmMxYTIyOTU3
Y2VkZTRlZTE1NGY2NDZkN2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyX3VuaXR0ZXN0LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3Nh
Z2VfYnJva2VyX3VuaXR0ZXN0LnB5CkBAIC05MSw2ICs5MSw3IEBAIGNsYXNzIFRlc3RUaHJlYWQo
dGhyZWFkaW5nLlRocmVhZCk6CiAgICAgZGVmIGNsZWFyX25leHRfdGltZW91dChzZWxmKToKICAg
ICAgICAgc2VsZi5fbmV4dF90aW1lb3V0ID0gTm9uZQogCisKIGNsYXNzIFRlc3RIYW5kbGVyKGxv
Z2dpbmcuSGFuZGxlcik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGFzdHJlYW0pOgogICAgICAg
ICBsb2dnaW5nLkhhbmRsZXIuX19pbml0X18oc2VsZikKQEAgLTE0NCw4ICsxNDUsNiBAQCBjbGFz
cyBNdWx0aVRocmVhZGVkQnJva2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRl
c3RfZXhjZXB0aW9uKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9y
LCBzZWxmLnJ1bl9vbmVfdGhyZWFkLCAnRXhjZXB0aW9uJykKIAotCi1jbGFzcyBUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9maW5kX3RocmVhZF9zdGFja19mb3VuZChzZWxm
KToKICAgICAgICAgaWQsIHN0YWNrID0gc3lzLl9jdXJyZW50X2ZyYW1lcygpLml0ZW1zKClbMF0K
ICAgICAgICAgZm91bmRfc3RhY2sgPSBtZXNzYWdlX2Jyb2tlci5fZmluZF90aHJlYWRfc3RhY2so
aWQpCkBAIC0xNTUsNyArMTU0LDcgQEAgY2xhc3MgVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgIGZvdW5kX3N0YWNrID0gbWVzc2FnZV9icm9rZXIuX2ZpbmRfdGhyZWFkX3N0YWNrKDAp
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm91bmRfc3RhY2ssIE5vbmUpCiAKLSAgICBkZWYg
dGVzdF9sb2dfd2VkZ2VkX3dvcmtlcihzZWxmKToKKyAgICBkZWYgdGVzdF93ZWRnZWRfd29ya2Vy
KHNlbGYpOgogICAgICAgICBvYyA9IG91dHB1dGNhcHR1cmUuT3V0cHV0Q2FwdHVyZSgpCiAgICAg
ICAgIG9jLmNhcHR1cmVfb3V0cHV0KCkKICAgICAgICAgbG9nZ2VyID0gbWVzc2FnZV9icm9rZXIu
X2xvZwpAQCAtMTY5LDE0ICsxNjgsMjMgQEAgY2xhc3MgVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgIGNoaWxkX3RocmVhZC5zdGFydCgpCiAgICAgICAgIG1zZyA9IHN0YXJ0aW5nX3F1
ZXVlLmdldCgpCiAKLSAgICAgICAgbWVzc2FnZV9icm9rZXIubG9nX3dlZGdlZF93b3JrZXIoY2hp
bGRfdGhyZWFkLmdldE5hbWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2hpbGRfdGhyZWFkLmlkKCkpCi0gICAgICAgIHN0b3BwaW5nX3F1ZXVlLnB1dCgnJykK
KyAgICAgICAgIyBGSVhNRTogdGhpcyBpcyBhbiB1Z2x5IGhhY2sgdG8gbWFrZSB0aGUgYnJva2Vy
IGF3YXJlIG9mIHRoZSB0aHJlYWQuCisgICAgICAgIHBvcnQgPSBOb25lCisgICAgICAgIG9wdGlv
bnMgPSBtb2NrdG9vbC5Nb2NrT3B0aW9ucyhjaGlsZF9wcm9jZXNzZXM9JzEnKQorICAgICAgICBy
dW5uZXIgPSBzZWxmLk1vY2tUZXN0UnVubmVyKCkKKyAgICAgICAgYnJva2VyID0gbWVzc2FnZV9i
cm9rZXIuTXVsdGlUaHJlYWRlZEJyb2tlcihwb3J0LCBvcHRpb25zKQorICAgICAgICB3b3JrZXIg
PSBtZXNzYWdlX2Jyb2tlci5fV29ya2VyU3RhdGUoJ3dvcmtlci0wJykKKyAgICAgICAgd29ya2Vy
LnRocmVhZCA9IGNoaWxkX3RocmVhZAorICAgICAgICBicm9rZXIuX3Rlc3RfcnVubmVyID0gcnVu
bmVyCisgICAgICAgIGJyb2tlci5fd29ya2Vyc1snd29ya2VyLTAnXSA9IHdvcmtlcgorCisgICAg
ICAgIHN0b3BwaW5nX3F1ZXVlLnB1dCgnVGltZW91dCcpCisgICAgICAgIGJyb2tlci5ydW5fbWVz
c2FnZV9sb29wKCkKICAgICAgICAgY2hpbGRfdGhyZWFkLmpvaW4odGltZW91dD0xLjApCiAKLSAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZShhc3RyZWFtLmVtcHR5KCkpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoY2hpbGRfdGhyZWFkLmlzQWxpdmUoKSkKICAgICAgICAgb2MucmVzdG9yZV9vdXRw
dXQoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJ0FsbCByZW1haW5pbmcgdGhyZWFkcyBhcmUg
d2VkZ2VkLCBiYWlsaW5nIG91dC4nIGluIGFzdHJlYW0uZ2V0KCkpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoY2hpbGRfdGhyZWFkLmlzQWxpdmUoKSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19t
YWluX18nOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81173</attachid>
            <date>2011-02-03 19:12:19 -0800</date>
            <delta_ts>2011-02-03 19:12:19 -0800</delta_ts>
            <desc>remove duplicated code</desc>
            <filename>bug-51572-20110203191218.patch</filename>
            <type>text/plain</type>
            <size>5917</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4NTU5
MjYyMzc1YzhmMGRmYjIxYjU5MTUzMjZmODE3N2YyODAzYWViLi4xNDVmZDQxM2U3NzNhNGE3Nzk3
Y2I4OTg0YmNmMGY0ZmNhZGQ2YjlhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDItMDMgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBS
dXNzZWxsLgorCisgICAgICAgIFVwZGF0ZSwgcmVzdWJtaXQgY2hhbmdlIHRvIGJ1ZyA1MTU3Mi4g
SSB0aGluayB0aGUgcmFjZSB0aGF0IHdhcworICAgICAgICBmaXhlZCBpbiByNzY3MDMgY2F1c2Vk
IHRoZSBoYW5nIHRoYXQgY2F1c2VkIHVzIHRvIHJvbGwgdGhpcworICAgICAgICBwYXRjaCBvdXQg
YmVmb3JlLCBzbyBJJ2QgbGlrZSB0byB0cnkgYWdhaW4uCisKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNTcyCisKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlci5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNz
YWdlX2Jyb2tlcl91bml0dGVzdC5weToKKwogMjAxMS0wMi0wMyAgRGFuaWVsIENoZW5nICA8ZGNo
ZW5nQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9i
cm9rZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFj
a2FnZS9tZXNzYWdlX2Jyb2tlci5weQppbmRleCA0ODFjNjE3MDQ5NDg1NmFkZDU1NTZlYWI1NTcy
YjFlNzEyYjUwMGJjLi5kOTlmY2VkNzdjMWQxNWU5MWI2OTE5NjFlYTA1YjI3ZGRkY2JhNWE4IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFj
a2FnZS9tZXNzYWdlX2Jyb2tlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlci5weQpAQCAtMTM3LDYgKzEzNyw3
IEBAIGNsYXNzIE11bHRpVGhyZWFkZWRCcm9rZXIoV29ya2VyTWVzc2FnZUJyb2tlcik6CiAKICAg
ICBkZWYgcnVuX21lc3NhZ2VfbG9vcChzZWxmKToKICAgICAgICAgdGhyZWFkcyA9IHNlbGYuX3Ro
cmVhZHMoKQorICAgICAgICB3ZWRnZWRfdGhyZWFkcyA9IHNldCgpCiAKICAgICAgICAgIyBMb29w
IHRocm91Z2ggYWxsIHRoZSB0aHJlYWRzIHdhaXRpbmcgZm9yIHRoZW0gdG8gZmluaXNoLgogICAg
ICAgICBzb21lX3RocmVhZF9pc19hbGl2ZSA9IFRydWUKQEAgLTE0NSwxMSArMTQ2LDE1IEBAIGNs
YXNzIE11bHRpVGhyZWFkZWRCcm9rZXIoV29ya2VyTWVzc2FnZUJyb2tlcik6CiAgICAgICAgICAg
ICB0ID0gdGltZS50aW1lKCkKICAgICAgICAgICAgIGZvciB0aHJlYWQgaW4gdGhyZWFkczoKICAg
ICAgICAgICAgICAgICBpZiB0aHJlYWQuaXNBbGl2ZSgpOgorICAgICAgICAgICAgICAgICAgICBp
ZiB0aHJlYWQgaW4gd2VkZ2VkX3RocmVhZHM6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250
aW51ZQorCiAgICAgICAgICAgICAgICAgICAgIHNvbWVfdGhyZWFkX2lzX2FsaXZlID0gVHJ1ZQog
ICAgICAgICAgICAgICAgICAgICBuZXh0X3RpbWVvdXQgPSB0aHJlYWQubmV4dF90aW1lb3V0KCkK
ICAgICAgICAgICAgICAgICAgICAgaWYgbmV4dF90aW1lb3V0IGFuZCB0ID4gbmV4dF90aW1lb3V0
OgogICAgICAgICAgICAgICAgICAgICAgICAgbG9nX3dlZGdlZF93b3JrZXIodGhyZWFkLmdldE5h
bWUoKSwgdGhyZWFkLmlkKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWQuY2xlYXJf
bmV4dF90aW1lb3V0KCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHdlZGdlZF90aHJlYWRzLmFk
ZCh0aHJlYWQpCiAKICAgICAgICAgICAgICAgICBleGNlcHRpb25faW5mbyA9IHRocmVhZC5leGNl
cHRpb25faW5mbygpCiAgICAgICAgICAgICAgICAgaWYgZXhjZXB0aW9uX2luZm8gaXMgbm90IE5v
bmU6CkBAIC0xNjQsNiArMTY5LDkgQEAgY2xhc3MgTXVsdGlUaHJlYWRlZEJyb2tlcihXb3JrZXJN
ZXNzYWdlQnJva2VyKToKICAgICAgICAgICAgIGlmIHNvbWVfdGhyZWFkX2lzX2FsaXZlOgogICAg
ICAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4wMSkKIAorICAgICAgICBpZiB3ZWRnZWRfdGhyZWFk
czoKKyAgICAgICAgICAgIF9sb2cud2FybmluZygiQWxsIHJlbWFpbmluZyB0aHJlYWRzIGFyZSB3
ZWRnZWQsIGJhaWxpbmcgb3V0LiIpCisKICAgICBkZWYgY2FuY2VsX3dvcmtlcnMoc2VsZik6CiAg
ICAgICAgIHRocmVhZHMgPSBzZWxmLl90aHJlYWRzKCkKICAgICAgICAgZm9yIHRocmVhZCBpbiB0
aHJlYWRzOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9icm9rZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlcl91bml0
dGVzdC5weQppbmRleCA2ZjA0ZmQzNTUxOGEwNGViZDY5MTlmZjhhOTc2MTNjZjRjNWJlMWY0Li43
NWNlNDBiMjVjZDY3ZGE5ZTEzNTczMmQwYTI1MTRkYmIzYmY1N2JmIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jy
b2tlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlcl91bml0dGVzdC5weQpAQCAtOTEsNiArOTEs
NyBAQCBjbGFzcyBUZXN0VGhyZWFkKHRocmVhZGluZy5UaHJlYWQpOgogICAgIGRlZiBjbGVhcl9u
ZXh0X3RpbWVvdXQoc2VsZik6CiAgICAgICAgIHNlbGYuX25leHRfdGltZW91dCA9IE5vbmUKIAor
CiBjbGFzcyBUZXN0SGFuZGxlcihsb2dnaW5nLkhhbmRsZXIpOgogICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBhc3RyZWFtKToKICAgICAgICAgbG9nZ2luZy5IYW5kbGVyLl9faW5pdF9fKHNlbGYpCkBA
IC0xMjUsNyArMTI2LDEyIEBAIGNsYXNzIE11bHRpVGhyZWFkZWRCcm9rZXJUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgY2hpbGRfdGhyZWFkLnN0YXJ0KCkKICAgICAgICAgc3RhcnRl
ZF9tc2cgPSBzdGFydGluZ19xdWV1ZS5nZXQoKQogICAgICAgICBzdG9wcGluZ19xdWV1ZS5wdXQo
bXNnKQotICAgICAgICByZXR1cm4gYnJva2VyLnJ1bl9tZXNzYWdlX2xvb3AoKQorICAgICAgICBy
ZXMgPSBicm9rZXIucnVuX21lc3NhZ2VfbG9vcCgpCisgICAgICAgIGlmIG1zZyA9PSAnVGltZW91
dCc6CisgICAgICAgICAgICBjaGlsZF90aHJlYWQuX3RpbWVvdXRfcXVldWUucHV0KCdkb25lJykK
KyAgICAgICAgY2hpbGRfdGhyZWFkLmpvaW4oMS4wKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNl
KGNoaWxkX3RocmVhZC5pc0FsaXZlKCkpCisgICAgICAgIHJldHVybiByZXMKIAogICAgIGRlZiB0
ZXN0X2Jhc2ljKHNlbGYpOgogICAgICAgICBpbnRlcnJ1cHRlZCA9IHNlbGYucnVuX29uZV90aHJl
YWQoJycpCkBAIC0xMzUsMTcgKzE0MSwyMyBAQCBjbGFzcyBNdWx0aVRocmVhZGVkQnJva2VyVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleWJvYXJk
SW50ZXJydXB0LCBzZWxmLnJ1bl9vbmVfdGhyZWFkLCAnS2V5Ym9hcmRJbnRlcnJ1cHQnKQogCiAg
ICAgZGVmIHRlc3RfdGltZW91dChzZWxmKToKKyAgICAgICAgIyBCZWNhdXNlIHRoZSB0aW1lb3V0
IHNob3dzIHVwIGFzIGEgd2VkZ2VkIHRocmVhZCwgdGhpcyBhbHNvIHRlc3RzCisgICAgICAgICMg
bG9nX3dlZGdlZF93b3JrZXIoKS4KICAgICAgICAgb2MgPSBvdXRwdXRjYXB0dXJlLk91dHB1dENh
cHR1cmUoKQotICAgICAgICBvYy5jYXB0dXJlX291dHB1dCgpCisgICAgICAgIHN0ZG91dCwgc3Rk
ZXJyID0gb2MuY2FwdHVyZV9vdXRwdXQoKQorICAgICAgICBsb2dnZXIgPSBtZXNzYWdlX2Jyb2tl
ci5fbG9nCisgICAgICAgIGFzdHJlYW0gPSBhcnJheV9zdHJlYW0uQXJyYXlTdHJlYW0oKQorICAg
ICAgICBoYW5kbGVyID0gVGVzdEhhbmRsZXIoYXN0cmVhbSkKKyAgICAgICAgbG9nZ2VyLmFkZEhh
bmRsZXIoaGFuZGxlcikKICAgICAgICAgaW50ZXJydXB0ZWQgPSBzZWxmLnJ1bl9vbmVfdGhyZWFk
KCdUaW1lb3V0JykKKyAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBvYy5yZXN0b3JlX291dHB1dCgp
CiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaW50ZXJydXB0ZWQpCi0gICAgICAgIG9jLnJlc3Rv
cmVfb3V0cHV0KCkKKyAgICAgICAgbG9nZ2VyLmhhbmRsZXJzLnJlbW92ZShoYW5kbGVyKQorICAg
ICAgICBzZWxmLmFzc2VydFRydWUoJ0FsbCByZW1haW5pbmcgdGhyZWFkcyBhcmUgd2VkZ2VkLCBi
YWlsaW5nIG91dC4nIGluIGFzdHJlYW0uZ2V0KCkpCiAKICAgICBkZWYgdGVzdF9leGNlcHRpb24o
c2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYucnVuX29u
ZV90aHJlYWQsICdFeGNlcHRpb24nKQogCi0KLWNsYXNzIFRlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgIGRlZiB0ZXN0X2ZpbmRfdGhyZWFkX3N0YWNrX2ZvdW5kKHNlbGYpOgogICAgICAgICBp
ZCwgc3RhY2sgPSBzeXMuX2N1cnJlbnRfZnJhbWVzKCkuaXRlbXMoKVswXQogICAgICAgICBmb3Vu
ZF9zdGFjayA9IG1lc3NhZ2VfYnJva2VyLl9maW5kX3RocmVhZF9zdGFjayhpZCkKQEAgLTE1NSwy
OSArMTY3LDYgQEAgY2xhc3MgVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGZvdW5k
X3N0YWNrID0gbWVzc2FnZV9icm9rZXIuX2ZpbmRfdGhyZWFkX3N0YWNrKDApCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZm91bmRfc3RhY2ssIE5vbmUpCiAKLSAgICBkZWYgdGVzdF9sb2dfd2Vk
Z2VkX3dvcmtlcihzZWxmKToKLSAgICAgICAgb2MgPSBvdXRwdXRjYXB0dXJlLk91dHB1dENhcHR1
cmUoKQotICAgICAgICBvYy5jYXB0dXJlX291dHB1dCgpCi0gICAgICAgIGxvZ2dlciA9IG1lc3Nh
Z2VfYnJva2VyLl9sb2cKLSAgICAgICAgYXN0cmVhbSA9IGFycmF5X3N0cmVhbS5BcnJheVN0cmVh
bSgpCi0gICAgICAgIGhhbmRsZXIgPSBUZXN0SGFuZGxlcihhc3RyZWFtKQotICAgICAgICBsb2dn
ZXIuYWRkSGFuZGxlcihoYW5kbGVyKQotCi0gICAgICAgIHN0YXJ0aW5nX3F1ZXVlID0gUXVldWUu
UXVldWUoKQotICAgICAgICBzdG9wcGluZ19xdWV1ZSA9IFF1ZXVlLlF1ZXVlKCkKLSAgICAgICAg
Y2hpbGRfdGhyZWFkID0gVGVzdFRocmVhZChzdGFydGluZ19xdWV1ZSwgc3RvcHBpbmdfcXVldWUp
Ci0gICAgICAgIGNoaWxkX3RocmVhZC5zdGFydCgpCi0gICAgICAgIG1zZyA9IHN0YXJ0aW5nX3F1
ZXVlLmdldCgpCi0KLSAgICAgICAgbWVzc2FnZV9icm9rZXIubG9nX3dlZGdlZF93b3JrZXIoY2hp
bGRfdGhyZWFkLmdldE5hbWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2hpbGRfdGhyZWFkLmlkKCkpCi0gICAgICAgIHN0b3BwaW5nX3F1ZXVlLnB1dCgnJykK
LSAgICAgICAgY2hpbGRfdGhyZWFkLmpvaW4odGltZW91dD0xLjApCi0KLSAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZShhc3RyZWFtLmVtcHR5KCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2hp
bGRfdGhyZWFkLmlzQWxpdmUoKSkKLSAgICAgICAgb2MucmVzdG9yZV9vdXRwdXQoKQotCiAKIGlm
IF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdW5pdHRlc3QubWFpbigpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>