<?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>61088</bug_id>
          
          <creation_ts>2011-05-18 12:55:46 -0700</creation_ts>
          <short_desc>run-api-tests should run one test per process</short_desc>
          <delta_ts>2011-05-19 19:10:37 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>48043</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Dmitry Lomov">dslomov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dslomov</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>405966</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-18 12:55:46 -0700</bug_when>
    <thetext>It currently runs all tests in the same process. This:
1) Makes (future) hang detection difficult
2) Does not isolate tests well
3) Precludes (future) test execution parallelization</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405967</commentid>
    <comment_count>1</comment_count>
      <attachid>93972</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-18 12:58:59 -0700</bug_when>
    <thetext>Created attachment 93972
Restoring &quot;running test one-by-one&quot; logic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405970</commentid>
    <comment_count>2</comment_count>
      <attachid>93974</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-18 13:01:37 -0700</bug_when>
    <thetext>Created attachment 93974
Small formatting issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406501</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-19 10:34:04 -0700</bug_when>
    <thetext>OMG perl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406623</commentid>
    <comment_count>4</comment_count>
      <attachid>93974</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-19 13:57:21 -0700</bug_when>
    <thetext>Comment on attachment 93974
Small formatting issue

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

&gt; Tools/ChangeLog:8
&gt; +2011-05-18  Dmitry Lomov  &lt;dslomov@google.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        run-api-tests should run one test per process
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=61088
&gt; +
&gt; +        * Scripts/run-api-tests:

It would be good to have some more comments in here explaining where this code came from. I assume a lot of it is from an older version of run-api-tests.

&gt; Tools/Scripts/run-api-tests:86
&gt; +if (runAllTests()) {
&gt; +    exit 1;
&gt; +}
&gt; +else {
&gt; +    exit 0;
&gt; +}

&quot;else&quot; should be on the same line as &quot;}&quot;. But there&apos;s no need for &quot;else&quot; after &quot;exit&quot;.

&gt; Tools/Scripts/run-api-tests:181
&gt; +    f ($result == 0) {

&quot;f&quot;?

We normally say &quot;!$result&quot; instead of &quot;$result == 0&quot;.

&gt; Tools/Scripts/run-api-tests:207
&gt; +        unless ($verbose) {
&gt; +            open(DEVNULL, &quot;&gt;&quot;, File::Spec-&gt;devnull()) or die &quot;Failed to open /dev/null&quot;;
&gt; +            $childErr = &quot;&gt;&amp;DEVNULL&quot;;
&gt; +        } else {
&gt; +            $childErr = &quot;&gt;&amp;STDERR&quot;;
&gt; +        }

I find &quot;unless/else&quot; confusing. &quot;if/else&quot; hurts my tiny head much less.

&gt; Tools/Scripts/run-api-tests:297
&gt; -
&gt; +    

You should undo this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406639</commentid>
    <comment_count>5</comment_count>
      <attachid>94113</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-19 14:13:00 -0700</bug_when>
    <thetext>Created attachment 94113
CR feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406644</commentid>
    <comment_count>6</comment_count>
      <attachid>94115</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-19 14:17:24 -0700</bug_when>
    <thetext>Created attachment 94115
CR feedback++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406649</commentid>
    <comment_count>7</comment_count>
      <attachid>94115</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-19 14:22:56 -0700</bug_when>
    <thetext>Comment on attachment 94115
CR feedback++

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

&gt; Tools/Scripts/run-api-tests:39
&gt; +use Term::ANSIColor qw(:constants);

Is this part of the standard Perl distribution?  From briefly googling, I came across &lt;http://perldoc.perl.org/perlfaq8.html#How-do-I-do-fancy-stuff-with-the-keyboard%2fscreen%2fmouse%3f&gt;, which states that it isn&apos;t. That being said, Mac OS 10 10.6.7 includes this Perl module. We should also look to see if the WebKit Cgywin distribution (for WebKit Windows development) downloads and installs this module. I take it from Adam Roben&apos;s review that this module is included in our Cgywin distribution. Even better, can we make this module optional since it only affects the visual appearance of the output?

&gt; Tools/Scripts/run-api-tests:45
&gt; -sub runTestTool(@);
&gt; +sub dumpAllTests();
&gt; +sub runAllTests();
&gt; +sub runAllTestsInSuite($);
&gt; +sub runTest($$);
&gt; +sub populateTests();

Nit: Can we sort these?

&gt; Tools/Scripts/run-api-tests:86
&gt; +if (runAllTests()) {
&gt; +    exit 1;
&gt; +}
&gt; +else {
&gt; +    exit 0;
&gt; +}

I would write this in one-line:

exit(runAllTests() &gt; 0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406651</commentid>
    <comment_count>8</comment_count>
      <attachid>94115</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-19 14:29:10 -0700</bug_when>
    <thetext>Comment on attachment 94115
CR feedback++

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

&gt;&gt; Tools/Scripts/run-api-tests:39
&gt;&gt; +use Term::ANSIColor qw(:constants);
&gt; 
&gt; Is this part of the standard Perl distribution?  From briefly googling, I came across &lt;http://perldoc.perl.org/perlfaq8.html#How-do-I-do-fancy-stuff-with-the-keyboard%2fscreen%2fmouse%3f&gt;, which states that it isn&apos;t. That being said, Mac OS 10 10.6.7 includes this Perl module. We should also look to see if the WebKit Cgywin distribution (for WebKit Windows development) downloads and installs this module. I take it from Adam Roben&apos;s review that this module is included in our Cgywin distribution. Even better, can we make this module optional since it only affects the visual appearance of the output?

This has been there in original run-api-tests. This works on mac and and cygwin. I can remove this dependency, but maybe not in this checkin?

&gt;&gt; Tools/Scripts/run-api-tests:45
&gt;&gt; +sub populateTests();
&gt; 
&gt; Nit: Can we sort these?

Again, comes from original run-api-tests, but good call - I&apos;ll sort.

&gt;&gt; Tools/Scripts/run-api-tests:86
&gt;&gt; +}
&gt; 
&gt; I would write this in one-line:
&gt; 
&gt; exit(runAllTests() &gt; 0);

Hmm, my tiny brain has a hard time reasoning about integer-&gt;boolean-&gt;integer conversions...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406654</commentid>
    <comment_count>9</comment_count>
      <attachid>94117</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-19 14:35:01 -0700</bug_when>
    <thetext>Created attachment 94117
CR feedback++++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406673</commentid>
    <comment_count>10</comment_count>
      <attachid>94124</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-05-19 14:52:41 -0700</bug_when>
    <thetext>Created attachment 94124
Extra bit of feedback - dealing with return code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406759</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-19 17:11:10 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 94124:

java/lc3/JavaObject/JavaObjectToByte-006.html bug 60333 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406760</commentid>
    <comment_count>12</comment_count>
      <attachid>94124</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-19 17:12:43 -0700</bug_when>
    <thetext>Comment on attachment 94124
Extra bit of feedback - dealing with return code

Clearing flags on attachment: 94124

Committed r86907: &lt;http://trac.webkit.org/changeset/86907&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406761</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-19 17:12:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406829</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-19 19:10:37 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 94124:

http/tests/inspector/console-websocket-error.html bug 57392 (authors: pfeldman@chromium.org and yutak@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93972</attachid>
            <date>2011-05-18 12:58:59 -0700</date>
            <delta_ts>2011-05-18 13:01:37 -0700</delta_ts>
            <desc>Restoring &quot;running test one-by-one&quot; logic</desc>
            <filename>61088.patch</filename>
            <type>text/plain</type>
            <size>7100</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNWU4
N2NjLi5iODlmN2QwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDUtMTggIERtaXRyeSBMb21vdiAgPGRzbG9t
b3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBydW4tYXBpLXRlc3RzIHNob3VsZCBydW4gb25lIHRlc3QgcGVyIHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDg4CisKKyAg
ICAgICAgKiBTY3JpcHRzL3J1bi1hcGktdGVzdHM6CisKIDIwMTEtMDUtMTggIEFkYW0gUm9iZW4g
IDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIG5ldyBwYWdlIHRvIGJ1aWxkLndl
YmtpdC5vcmcgdG8gaGVscCBmaW5kIHdoZW4gdGVzdHMgc3RhcnRlZCBmYWlsaW5nCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1hcGkt
dGVzdHMKaW5kZXggYjlkODRiNS4uZDU5MzlmNyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tYXBpLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cwpAQCAtMzYsOCAr
MzYsMTMgQEAgdXNlIEdldG9wdDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCk7CiB1c2Ug
SVBDOjpPcGVuMzsKIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwordXNl
IFRlcm06OkFOU0lDb2xvciBxdyg6Y29uc3RhbnRzKTsKIAotc3ViIHJ1blRlc3RUb29sKEApOwor
c3ViIGR1bXBBbGxUZXN0cygpOworc3ViIHJ1bkFsbFRlc3RzKCk7CitzdWIgcnVuQWxsVGVzdHNJ
blN1aXRlKCQpOworc3ViIHJ1blRlc3QoJCQpOworc3ViIHBvcHVsYXRlVGVzdHMoKTsKIHN1YiBi
dWlsZFRlc3RUb29sKCk7CiAKIG15ICRzaG93SGVscCA9IDA7CkBAIC02NiwxOCArNzEsNjcgQEAg
aWYgKCRzaG93SGVscCkgewogc2V0Q29uZmlndXJhdGlvbigpOwogYnVpbGRUZXN0VG9vbCgpOwog
c2V0UGF0aEZvclJ1bm5pbmdXZWJLaXRBcHAoXCVFTlYpOworbXkgJXRlc3RzVG9SdW4gPSBwb3B1
bGF0ZVRlc3RzKCk7CiAKIGlmICgkZHVtcCkgewotICAgIG15IEBkdW1wQXJndW1lbnRzID0gKCIt
LWd0ZXN0X2xpc3RfdGVzdHMiKTsKLSAgICBydW5UZXN0VG9vbChAZHVtcEFyZ3VtZW50cyk7Ci0g
ICAgZXhpdCgwKTsKKyAgICBkdW1wQWxsVGVzdHMoKTsKKyAgICBleGl0IDA7CiB9CiAKLXJ1blRl
c3RUb29sKCk7CitpZiAocnVuQWxsVGVzdHMoKSkgeworICAgIGV4aXQgMTsKK30KK2Vsc2Ugewor
ICAgIGV4aXQgMDsKK30KKworc3ViIGR1bXBBbGxUZXN0cygpCit7CisgICAgcHJpbnQgIkR1bXBp
bmcgdGVzdCBjYXNlc1xuIjsKKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworICAg
IGZvciBteSAkc3VpdGUgKGtleXMgJXRlc3RzVG9SdW4pIHsKKyAgICAgICAgcHJpbnQgJHN1aXRl
IC4gIjpcbiI7CisgICAgICAgIHByaW50IG1hcCB7ICIgICAiIC4gJF8gLiAiXG4iIH0gQHsgJHRl
c3RzVG9SdW57JHN1aXRlfSB9OworICAgIH0KKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0t
XG4iOworfQogCi1zdWIgcnVuVGVzdFRvb2woQCkKK3N1YiBydW5BbGxUZXN0cygpCiB7Ci0gICAg
bXkgKEBhcmd1bWVudHMpID0gQF87CisgICAgbXkgJGFueUZhaWx1cmVzID0gMDsKKyAgICBmb3Ig
bXkgJHN1aXRlIChrZXlzICV0ZXN0c1RvUnVuKSB7CisgICAgICAgIG15ICRmYWlsZWQgPSBydW5B
bGxUZXN0c0luU3VpdGUoJHN1aXRlKTsKKyAgICAgICAgaWYgKCRmYWlsZWQpIHsKKyAgICAgICAg
ICAgICRhbnlGYWlsdXJlcyA9IDE7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuICRhbnlG
YWlsdXJlczsKK30KKworc3ViIHJ1bkFsbFRlc3RzSW5TdWl0ZSgkKQoreworICAgIG15ICgkc3Vp
dGUpID0gQF87CisgICAgcHJpbnQgIlN1aXRlOiAkc3VpdGVcbiI7CisKKyAgICBteSAkYW55RmFp
bHVyZXMgPSAwOworICAgIGZvciBteSAkdGVzdCAoQHskdGVzdHNUb1J1bnskc3VpdGV9fSkgewor
ICAgICAgICBteSAkZmFpbGVkID0gcnVuVGVzdCgkc3VpdGUsICR0ZXN0KTsKKyAgICAgICAgaWYg
KCRmYWlsZWQpIHsKKyAgICAgICAgICAgICRhbnlGYWlsdXJlcyA9IDE7CisgICAgICAgIH0KKyAg
ICB9CisgICAKKyAgICByZXR1cm4gJGFueUZhaWx1cmVzOworfQorCitzdWIgcnVuVGVzdCgkJCkK
K3sKKyAgICBteSAoJHN1aXRlLCAkdGVzdE5hbWUpID0gQF87CisgICAgbXkgJHRlc3QgPSAkc3Vp
dGUgLiAiLiIgLiAkdGVzdE5hbWU7CisKKyAgICBteSAkZ3Rlc3RBcmcgPSAiLS1ndGVzdF9maWx0
ZXI9IiAuICR0ZXN0OworCisgICAgcHJpbnQgIiAgICBUZXN0OiAkdGVzdE5hbWUgLT4gIjsKIAog
ICAgIG15ICRyZXN1bHQgPSAwOwogICAgIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKQEAgLTg4
LDMwICsxNDIsMzAgQEAgc3ViIHJ1blRlc3RUb29sKEApCiAKICAgICAgICAgbG9jYWwgKkRFVk5V
TEw7CiAgICAgICAgIG15ICgkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIpOwotCi0gICAg
ICAgICRjaGlsZE91dCA9ICI+JlNURE9VVCI7CiAgICAgICAgIHVubGVzcyAoJHZlcmJvc2UpIHsK
ICAgICAgICAgICAgIG9wZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkpIG9y
IGRpZSAiRmFpbGVkIHRvIG9wZW4gL2Rldi9udWxsIjsKKyAgICAgICAgICAgICRjaGlsZE91dCA9
ICI+JkRFVk5VTEwiOwogICAgICAgICAgICAgJGNoaWxkRXJyID0gIj4mREVWTlVMTCI7CiAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAkY2hpbGRPdXQgPSAiPiZTVERPVVQiOwogICAgICAg
ICAgICAgJGNoaWxkRXJyID0gIj4mU1RERVJSIjsKICAgICAgICAgfQogCiAgICAgICAgIG15ICRw
aWQ7CiAgICAgICAgIGlmIChhcmNoaXRlY3R1cmUoKSkgewotICAgICAgICAgICAgJHBpZCA9IG9w
ZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgImFyY2giLCAiLSIgLiBhcmNoaXRl
Y3R1cmUoKSwgJGFwaVRlc3RlclBhdGgsIEBhcmd1bWVudHMsIEBBUkdWKSBvciBkaWUgIkZhaWxl
ZCB0byBydW4gdGVzdCB0b29sLiI7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4s
ICRjaGlsZE91dCwgJGNoaWxkRXJyLCAiYXJjaCIsICItIiAuIGFyY2hpdGVjdHVyZSgpLCAkYXBp
VGVzdGVyUGF0aCwgJGd0ZXN0QXJnLCBAQVJHVikgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3Q6
ICR0ZXN0LiI7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNo
aWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAkYXBpVGVzdGVyUGF0aCwgQGFyZ3VtZW50cywg
QEFSR1YpIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biB0ZXN0IHRvb2wuIjsKKyAgICAgICAgICAgICRw
aWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICRhcGlUZXN0ZXJQYXRo
LCAkZ3Rlc3RBcmcsIEBBUkdWKSBvciBkaWUgIkZhaWxlZCB0byBydW4gdGVzdDogJHRlc3QuIjsK
ICAgICAgICAgfQogCiAgICAgICAgIGNsb3NlKCRjaGlsZEluKTsKICAgICAgICAgY2xvc2UoJGNo
aWxkT3V0KTsKICAgICAgICAgY2xvc2UoJGNoaWxkRXJyKTsKLSAgICAgICAgY2xvc2UoREVWTlVM
TCk7CisgICAgICAgIGNsb3NlKERFVk5VTEwpIHVubGVzcyAoJHZlcmJvc2UpOwogCiAgICAgICAg
IHdhaXRwaWQoJHBpZCwgMCk7CiAgICAgICAgICRyZXN1bHQgPSAkPzsKLSAgICB9IGVsc2lmIChp
c0FwcGxlV2luV2ViS2l0KCkpIHsKKyAgIH0gZWxzaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgewog
ICAgICAgICBteSAkYXBpVGVzdGVyTmFtZVN1ZmZpeDsKICAgICAgICAgaWYgKGNvbmZpZ3VyYXRp
b25Gb3JWaXN1YWxTdHVkaW8oKSBuZSAiRGVidWdfQWxsIikgewogICAgICAgICAgICAgJGFwaVRl
c3Rlck5hbWVTdWZmaXggPSAiIjsKQEAgLTExOSwxNCArMTczLDkxIEBAIHN1YiBydW5UZXN0VG9v
bChAKQogICAgICAgICAgICAgJGFwaVRlc3Rlck5hbWVTdWZmaXggPSAiX2RlYnVnIjsKICAgICAg
ICAgfQogICAgICAgICBteSAkYXBpVGVzdGVyUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUocHJv
ZHVjdERpcigpLCAiVGVzdFdlYktpdEFQSSRhcGlUZXN0ZXJOYW1lU3VmZml4LmV4ZSIpOwotICAg
ICAgICAkcmVzdWx0ID0gc3lzdGVtIHsgJGFwaVRlc3RlclBhdGggfSAkYXBpVGVzdGVyUGF0aCwg
QEFSR1Y7CisgICAgICAgICRyZXN1bHQgPSBzeXN0ZW0geyAkYXBpVGVzdGVyUGF0aCB9ICRhcGlU
ZXN0ZXJQYXRoLCAkZ3Rlc3RBcmcsIEBBUkdWOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGRpZSAi
cnVuLWFwaS10ZXN0cyBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uXG4iCiAgICAg
fQotICAgIAorICAgCisgICAgZiAoJHJlc3VsdCA9PSAwKSB7CisgICAgICAgIHByaW50IEJPTEQg
R1JFRU4sICJQYXNzZWQiLCBSRVNFVCwgIlxuIjsKKyAgICB9IGVsc2UgeworICAgICAgICBwcmlu
dCBCT0xEIFJFRCwgIkZhaWxlZCIsIFJFU0VULCAiXG4iOworICAgIH0KICAgICByZXR1cm4gJHJl
c3VsdDsKIH0KIAorc3ViIHBvcHVsYXRlVGVzdHMoKQoreworICAgIG15IEB0ZXN0czsKKyAgICBt
eSAkdGltZWRPdXQ7CisKKyAgICBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7CisgICAgICAgIG15
ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOworICAgICAgICAkRU5We0RZTERfRlJBTUVXT1JL
X1BBVEh9ID0gJHByb2R1Y3REaXI7CisgICAgICAgICRFTlZ7V0VCS0lUX1VOU0VUX0RZTERfRlJB
TUVXT1JLX1BBVEh9ID0gIllFUyI7CisgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRoID0gIiRwcm9k
dWN0RGlyL1Rlc3RXZWJLaXRBUEkiOworCisgICAgICAgIGxvY2FsICpERVZOVUxMOworICAgICAg
ICBteSAoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyKTsKKyAgICAgICAgdW5sZXNzICgk
dmVyYm9zZSkgeworICAgICAgICAgICAgb3BlbihERVZOVUxMLCAiPiIsIEZpbGU6OlNwZWMtPmRl
dm51bGwoKSkgb3IgZGllICJGYWlsZWQgdG8gb3BlbiAvZGV2L251bGwiOworICAgICAgICAgICAg
JGNoaWxkRXJyID0gIj4mREVWTlVMTCI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAk
Y2hpbGRFcnIgPSAiPiZTVERFUlIiOworICAgICAgICB9CisKKyAgICAgICAgbXkgJHBpZDsKKyAg
ICAgICAgaWYgKGFyY2hpdGVjdHVyZSgpKSB7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNo
aWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAiYXJjaCIsICItIiAuIGFyY2hpdGVjdHVyZSgp
LCAkYXBpVGVzdGVyUGF0aCwgIi0tZ3Rlc3RfbGlzdF90ZXN0cyIpIG9yIGRpZSAiRmFpbGVkIHRv
IGJ1aWxkIGxpc3Qgb2YgdGVzdHMhIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICRw
aWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICRhcGlUZXN0ZXJQYXRo
LCAiLS1ndGVzdF9saXN0X3Rlc3RzIikgb3IgZGllICJGYWlsZWQgdG8gYnVpbGQgbGlzdCBvZiB0
ZXN0cyEiOworICAgICAgICB9CisKKyAgICAgICAgY2xvc2UoJGNoaWxkSW4pOworICAgICAgICBA
dGVzdHMgPSA8JGNoaWxkT3V0PjsKKyAgICAgICAgY2xvc2UoJGNoaWxkT3V0KTsKKyAgICAgICAg
Y2xvc2UoJGNoaWxkRXJyKTsKKyAgICAgICAgY2xvc2UoREVWTlVMTCkgdW5sZXNzICgkdmVyYm9z
ZSk7CisKKyAgICAgICAgd2FpdHBpZCgkcGlkLCAwKTsKKyAgICAgICAgbXkgJHJlc3VsdCA9ICQ/
OworCisgICAgICAgIGlmICgkcmVzdWx0KSB7CisgICAgICAgICAgICBwcmludCBTVERFUlIgIkZh
aWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzIVxuIjsKKyAgICAgICAgICAgIGV4aXQgZXhpdFN0
YXR1cygkcmVzdWx0KTsKKyAgICAgICAgfQorICAgIH0gZWxzaWYgKGlzQXBwbGVXaW5XZWJLaXQo
KSkgeworICAgICAgICBteSAkYXBpVGVzdGVyTmFtZVN1ZmZpeDsKKyAgICAgICAgaWYgKGNvbmZp
Z3VyYXRpb25Gb3JWaXN1YWxTdHVkaW8oKSBuZSAiRGVidWdfQWxsIikgeworICAgICAgICAgICAg
JGFwaVRlc3Rlck5hbWVTdWZmaXggPSAiIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICRhcGlUZXN0ZXJOYW1lU3VmZml4ID0gIl9kZWJ1ZyI7CisgICAgICAgIH0KKyAgICAgICAgbXkg
JGFwaVRlc3RlclBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHByb2R1Y3REaXIoKSwgIlRlc3RX
ZWJLaXRBUEkkYXBpVGVzdGVyTmFtZVN1ZmZpeC5leGUiKTsKKyAgICAgICAgb3BlbihURVNUUywg
Ii18IiwgJGFwaVRlc3RlclBhdGgsICItLWR1bXAtdGVzdHMiKSBvciBkaWUgJCE7CisgICAgICAg
IEB0ZXN0cyA9IDxURVNUUz47CisgICAgICAgIGNsb3NlKFRFU1RTKSBvciBkaWUgJCE7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgZGllICJydW4tYXBpLXRlc3RzIGlzIG5vdCBzdXBwb3J0ZWQgb24g
dGhpcyBwbGF0Zm9ybS5cbiIKKyAgICB9CisKKyAgICBteSAla2V5ZWRUZXN0cyA9ICgpOworICAg
IG15ICRzdWl0ZTsKKyAgICBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgeworICAgICAgICR0ZXN0ID1+
IHMvW1xyXG5dKiQvLzsKKyAgICAgICBpZiAoJHRlc3QgPX4gbS9cLiQvKSB7CisgICAgICAgICAg
JHRlc3QgPX4gcy9cLiQvLzsKKyAgICAgICAgICAkc3VpdGUgPSAkdGVzdDsKKyAgICAgICB9IGVs
c2UgeworICAgICAgICAgICR0ZXN0ID1+IHMvXlxzKi8vOworICAgICAgICAgIHB1c2ggQHska2V5
ZWRUZXN0c3skc3VpdGV9fSwgJHRlc3Q7CisgICAgICAgIH0KKyAgICB9CisgCisgICAgcmV0dXJu
ICVrZXllZFRlc3RzOworfQorCisKIHN1YiBidWlsZFRlc3RUb29sKCkKIHsKICAgICBteSAkb3Jp
Z2luYWxDd2QgPSBnZXRjd2QoKTsKQEAgLTE2Myw2ICsyOTQsNiBAQCBzdWIgYnVpbGRUZXN0VG9v
bCgpCiAgICAgICAgIHByaW50IFNUREVSUiAiQ29tcGlsaW5nIFRlc3RXZWJLaXRBUEkgZmFpbGVk
IVxuIjsKICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCRidWlsZFJlc3VsdCk7CiAgICAgfQotCisg
ICAgCiAgICAgY2hkaXIgJG9yaWdpbmFsQ3dkOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93974</attachid>
            <date>2011-05-18 13:01:37 -0700</date>
            <delta_ts>2011-05-19 14:13:00 -0700</delta_ts>
            <desc>Small formatting issue</desc>
            <filename>61088.patch</filename>
            <type>text/plain</type>
            <size>6893</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNWU4
N2NjLi5iODlmN2QwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDUtMTggIERtaXRyeSBMb21vdiAgPGRzbG9t
b3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBydW4tYXBpLXRlc3RzIHNob3VsZCBydW4gb25lIHRlc3QgcGVyIHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDg4CisKKyAg
ICAgICAgKiBTY3JpcHRzL3J1bi1hcGktdGVzdHM6CisKIDIwMTEtMDUtMTggIEFkYW0gUm9iZW4g
IDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIG5ldyBwYWdlIHRvIGJ1aWxkLndl
YmtpdC5vcmcgdG8gaGVscCBmaW5kIHdoZW4gdGVzdHMgc3RhcnRlZCBmYWlsaW5nCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1hcGkt
dGVzdHMKaW5kZXggYjlkODRiNS4uMzBhYzZlNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tYXBpLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cwpAQCAtMzYsOCAr
MzYsMTMgQEAgdXNlIEdldG9wdDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCk7CiB1c2Ug
SVBDOjpPcGVuMzsKIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwordXNl
IFRlcm06OkFOU0lDb2xvciBxdyg6Y29uc3RhbnRzKTsKIAotc3ViIHJ1blRlc3RUb29sKEApOwor
c3ViIGR1bXBBbGxUZXN0cygpOworc3ViIHJ1bkFsbFRlc3RzKCk7CitzdWIgcnVuQWxsVGVzdHNJ
blN1aXRlKCQpOworc3ViIHJ1blRlc3QoJCQpOworc3ViIHBvcHVsYXRlVGVzdHMoKTsKIHN1YiBi
dWlsZFRlc3RUb29sKCk7CiAKIG15ICRzaG93SGVscCA9IDA7CkBAIC02NiwxOCArNzEsNjcgQEAg
aWYgKCRzaG93SGVscCkgewogc2V0Q29uZmlndXJhdGlvbigpOwogYnVpbGRUZXN0VG9vbCgpOwog
c2V0UGF0aEZvclJ1bm5pbmdXZWJLaXRBcHAoXCVFTlYpOworbXkgJXRlc3RzVG9SdW4gPSBwb3B1
bGF0ZVRlc3RzKCk7CiAKIGlmICgkZHVtcCkgewotICAgIG15IEBkdW1wQXJndW1lbnRzID0gKCIt
LWd0ZXN0X2xpc3RfdGVzdHMiKTsKLSAgICBydW5UZXN0VG9vbChAZHVtcEFyZ3VtZW50cyk7Ci0g
ICAgZXhpdCgwKTsKKyAgICBkdW1wQWxsVGVzdHMoKTsKKyAgICBleGl0IDA7CiB9CiAKLXJ1blRl
c3RUb29sKCk7CitpZiAocnVuQWxsVGVzdHMoKSkgeworICAgIGV4aXQgMTsKK30KK2Vsc2Ugewor
ICAgIGV4aXQgMDsKK30KKworc3ViIGR1bXBBbGxUZXN0cygpCit7CisgICAgcHJpbnQgIkR1bXBp
bmcgdGVzdCBjYXNlc1xuIjsKKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworICAg
IGZvciBteSAkc3VpdGUgKGtleXMgJXRlc3RzVG9SdW4pIHsKKyAgICAgICAgcHJpbnQgJHN1aXRl
IC4gIjpcbiI7CisgICAgICAgIHByaW50IG1hcCB7ICIgICAiIC4gJF8gLiAiXG4iIH0gQHsgJHRl
c3RzVG9SdW57JHN1aXRlfSB9OworICAgIH0KKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0t
XG4iOworfQorCitzdWIgcnVuQWxsVGVzdHMoKQoreworICAgIG15ICRhbnlGYWlsdXJlcyA9IDA7
CisgICAgZm9yIG15ICRzdWl0ZSAoa2V5cyAldGVzdHNUb1J1bikgeworICAgICAgICBteSAkZmFp
bGVkID0gcnVuQWxsVGVzdHNJblN1aXRlKCRzdWl0ZSk7CisgICAgICAgIGlmICgkZmFpbGVkKSB7
CisgICAgICAgICAgICAkYW55RmFpbHVyZXMgPSAxOworICAgICAgICB9CisgICAgfQorICAgIHJl
dHVybiAkYW55RmFpbHVyZXM7Cit9CiAKLXN1YiBydW5UZXN0VG9vbChAKQorc3ViIHJ1bkFsbFRl
c3RzSW5TdWl0ZSgkKQogewotICAgIG15IChAYXJndW1lbnRzKSA9IEBfOworICAgIG15ICgkc3Vp
dGUpID0gQF87CisgICAgcHJpbnQgIlN1aXRlOiAkc3VpdGVcbiI7CisKKyAgICBteSAkYW55RmFp
bHVyZXMgPSAwOworICAgIGZvciBteSAkdGVzdCAoQHskdGVzdHNUb1J1bnskc3VpdGV9fSkgewor
ICAgICAgICBteSAkZmFpbGVkID0gcnVuVGVzdCgkc3VpdGUsICR0ZXN0KTsKKyAgICAgICAgaWYg
KCRmYWlsZWQpIHsKKyAgICAgICAgICAgICRhbnlGYWlsdXJlcyA9IDE7CisgICAgICAgIH0KKyAg
ICB9CisgICAKKyAgICByZXR1cm4gJGFueUZhaWx1cmVzOworfQorCitzdWIgcnVuVGVzdCgkJCkK
K3sKKyAgICBteSAoJHN1aXRlLCAkdGVzdE5hbWUpID0gQF87CisgICAgbXkgJHRlc3QgPSAkc3Vp
dGUgLiAiLiIgLiAkdGVzdE5hbWU7CisKKyAgICBteSAkZ3Rlc3RBcmcgPSAiLS1ndGVzdF9maWx0
ZXI9IiAuICR0ZXN0OworCisgICAgcHJpbnQgIiAgICBUZXN0OiAkdGVzdE5hbWUgLT4gIjsKIAog
ICAgIG15ICRyZXN1bHQgPSAwOwogICAgIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKQEAgLTg4
LDI2ICsxNDIsMjYgQEAgc3ViIHJ1blRlc3RUb29sKEApCiAKICAgICAgICAgbG9jYWwgKkRFVk5V
TEw7CiAgICAgICAgIG15ICgkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIpOwotCi0gICAg
ICAgICRjaGlsZE91dCA9ICI+JlNURE9VVCI7CiAgICAgICAgIHVubGVzcyAoJHZlcmJvc2UpIHsK
ICAgICAgICAgICAgIG9wZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkpIG9y
IGRpZSAiRmFpbGVkIHRvIG9wZW4gL2Rldi9udWxsIjsKKyAgICAgICAgICAgICRjaGlsZE91dCA9
ICI+JkRFVk5VTEwiOwogICAgICAgICAgICAgJGNoaWxkRXJyID0gIj4mREVWTlVMTCI7CiAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAkY2hpbGRPdXQgPSAiPiZTVERPVVQiOwogICAgICAg
ICAgICAgJGNoaWxkRXJyID0gIj4mU1RERVJSIjsKICAgICAgICAgfQogCiAgICAgICAgIG15ICRw
aWQ7CiAgICAgICAgIGlmIChhcmNoaXRlY3R1cmUoKSkgewotICAgICAgICAgICAgJHBpZCA9IG9w
ZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgImFyY2giLCAiLSIgLiBhcmNoaXRl
Y3R1cmUoKSwgJGFwaVRlc3RlclBhdGgsIEBhcmd1bWVudHMsIEBBUkdWKSBvciBkaWUgIkZhaWxl
ZCB0byBydW4gdGVzdCB0b29sLiI7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4s
ICRjaGlsZE91dCwgJGNoaWxkRXJyLCAiYXJjaCIsICItIiAuIGFyY2hpdGVjdHVyZSgpLCAkYXBp
VGVzdGVyUGF0aCwgJGd0ZXN0QXJnLCBAQVJHVikgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3Q6
ICR0ZXN0LiI7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNo
aWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAkYXBpVGVzdGVyUGF0aCwgQGFyZ3VtZW50cywg
QEFSR1YpIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biB0ZXN0IHRvb2wuIjsKKyAgICAgICAgICAgICRw
aWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICRhcGlUZXN0ZXJQYXRo
LCAkZ3Rlc3RBcmcsIEBBUkdWKSBvciBkaWUgIkZhaWxlZCB0byBydW4gdGVzdDogJHRlc3QuIjsK
ICAgICAgICAgfQogCiAgICAgICAgIGNsb3NlKCRjaGlsZEluKTsKICAgICAgICAgY2xvc2UoJGNo
aWxkT3V0KTsKICAgICAgICAgY2xvc2UoJGNoaWxkRXJyKTsKLSAgICAgICAgY2xvc2UoREVWTlVM
TCk7CisgICAgICAgIGNsb3NlKERFVk5VTEwpIHVubGVzcyAoJHZlcmJvc2UpOwogCiAgICAgICAg
IHdhaXRwaWQoJHBpZCwgMCk7CiAgICAgICAgICRyZXN1bHQgPSAkPzsKQEAgLTExOSwxNCArMTcz
LDkxIEBAIHN1YiBydW5UZXN0VG9vbChAKQogICAgICAgICAgICAgJGFwaVRlc3Rlck5hbWVTdWZm
aXggPSAiX2RlYnVnIjsKICAgICAgICAgfQogICAgICAgICBteSAkYXBpVGVzdGVyUGF0aCA9IEZp
bGU6OlNwZWMtPmNhdGZpbGUocHJvZHVjdERpcigpLCAiVGVzdFdlYktpdEFQSSRhcGlUZXN0ZXJO
YW1lU3VmZml4LmV4ZSIpOwotICAgICAgICAkcmVzdWx0ID0gc3lzdGVtIHsgJGFwaVRlc3RlclBh
dGggfSAkYXBpVGVzdGVyUGF0aCwgQEFSR1Y7CisgICAgICAgICRyZXN1bHQgPSBzeXN0ZW0geyAk
YXBpVGVzdGVyUGF0aCB9ICRhcGlUZXN0ZXJQYXRoLCAkZ3Rlc3RBcmcsIEBBUkdWOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgIGRpZSAicnVuLWFwaS10ZXN0cyBpcyBub3Qgc3VwcG9ydGVkIG9uIHRo
aXMgcGxhdGZvcm0uXG4iCiAgICAgfQotICAgIAorICAgCisgICAgZiAoJHJlc3VsdCA9PSAwKSB7
CisgICAgICAgIHByaW50IEJPTEQgR1JFRU4sICJQYXNzZWQiLCBSRVNFVCwgIlxuIjsKKyAgICB9
IGVsc2UgeworICAgICAgICBwcmludCBCT0xEIFJFRCwgIkZhaWxlZCIsIFJFU0VULCAiXG4iOwor
ICAgIH0KICAgICByZXR1cm4gJHJlc3VsdDsKIH0KIAorc3ViIHBvcHVsYXRlVGVzdHMoKQorewor
ICAgIG15IEB0ZXN0czsKKyAgICBteSAkdGltZWRPdXQ7CisKKyAgICBpZiAoaXNBcHBsZU1hY1dl
YktpdCgpKSB7CisgICAgICAgIG15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOworICAgICAg
ICAkRU5We0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJHByb2R1Y3REaXI7CisgICAgICAgICRFTlZ7
V0VCS0lUX1VOU0VUX0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gIllFUyI7CisgICAgICAgIG15ICRh
cGlUZXN0ZXJQYXRoID0gIiRwcm9kdWN0RGlyL1Rlc3RXZWJLaXRBUEkiOworCisgICAgICAgIGxv
Y2FsICpERVZOVUxMOworICAgICAgICBteSAoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJy
KTsKKyAgICAgICAgdW5sZXNzICgkdmVyYm9zZSkgeworICAgICAgICAgICAgb3BlbihERVZOVUxM
LCAiPiIsIEZpbGU6OlNwZWMtPmRldm51bGwoKSkgb3IgZGllICJGYWlsZWQgdG8gb3BlbiAvZGV2
L251bGwiOworICAgICAgICAgICAgJGNoaWxkRXJyID0gIj4mREVWTlVMTCI7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAkY2hpbGRFcnIgPSAiPiZTVERFUlIiOworICAgICAgICB9CisK
KyAgICAgICAgbXkgJHBpZDsKKyAgICAgICAgaWYgKGFyY2hpdGVjdHVyZSgpKSB7CisgICAgICAg
ICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAiYXJjaCIs
ICItIiAuIGFyY2hpdGVjdHVyZSgpLCAkYXBpVGVzdGVyUGF0aCwgIi0tZ3Rlc3RfbGlzdF90ZXN0
cyIpIG9yIGRpZSAiRmFpbGVkIHRvIGJ1aWxkIGxpc3Qgb2YgdGVzdHMhIjsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICRwaWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hp
bGRFcnIsICRhcGlUZXN0ZXJQYXRoLCAiLS1ndGVzdF9saXN0X3Rlc3RzIikgb3IgZGllICJGYWls
ZWQgdG8gYnVpbGQgbGlzdCBvZiB0ZXN0cyEiOworICAgICAgICB9CisKKyAgICAgICAgY2xvc2Uo
JGNoaWxkSW4pOworICAgICAgICBAdGVzdHMgPSA8JGNoaWxkT3V0PjsKKyAgICAgICAgY2xvc2Uo
JGNoaWxkT3V0KTsKKyAgICAgICAgY2xvc2UoJGNoaWxkRXJyKTsKKyAgICAgICAgY2xvc2UoREVW
TlVMTCkgdW5sZXNzICgkdmVyYm9zZSk7CisKKyAgICAgICAgd2FpdHBpZCgkcGlkLCAwKTsKKyAg
ICAgICAgbXkgJHJlc3VsdCA9ICQ/OworCisgICAgICAgIGlmICgkcmVzdWx0KSB7CisgICAgICAg
ICAgICBwcmludCBTVERFUlIgIkZhaWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzIVxuIjsKKyAg
ICAgICAgICAgIGV4aXQgZXhpdFN0YXR1cygkcmVzdWx0KTsKKyAgICAgICAgfQorICAgIH0gZWxz
aWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgeworICAgICAgICBteSAkYXBpVGVzdGVyTmFtZVN1ZmZp
eDsKKyAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW8oKSBuZSAiRGVidWdf
QWxsIikgeworICAgICAgICAgICAgJGFwaVRlc3Rlck5hbWVTdWZmaXggPSAiIjsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICRhcGlUZXN0ZXJOYW1lU3VmZml4ID0gIl9kZWJ1ZyI7Cisg
ICAgICAgIH0KKyAgICAgICAgbXkgJGFwaVRlc3RlclBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxl
KHByb2R1Y3REaXIoKSwgIlRlc3RXZWJLaXRBUEkkYXBpVGVzdGVyTmFtZVN1ZmZpeC5leGUiKTsK
KyAgICAgICAgb3BlbihURVNUUywgIi18IiwgJGFwaVRlc3RlclBhdGgsICItLWR1bXAtdGVzdHMi
KSBvciBkaWUgJCE7CisgICAgICAgIEB0ZXN0cyA9IDxURVNUUz47CisgICAgICAgIGNsb3NlKFRF
U1RTKSBvciBkaWUgJCE7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGllICJydW4tYXBpLXRlc3Rz
IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS5cbiIKKyAgICB9CisKKyAgICBteSAl
a2V5ZWRUZXN0cyA9ICgpOworICAgIG15ICRzdWl0ZTsKKyAgICBmb3IgbXkgJHRlc3QgKEB0ZXN0
cykgeworICAgICAgICR0ZXN0ID1+IHMvW1xyXG5dKiQvLzsKKyAgICAgICBpZiAoJHRlc3QgPX4g
bS9cLiQvKSB7CisgICAgICAgICAgJHRlc3QgPX4gcy9cLiQvLzsKKyAgICAgICAgICAkc3VpdGUg
PSAkdGVzdDsKKyAgICAgICB9IGVsc2UgeworICAgICAgICAgICR0ZXN0ID1+IHMvXlxzKi8vOwor
ICAgICAgICAgIHB1c2ggQHska2V5ZWRUZXN0c3skc3VpdGV9fSwgJHRlc3Q7CisgICAgICAgIH0K
KyAgICB9CisgCisgICAgcmV0dXJuICVrZXllZFRlc3RzOworfQorCisKIHN1YiBidWlsZFRlc3RU
b29sKCkKIHsKICAgICBteSAkb3JpZ2luYWxDd2QgPSBnZXRjd2QoKTsKQEAgLTE2Myw2ICsyOTQs
NiBAQCBzdWIgYnVpbGRUZXN0VG9vbCgpCiAgICAgICAgIHByaW50IFNUREVSUiAiQ29tcGlsaW5n
IFRlc3RXZWJLaXRBUEkgZmFpbGVkIVxuIjsKICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCRidWls
ZFJlc3VsdCk7CiAgICAgfQotCisgICAgCiAgICAgY2hkaXIgJG9yaWdpbmFsQ3dkOwogfQo=
</data>
<flag name="review"
          id="87211"
          type_id="1"
          status="+"
          setter="aroben"
    />
    <flag name="commit-queue"
          id="87212"
          type_id="3"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94113</attachid>
            <date>2011-05-19 14:13:00 -0700</date>
            <delta_ts>2011-05-19 14:17:24 -0700</delta_ts>
            <desc>CR feedback</desc>
            <filename>61088.patch</filename>
            <type>text/plain</type>
            <size>6947</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjYzI3
Y2JiLi5jOGZiMGM2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTggIERtaXRyeSBMb21vdiAgPGRzbG9t
b3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgorCisgICAg
ICAgIHJ1bi1hcGktdGVzdHMgc2hvdWxkIHJ1biBvbmUgdGVzdCBwZXIgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwODgKKworICAgICAg
ICAqIFNjcmlwdHMvcnVuLWFwaS10ZXN0czogUmVzdXJyZWN0aW5nIHRoZSBwcmV2aW91cyByZXZp
c29uIG9mIHRoaXMgZmlsZSwgd2l0aCBmaXhlcyB0byBzeXN0ZW0gY2FsbCB1bmRlciBXaW5kb3dz
LCAKKyAgICAgICAgcmV0dXJuIGNvZGUsIGFuZCBwYXJzaW5nIEdUZXN0IG91dHB1dCBmb3JtYXQu
CisKIDIwMTEtMDUtMTUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1hcGktdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKaW5kZXggYjlkODRi
NS4uZmU2ZDY1YSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCisrKyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cwpAQCAtMzYsOCArMzYsMTMgQEAgdXNlIEdldG9w
dDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCk7CiB1c2UgSVBDOjpPcGVuMzsKIHVzZSBs
aWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwordXNlIFRlcm06OkFOU0lDb2xvciBx
dyg6Y29uc3RhbnRzKTsKIAotc3ViIHJ1blRlc3RUb29sKEApOworc3ViIGR1bXBBbGxUZXN0cygp
Oworc3ViIHJ1bkFsbFRlc3RzKCk7CitzdWIgcnVuQWxsVGVzdHNJblN1aXRlKCQpOworc3ViIHJ1
blRlc3QoJCQpOworc3ViIHBvcHVsYXRlVGVzdHMoKTsKIHN1YiBidWlsZFRlc3RUb29sKCk7CiAK
IG15ICRzaG93SGVscCA9IDA7CkBAIC02NiwxOCArNzEsNjcgQEAgaWYgKCRzaG93SGVscCkgewog
c2V0Q29uZmlndXJhdGlvbigpOwogYnVpbGRUZXN0VG9vbCgpOwogc2V0UGF0aEZvclJ1bm5pbmdX
ZWJLaXRBcHAoXCVFTlYpOworbXkgJXRlc3RzVG9SdW4gPSBwb3B1bGF0ZVRlc3RzKCk7CiAKIGlm
ICgkZHVtcCkgewotICAgIG15IEBkdW1wQXJndW1lbnRzID0gKCItLWd0ZXN0X2xpc3RfdGVzdHMi
KTsKLSAgICBydW5UZXN0VG9vbChAZHVtcEFyZ3VtZW50cyk7Ci0gICAgZXhpdCgwKTsKKyAgICBk
dW1wQWxsVGVzdHMoKTsKKyAgICBleGl0IDA7CiB9CiAKLXJ1blRlc3RUb29sKCk7CitpZiAocnVu
QWxsVGVzdHMoKSkgeworICAgIGV4aXQgMTsKK30KK2Vsc2UgeworICAgIGV4aXQgMDsKK30KKwor
c3ViIGR1bXBBbGxUZXN0cygpCit7CisgICAgcHJpbnQgIkR1bXBpbmcgdGVzdCBjYXNlc1xuIjsK
KyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworICAgIGZvciBteSAkc3VpdGUgKGtl
eXMgJXRlc3RzVG9SdW4pIHsKKyAgICAgICAgcHJpbnQgJHN1aXRlIC4gIjpcbiI7CisgICAgICAg
IHByaW50IG1hcCB7ICIgICAiIC4gJF8gLiAiXG4iIH0gQHsgJHRlc3RzVG9SdW57JHN1aXRlfSB9
OworICAgIH0KKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworfQorCitzdWIgcnVu
QWxsVGVzdHMoKQoreworICAgIG15ICRhbnlGYWlsdXJlcyA9IDA7CisgICAgZm9yIG15ICRzdWl0
ZSAoa2V5cyAldGVzdHNUb1J1bikgeworICAgICAgICBteSAkZmFpbGVkID0gcnVuQWxsVGVzdHNJ
blN1aXRlKCRzdWl0ZSk7CisgICAgICAgIGlmICgkZmFpbGVkKSB7CisgICAgICAgICAgICAkYW55
RmFpbHVyZXMgPSAxOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAkYW55RmFpbHVyZXM7
Cit9CiAKLXN1YiBydW5UZXN0VG9vbChAKQorc3ViIHJ1bkFsbFRlc3RzSW5TdWl0ZSgkKQogewot
ICAgIG15IChAYXJndW1lbnRzKSA9IEBfOworICAgIG15ICgkc3VpdGUpID0gQF87CisgICAgcHJp
bnQgIlN1aXRlOiAkc3VpdGVcbiI7CisKKyAgICBteSAkYW55RmFpbHVyZXMgPSAwOworICAgIGZv
ciBteSAkdGVzdCAoQHskdGVzdHNUb1J1bnskc3VpdGV9fSkgeworICAgICAgICBteSAkZmFpbGVk
ID0gcnVuVGVzdCgkc3VpdGUsICR0ZXN0KTsKKyAgICAgICAgaWYgKCRmYWlsZWQpIHsKKyAgICAg
ICAgICAgICRhbnlGYWlsdXJlcyA9IDE7CisgICAgICAgIH0KKyAgICB9CisgICAKKyAgICByZXR1
cm4gJGFueUZhaWx1cmVzOworfQorCitzdWIgcnVuVGVzdCgkJCkKK3sKKyAgICBteSAoJHN1aXRl
LCAkdGVzdE5hbWUpID0gQF87CisgICAgbXkgJHRlc3QgPSAkc3VpdGUgLiAiLiIgLiAkdGVzdE5h
bWU7CisKKyAgICBteSAkZ3Rlc3RBcmcgPSAiLS1ndGVzdF9maWx0ZXI9IiAuICR0ZXN0OworCisg
ICAgcHJpbnQgIiAgICBUZXN0OiAkdGVzdE5hbWUgLT4gIjsKIAogICAgIG15ICRyZXN1bHQgPSAw
OwogICAgIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKQEAgLTg4LDggKzE0Miw2MyBAQCBzdWIg
cnVuVGVzdFRvb2woQCkKIAogICAgICAgICBsb2NhbCAqREVWTlVMTDsKICAgICAgICAgbXkgKCRj
aGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVycik7CisgICAgICAgIGlmICgkdmVyYm9zZSkgewor
ICAgICAgICAgICAgJGNoaWxkT3V0ID0gIj4mU1RET1VUIjsKKyAgICAgICAgICAgICRjaGlsZEVy
ciA9ICI+JlNUREVSUiI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBvcGVuKERFVk5V
TEwsICI+IiwgRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgIkZhaWxlZCB0byBvcGVuIC9k
ZXYvbnVsbCI7CisgICAgICAgICAgICAkY2hpbGRPdXQgPSAiPiZERVZOVUxMIjsKKyAgICAgICAg
ICAgICRjaGlsZEVyciA9ICI+JkRFVk5VTEwiOworICAgICAgICB9CiAKLSAgICAgICAgJGNoaWxk
T3V0ID0gIj4mU1RET1VUIjsKKyAgICAgICAgbXkgJHBpZDsKKyAgICAgICAgaWYgKGFyY2hpdGVj
dHVyZSgpKSB7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwg
JGNoaWxkRXJyLCAiYXJjaCIsICItIiAuIGFyY2hpdGVjdHVyZSgpLCAkYXBpVGVzdGVyUGF0aCwg
JGd0ZXN0QXJnLCBAQVJHVikgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3Q6ICR0ZXN0LiI7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGls
ZE91dCwgJGNoaWxkRXJyLCAkYXBpVGVzdGVyUGF0aCwgJGd0ZXN0QXJnLCBAQVJHVikgb3IgZGll
ICJGYWlsZWQgdG8gcnVuIHRlc3Q6ICR0ZXN0LiI7CisgICAgICAgIH0KKworICAgICAgICBjbG9z
ZSgkY2hpbGRJbik7CisgICAgICAgIGNsb3NlKCRjaGlsZE91dCk7CisgICAgICAgIGNsb3NlKCRj
aGlsZEVycik7CisgICAgICAgIGNsb3NlKERFVk5VTEwpIHVubGVzcyAoJHZlcmJvc2UpOworCisg
ICAgICAgIHdhaXRwaWQoJHBpZCwgMCk7CisgICAgICAgICRyZXN1bHQgPSAkPzsKKyAgICB9IGVs
c2lmIChpc0FwcGxlV2luV2ViS2l0KCkpIHsKKyAgICAgICAgbXkgJGFwaVRlc3Rlck5hbWVTdWZm
aXg7CisgICAgICAgIGlmIChjb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1ZGlvKCkgbmUgIkRlYnVn
X0FsbCIpIHsKKyAgICAgICAgICAgICRhcGlUZXN0ZXJOYW1lU3VmZml4ID0gIiI7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAkYXBpVGVzdGVyTmFtZVN1ZmZpeCA9ICJfZGVidWciOwor
ICAgICAgICB9CisgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0Zmls
ZShwcm9kdWN0RGlyKCksICJUZXN0V2ViS2l0QVBJJGFwaVRlc3Rlck5hbWVTdWZmaXguZXhlIik7
CisgICAgICAgICRyZXN1bHQgPSBzeXN0ZW0geyAkYXBpVGVzdGVyUGF0aCB9ICRhcGlUZXN0ZXJQ
YXRoLCAkZ3Rlc3RBcmcsIEBBUkdWOworICAgIH0gZWxzZSB7CisgICAgICAgIGRpZSAicnVuLWFw
aS10ZXN0cyBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uXG4iCisgICAgfQorICAg
CisgICAgaWYgKCEkcmVzdWx0KSB7CisgICAgICAgIHByaW50IEJPTEQgR1JFRU4sICJQYXNzZWQi
LCBSRVNFVCwgIlxuIjsKKyAgICB9IGVsc2UgeworICAgICAgICBwcmludCBCT0xEIFJFRCwgIkZh
aWxlZCIsIFJFU0VULCAiXG4iOworICAgIH0KKyAgICByZXR1cm4gJHJlc3VsdDsKK30KKworc3Vi
IHBvcHVsYXRlVGVzdHMoKQoreworICAgIG15IEB0ZXN0czsKKyAgICBteSAkdGltZWRPdXQ7CisK
KyAgICBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7CisgICAgICAgIG15ICRwcm9kdWN0RGlyID0g
cHJvZHVjdERpcigpOworICAgICAgICAkRU5We0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJHByb2R1
Y3REaXI7CisgICAgICAgICRFTlZ7V0VCS0lUX1VOU0VUX0RZTERfRlJBTUVXT1JLX1BBVEh9ID0g
IllFUyI7CisgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRoID0gIiRwcm9kdWN0RGlyL1Rlc3RXZWJL
aXRBUEkiOworCisgICAgICAgIGxvY2FsICpERVZOVUxMOworICAgICAgICBteSAoJGNoaWxkSW4s
ICRjaGlsZE91dCwgJGNoaWxkRXJyKTsKICAgICAgICAgdW5sZXNzICgkdmVyYm9zZSkgewogICAg
ICAgICAgICAgb3BlbihERVZOVUxMLCAiPiIsIEZpbGU6OlNwZWMtPmRldm51bGwoKSkgb3IgZGll
ICJGYWlsZWQgdG8gb3BlbiAvZGV2L251bGwiOwogICAgICAgICAgICAgJGNoaWxkRXJyID0gIj4m
REVWTlVMTCI7CkBAIC05OSwxOCArMjA4LDI0IEBAIHN1YiBydW5UZXN0VG9vbChAKQogCiAgICAg
ICAgIG15ICRwaWQ7CiAgICAgICAgIGlmIChhcmNoaXRlY3R1cmUoKSkgewotICAgICAgICAgICAg
JHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgImFyY2giLCAiLSIg
LiBhcmNoaXRlY3R1cmUoKSwgJGFwaVRlc3RlclBhdGgsIEBhcmd1bWVudHMsIEBBUkdWKSBvciBk
aWUgIkZhaWxlZCB0byBydW4gdGVzdCB0b29sLiI7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMo
JGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAiYXJjaCIsICItIiAuIGFyY2hpdGVjdHVy
ZSgpLCAkYXBpVGVzdGVyUGF0aCwgIi0tZ3Rlc3RfbGlzdF90ZXN0cyIpIG9yIGRpZSAiRmFpbGVk
IHRvIGJ1aWxkIGxpc3Qgb2YgdGVzdHMhIjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICRwaWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICRhcGlUZXN0ZXJQ
YXRoLCBAYXJndW1lbnRzLCBAQVJHVikgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3QgdG9vbC4i
OworICAgICAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVy
ciwgJGFwaVRlc3RlclBhdGgsICItLWd0ZXN0X2xpc3RfdGVzdHMiKSBvciBkaWUgIkZhaWxlZCB0
byBidWlsZCBsaXN0IG9mIHRlc3RzISI7CiAgICAgICAgIH0KIAogICAgICAgICBjbG9zZSgkY2hp
bGRJbik7CisgICAgICAgIEB0ZXN0cyA9IDwkY2hpbGRPdXQ+OwogICAgICAgICBjbG9zZSgkY2hp
bGRPdXQpOwogICAgICAgICBjbG9zZSgkY2hpbGRFcnIpOwotICAgICAgICBjbG9zZShERVZOVUxM
KTsKKyAgICAgICAgY2xvc2UoREVWTlVMTCkgdW5sZXNzICgkdmVyYm9zZSk7CiAKICAgICAgICAg
d2FpdHBpZCgkcGlkLCAwKTsKLSAgICAgICAgJHJlc3VsdCA9ICQ/OworICAgICAgICBteSAkcmVz
dWx0ID0gJD87CisKKyAgICAgICAgaWYgKCRyZXN1bHQpIHsKKyAgICAgICAgICAgIHByaW50IFNU
REVSUiAiRmFpbGVkIHRvIGJ1aWxkIGxpc3Qgb2YgdGVzdHMhXG4iOworICAgICAgICAgICAgZXhp
dCBleGl0U3RhdHVzKCRyZXN1bHQpOworICAgICAgICB9CiAgICAgfSBlbHNpZiAoaXNBcHBsZVdp
bldlYktpdCgpKSB7CiAgICAgICAgIG15ICRhcGlUZXN0ZXJOYW1lU3VmZml4OwogICAgICAgICBp
ZiAoY29uZmlndXJhdGlvbkZvclZpc3VhbFN0dWRpbygpIG5lICJEZWJ1Z19BbGwiKSB7CkBAIC0x
MTksMTQgKzIzNCwzMCBAQCBzdWIgcnVuVGVzdFRvb2woQCkKICAgICAgICAgICAgICRhcGlUZXN0
ZXJOYW1lU3VmZml4ID0gIl9kZWJ1ZyI7CiAgICAgICAgIH0KICAgICAgICAgbXkgJGFwaVRlc3Rl
clBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHByb2R1Y3REaXIoKSwgIlRlc3RXZWJLaXRBUEkk
YXBpVGVzdGVyTmFtZVN1ZmZpeC5leGUiKTsKLSAgICAgICAgJHJlc3VsdCA9IHN5c3RlbSB7ICRh
cGlUZXN0ZXJQYXRoIH0gJGFwaVRlc3RlclBhdGgsIEBBUkdWOworICAgICAgICBvcGVuKFRFU1RT
LCAiLXwiLCAkYXBpVGVzdGVyUGF0aCwgIi0tZHVtcC10ZXN0cyIpIG9yIGRpZSAkITsKKyAgICAg
ICAgQHRlc3RzID0gPFRFU1RTPjsKKyAgICAgICAgY2xvc2UoVEVTVFMpIG9yIGRpZSAkITsKICAg
ICB9IGVsc2UgewogICAgICAgICBkaWUgInJ1bi1hcGktdGVzdHMgaXMgbm90IHN1cHBvcnRlZCBv
biB0aGlzIHBsYXRmb3JtLlxuIgogICAgIH0KLSAgICAKLSAgICByZXR1cm4gJHJlc3VsdDsKKwor
ICAgIG15ICVrZXllZFRlc3RzID0gKCk7CisgICAgbXkgJHN1aXRlOworICAgIGZvciBteSAkdGVz
dCAoQHRlc3RzKSB7CisgICAgICAgJHRlc3QgPX4gcy9bXHJcbl0qJC8vOworICAgICAgIGlmICgk
dGVzdCA9fiBtL1wuJC8pIHsKKyAgICAgICAgICAkdGVzdCA9fiBzL1wuJC8vOworICAgICAgICAg
ICRzdWl0ZSA9ICR0ZXN0OworICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgJHRlc3QgPX4gcy9e
XHMqLy87CisgICAgICAgICAgcHVzaCBAeyRrZXllZFRlc3RzeyRzdWl0ZX19LCAkdGVzdDsKKyAg
ICAgICAgfQorICAgIH0KKyAKKyAgICByZXR1cm4gJWtleWVkVGVzdHM7CiB9CiAKKwogc3ViIGJ1
aWxkVGVzdFRvb2woKQogewogICAgIG15ICRvcmlnaW5hbEN3ZCA9IGdldGN3ZCgpOwo=
</data>
<flag name="commit-queue"
          id="87372"
          type_id="3"
          status="-"
          setter="dslomov"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94115</attachid>
            <date>2011-05-19 14:17:24 -0700</date>
            <delta_ts>2011-05-19 14:35:01 -0700</delta_ts>
            <desc>CR feedback++</desc>
            <filename>61088.patch</filename>
            <type>text/plain</type>
            <size>7553</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjYzI3
Y2JiLi5jOGZiMGM2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTggIERtaXRyeSBMb21vdiAgPGRzbG9t
b3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgorCisgICAg
ICAgIHJ1bi1hcGktdGVzdHMgc2hvdWxkIHJ1biBvbmUgdGVzdCBwZXIgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwODgKKworICAgICAg
ICAqIFNjcmlwdHMvcnVuLWFwaS10ZXN0czogUmVzdXJyZWN0aW5nIHRoZSBwcmV2aW91cyByZXZp
c29uIG9mIHRoaXMgZmlsZSwgd2l0aCBmaXhlcyB0byBzeXN0ZW0gY2FsbCB1bmRlciBXaW5kb3dz
LCAKKyAgICAgICAgcmV0dXJuIGNvZGUsIGFuZCBwYXJzaW5nIEdUZXN0IG91dHB1dCBmb3JtYXQu
CisKIDIwMTEtMDUtMTUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1hcGktdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKaW5kZXggYjlkODRi
NS4uODViNDVjOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCisrKyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cwpAQCAtMzYsOCArMzYsMTMgQEAgdXNlIEdldG9w
dDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCk7CiB1c2UgSVBDOjpPcGVuMzsKIHVzZSBs
aWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwordXNlIFRlcm06OkFOU0lDb2xvciBx
dyg6Y29uc3RhbnRzKTsKIAotc3ViIHJ1blRlc3RUb29sKEApOworc3ViIGR1bXBBbGxUZXN0cygp
Oworc3ViIHJ1bkFsbFRlc3RzKCk7CitzdWIgcnVuQWxsVGVzdHNJblN1aXRlKCQpOworc3ViIHJ1
blRlc3QoJCQpOworc3ViIHBvcHVsYXRlVGVzdHMoKTsKIHN1YiBidWlsZFRlc3RUb29sKCk7CiAK
IG15ICRzaG93SGVscCA9IDA7CkBAIC02NiwxOCArNzEsNjcgQEAgaWYgKCRzaG93SGVscCkgewog
c2V0Q29uZmlndXJhdGlvbigpOwogYnVpbGRUZXN0VG9vbCgpOwogc2V0UGF0aEZvclJ1bm5pbmdX
ZWJLaXRBcHAoXCVFTlYpOworbXkgJXRlc3RzVG9SdW4gPSBwb3B1bGF0ZVRlc3RzKCk7CiAKIGlm
ICgkZHVtcCkgewotICAgIG15IEBkdW1wQXJndW1lbnRzID0gKCItLWd0ZXN0X2xpc3RfdGVzdHMi
KTsKLSAgICBydW5UZXN0VG9vbChAZHVtcEFyZ3VtZW50cyk7Ci0gICAgZXhpdCgwKTsKKyAgICBk
dW1wQWxsVGVzdHMoKTsKKyAgICBleGl0IDA7CiB9CiAKLXJ1blRlc3RUb29sKCk7CitpZiAocnVu
QWxsVGVzdHMoKSkgeworICAgIGV4aXQgMTsKK30KK2Vsc2UgeworICAgIGV4aXQgMDsKK30KKwor
c3ViIGR1bXBBbGxUZXN0cygpCit7CisgICAgcHJpbnQgIkR1bXBpbmcgdGVzdCBjYXNlc1xuIjsK
KyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworICAgIGZvciBteSAkc3VpdGUgKGtl
eXMgJXRlc3RzVG9SdW4pIHsKKyAgICAgICAgcHJpbnQgJHN1aXRlIC4gIjpcbiI7CisgICAgICAg
IHByaW50IG1hcCB7ICIgICAiIC4gJF8gLiAiXG4iIH0gQHsgJHRlc3RzVG9SdW57JHN1aXRlfSB9
OworICAgIH0KKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworfQorCitzdWIgcnVu
QWxsVGVzdHMoKQoreworICAgIG15ICRhbnlGYWlsdXJlcyA9IDA7CisgICAgZm9yIG15ICRzdWl0
ZSAoa2V5cyAldGVzdHNUb1J1bikgeworICAgICAgICBteSAkZmFpbGVkID0gcnVuQWxsVGVzdHNJ
blN1aXRlKCRzdWl0ZSk7CisgICAgICAgIGlmICgkZmFpbGVkKSB7CisgICAgICAgICAgICAkYW55
RmFpbHVyZXMgPSAxOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAkYW55RmFpbHVyZXM7
Cit9CisKK3N1YiBydW5BbGxUZXN0c0luU3VpdGUoJCkKK3sKKyAgICBteSAoJHN1aXRlKSA9IEBf
OworICAgIHByaW50ICJTdWl0ZTogJHN1aXRlXG4iOworCisgICAgbXkgJGFueUZhaWx1cmVzID0g
MDsKKyAgICBmb3IgbXkgJHRlc3QgKEB7JHRlc3RzVG9SdW57JHN1aXRlfX0pIHsKKyAgICAgICAg
bXkgJGZhaWxlZCA9IHJ1blRlc3QoJHN1aXRlLCAkdGVzdCk7CisgICAgICAgIGlmICgkZmFpbGVk
KSB7CisgICAgICAgICAgICAkYW55RmFpbHVyZXMgPSAxOworICAgICAgICB9CisgICAgfQorICAg
CisgICAgcmV0dXJuICRhbnlGYWlsdXJlczsKK30KIAotc3ViIHJ1blRlc3RUb29sKEApCitzdWIg
cnVuVGVzdCgkJCkKIHsKLSAgICBteSAoQGFyZ3VtZW50cykgPSBAXzsKKyAgICBteSAoJHN1aXRl
LCAkdGVzdE5hbWUpID0gQF87CisgICAgbXkgJHRlc3QgPSAkc3VpdGUgLiAiLiIgLiAkdGVzdE5h
bWU7CisKKyAgICBteSAkZ3Rlc3RBcmcgPSAiLS1ndGVzdF9maWx0ZXI9IiAuICR0ZXN0OworCisg
ICAgcHJpbnQgIiAgICBUZXN0OiAkdGVzdE5hbWUgLT4gIjsKIAogICAgIG15ICRyZXN1bHQgPSAw
OwogICAgIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKQEAgLTg4LDI2ICsxNDIsMjYgQEAgc3Vi
IHJ1blRlc3RUb29sKEApCiAKICAgICAgICAgbG9jYWwgKkRFVk5VTEw7CiAgICAgICAgIG15ICgk
Y2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIpOwotCi0gICAgICAgICRjaGlsZE91dCA9ICI+
JlNURE9VVCI7Ci0gICAgICAgIHVubGVzcyAoJHZlcmJvc2UpIHsKKyAgICAgICAgaWYgKCR2ZXJi
b3NlKSB7CisgICAgICAgICAgICAkY2hpbGRPdXQgPSAiPiZTVERPVVQiOworICAgICAgICAgICAg
JGNoaWxkRXJyID0gIj4mU1RERVJSIjsKKyAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG9w
ZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkpIG9yIGRpZSAiRmFpbGVkIHRv
IG9wZW4gL2Rldi9udWxsIjsKKyAgICAgICAgICAgICRjaGlsZE91dCA9ICI+JkRFVk5VTEwiOwog
ICAgICAgICAgICAgJGNoaWxkRXJyID0gIj4mREVWTlVMTCI7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAkY2hpbGRFcnIgPSAiPiZTVERFUlIiOwogICAgICAgICB9CiAKICAgICAgICAg
bXkgJHBpZDsKICAgICAgICAgaWYgKGFyY2hpdGVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAkcGlk
ID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAiYXJjaCIsICItIiAuIGFy
Y2hpdGVjdHVyZSgpLCAkYXBpVGVzdGVyUGF0aCwgQGFyZ3VtZW50cywgQEFSR1YpIG9yIGRpZSAi
RmFpbGVkIHRvIHJ1biB0ZXN0IHRvb2wuIjsKKyAgICAgICAgICAgICRwaWQgPSBvcGVuMygkY2hp
bGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICJhcmNoIiwgIi0iIC4gYXJjaGl0ZWN0dXJlKCks
ICRhcGlUZXN0ZXJQYXRoLCAkZ3Rlc3RBcmcsIEBBUkdWKSBvciBkaWUgIkZhaWxlZCB0byBydW4g
dGVzdDogJHRlc3QuIjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICRwaWQgPSBvcGVu
MygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICRhcGlUZXN0ZXJQYXRoLCBAYXJndW1l
bnRzLCBAQVJHVikgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3QgdG9vbC4iOworICAgICAgICAg
ICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgJGFwaVRlc3Rl
clBhdGgsICRndGVzdEFyZywgQEFSR1YpIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biB0ZXN0OiAkdGVz
dC4iOwogICAgICAgICB9CiAKICAgICAgICAgY2xvc2UoJGNoaWxkSW4pOwogICAgICAgICBjbG9z
ZSgkY2hpbGRPdXQpOwogICAgICAgICBjbG9zZSgkY2hpbGRFcnIpOwotICAgICAgICBjbG9zZShE
RVZOVUxMKTsKKyAgICAgICAgY2xvc2UoREVWTlVMTCkgdW5sZXNzICgkdmVyYm9zZSk7CiAKICAg
ICAgICAgd2FpdHBpZCgkcGlkLCAwKTsKICAgICAgICAgJHJlc3VsdCA9ICQ/OwpAQCAtMTE5LDE0
ICsxNzMsOTEgQEAgc3ViIHJ1blRlc3RUb29sKEApCiAgICAgICAgICAgICAkYXBpVGVzdGVyTmFt
ZVN1ZmZpeCA9ICJfZGVidWciOwogICAgICAgICB9CiAgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRo
ID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJUZXN0V2ViS2l0QVBJJGFwaVRl
c3Rlck5hbWVTdWZmaXguZXhlIik7Ci0gICAgICAgICRyZXN1bHQgPSBzeXN0ZW0geyAkYXBpVGVz
dGVyUGF0aCB9ICRhcGlUZXN0ZXJQYXRoLCBAQVJHVjsKKyAgICAgICAgJHJlc3VsdCA9IHN5c3Rl
bSB7ICRhcGlUZXN0ZXJQYXRoIH0gJGFwaVRlc3RlclBhdGgsICRndGVzdEFyZywgQEFSR1Y7CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgZGllICJydW4tYXBpLXRlc3RzIGlzIG5vdCBzdXBwb3J0ZWQg
b24gdGhpcyBwbGF0Zm9ybS5cbiIKICAgICB9Ci0gICAgCisgICAKKyAgICBpZiAoISRyZXN1bHQp
IHsKKyAgICAgICAgcHJpbnQgQk9MRCBHUkVFTiwgIlBhc3NlZCIsIFJFU0VULCAiXG4iOworICAg
IH0gZWxzZSB7CisgICAgICAgIHByaW50IEJPTEQgUkVELCAiRmFpbGVkIiwgUkVTRVQsICJcbiI7
CisgICAgfQogICAgIHJldHVybiAkcmVzdWx0OwogfQogCitzdWIgcG9wdWxhdGVUZXN0cygpCit7
CisgICAgbXkgQHRlc3RzOworICAgIG15ICR0aW1lZE91dDsKKworICAgIGlmIChpc0FwcGxlTWFj
V2ViS2l0KCkpIHsKKyAgICAgICAgbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7CisgICAg
ICAgICRFTlZ7RFlMRF9GUkFNRVdPUktfUEFUSH0gPSAkcHJvZHVjdERpcjsKKyAgICAgICAgJEVO
VntXRUJLSVRfVU5TRVRfRFlMRF9GUkFNRVdPUktfUEFUSH0gPSAiWUVTIjsKKyAgICAgICAgbXkg
JGFwaVRlc3RlclBhdGggPSAiJHByb2R1Y3REaXIvVGVzdFdlYktpdEFQSSI7CisKKyAgICAgICAg
bG9jYWwgKkRFVk5VTEw7CisgICAgICAgIG15ICgkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRF
cnIpOworICAgICAgICBpZiAoJHZlcmJvc2UpIHsKKyAgICAgICAgICAgICRjaGlsZEVyciA9ICI+
JlNUREVSUiI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBvcGVuKERFVk5VTEwsICI+
IiwgRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgIkZhaWxlZCB0byBvcGVuIC9kZXYvbnVs
bCI7CisgICAgICAgICAgICAkY2hpbGRFcnIgPSAiPiZERVZOVUxMIjsKKyAgICAgICAgfQorCisg
ICAgICAgIG15ICRwaWQ7CisgICAgICAgIGlmIChhcmNoaXRlY3R1cmUoKSkgeworICAgICAgICAg
ICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgImFyY2giLCAi
LSIgLiBhcmNoaXRlY3R1cmUoKSwgJGFwaVRlc3RlclBhdGgsICItLWd0ZXN0X2xpc3RfdGVzdHMi
KSBvciBkaWUgIkZhaWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzISI7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxk
RXJyLCAkYXBpVGVzdGVyUGF0aCwgIi0tZ3Rlc3RfbGlzdF90ZXN0cyIpIG9yIGRpZSAiRmFpbGVk
IHRvIGJ1aWxkIGxpc3Qgb2YgdGVzdHMhIjsKKyAgICAgICAgfQorCisgICAgICAgIGNsb3NlKCRj
aGlsZEluKTsKKyAgICAgICAgQHRlc3RzID0gPCRjaGlsZE91dD47CisgICAgICAgIGNsb3NlKCRj
aGlsZE91dCk7CisgICAgICAgIGNsb3NlKCRjaGlsZEVycik7CisgICAgICAgIGNsb3NlKERFVk5V
TEwpIHVubGVzcyAoJHZlcmJvc2UpOworCisgICAgICAgIHdhaXRwaWQoJHBpZCwgMCk7CisgICAg
ICAgIG15ICRyZXN1bHQgPSAkPzsKKworICAgICAgICBpZiAoJHJlc3VsdCkgeworICAgICAgICAg
ICAgcHJpbnQgU1RERVJSICJGYWlsZWQgdG8gYnVpbGQgbGlzdCBvZiB0ZXN0cyFcbiI7CisgICAg
ICAgICAgICBleGl0IGV4aXRTdGF0dXMoJHJlc3VsdCk7CisgICAgICAgIH0KKyAgICB9IGVsc2lm
IChpc0FwcGxlV2luV2ViS2l0KCkpIHsKKyAgICAgICAgbXkgJGFwaVRlc3Rlck5hbWVTdWZmaXg7
CisgICAgICAgIGlmIChjb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1ZGlvKCkgbmUgIkRlYnVnX0Fs
bCIpIHsKKyAgICAgICAgICAgICRhcGlUZXN0ZXJOYW1lU3VmZml4ID0gIiI7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAkYXBpVGVzdGVyTmFtZVN1ZmZpeCA9ICJfZGVidWciOworICAg
ICAgICB9CisgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShw
cm9kdWN0RGlyKCksICJUZXN0V2ViS2l0QVBJJGFwaVRlc3Rlck5hbWVTdWZmaXguZXhlIik7Cisg
ICAgICAgIG9wZW4oVEVTVFMsICItfCIsICRhcGlUZXN0ZXJQYXRoLCAiLS1kdW1wLXRlc3RzIikg
b3IgZGllICQhOworICAgICAgICBAdGVzdHMgPSA8VEVTVFM+OworICAgICAgICBjbG9zZShURVNU
Uykgb3IgZGllICQhOworICAgIH0gZWxzZSB7CisgICAgICAgIGRpZSAicnVuLWFwaS10ZXN0cyBp
cyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uXG4iCisgICAgfQorCisgICAgbXkgJWtl
eWVkVGVzdHMgPSAoKTsKKyAgICBteSAkc3VpdGU7CisgICAgZm9yIG15ICR0ZXN0IChAdGVzdHMp
IHsKKyAgICAgICAkdGVzdCA9fiBzL1tcclxuXSokLy87CisgICAgICAgaWYgKCR0ZXN0ID1+IG0v
XC4kLykgeworICAgICAgICAgICR0ZXN0ID1+IHMvXC4kLy87CisgICAgICAgICAgJHN1aXRlID0g
JHRlc3Q7CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAkdGVzdCA9fiBzL15ccyovLzsKKyAg
ICAgICAgICBwdXNoIEB7JGtleWVkVGVzdHN7JHN1aXRlfX0sICR0ZXN0OworICAgICAgICB9Cisg
ICAgfQorIAorICAgIHJldHVybiAla2V5ZWRUZXN0czsKK30KKworCiBzdWIgYnVpbGRUZXN0VG9v
bCgpCiB7CiAgICAgbXkgJG9yaWdpbmFsQ3dkID0gZ2V0Y3dkKCk7CkBAIC0xMzgsMTQgKzI2OSwx
NCBAQCBzdWIgYnVpbGRUZXN0VG9vbCgpCiAKICAgICBsb2NhbCAqREVWTlVMTDsKICAgICBteSAo
JGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyKTsKLSAgICB1bmxlc3MgKCR2ZXJib3NlKSB7
Ci0gICAgICAgIG9wZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkpIG9yIGRp
ZSAiRmFpbGVkIHRvIG9wZW4gL2Rldi9udWxsIjsKLSAgICAgICAgJGNoaWxkT3V0ID0gIj4mREVW
TlVMTCI7Ci0gICAgICAgICRjaGlsZEVyciA9ICI+JkRFVk5VTEwiOwotICAgIH0gZWxzZSB7Cisg
ICAgaWYgKCR2ZXJib3NlKSB7CiAgICAgICAgICMgV2hlbiBub3QgcXVpZXQsIGxldCB0aGUgY2hp
bGQgdXNlIG91ciBzdGRvdXQvc3RkZXJyLgogICAgICAgICAkY2hpbGRPdXQgPSAiPiZTVERPVVQi
OwogICAgICAgICAkY2hpbGRFcnIgPSAiPiZTVERFUlIiOworICAgIH0gZWxzZSB7CisgICAgICAg
IG9wZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkpIG9yIGRpZSAiRmFpbGVk
IHRvIG9wZW4gL2Rldi9udWxsIjsKKyAgICAgICAgJGNoaWxkT3V0ID0gIj4mREVWTlVMTCI7Cisg
ICAgICAgICRjaGlsZEVyciA9ICI+JkRFVk5VTEwiOwogICAgIH0KIAogICAgIG15IEBhcmdzID0g
YXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpOwo=
</data>
<flag name="commit-queue"
          id="87375"
          type_id="3"
          status="-"
          setter="dslomov"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94117</attachid>
            <date>2011-05-19 14:35:01 -0700</date>
            <delta_ts>2011-05-19 14:52:41 -0700</delta_ts>
            <desc>CR feedback++++</desc>
            <filename>61088.patch</filename>
            <type>text/plain</type>
            <size>7571</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjYzI3
Y2JiLi5jOGZiMGM2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTggIERtaXRyeSBMb21vdiAgPGRzbG9t
b3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgorCisgICAg
ICAgIHJ1bi1hcGktdGVzdHMgc2hvdWxkIHJ1biBvbmUgdGVzdCBwZXIgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwODgKKworICAgICAg
ICAqIFNjcmlwdHMvcnVuLWFwaS10ZXN0czogUmVzdXJyZWN0aW5nIHRoZSBwcmV2aW91cyByZXZp
c29uIG9mIHRoaXMgZmlsZSwgd2l0aCBmaXhlcyB0byBzeXN0ZW0gY2FsbCB1bmRlciBXaW5kb3dz
LCAKKyAgICAgICAgcmV0dXJuIGNvZGUsIGFuZCBwYXJzaW5nIEdUZXN0IG91dHB1dCBmb3JtYXQu
CisKIDIwMTEtMDUtMTUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1hcGktdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKaW5kZXggYjlkODRi
NS4uMjBmOTIzNSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCisrKyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cwpAQCAtMzYsOSArMzYsMTQgQEAgdXNlIEdldG9w
dDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCk7CiB1c2UgSVBDOjpPcGVuMzsKIHVzZSBs
aWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwordXNlIFRlcm06OkFOU0lDb2xvciBx
dyg6Y29uc3RhbnRzKTsKIAotc3ViIHJ1blRlc3RUb29sKEApOwogc3ViIGJ1aWxkVGVzdFRvb2wo
KTsKK3N1YiBkdW1wQWxsVGVzdHMoKTsKK3N1YiBwb3B1bGF0ZVRlc3RzKCk7CitzdWIgcnVuQWxs
VGVzdHMoKTsKK3N1YiBydW5BbGxUZXN0c0luU3VpdGUoJCk7CitzdWIgcnVuVGVzdCgkJCk7CiAK
IG15ICRzaG93SGVscCA9IDA7CiBteSAkdmVyYm9zZSA9IDA7CkBAIC02NiwxOCArNzEsNjcgQEAg
aWYgKCRzaG93SGVscCkgewogc2V0Q29uZmlndXJhdGlvbigpOwogYnVpbGRUZXN0VG9vbCgpOwog
c2V0UGF0aEZvclJ1bm5pbmdXZWJLaXRBcHAoXCVFTlYpOworbXkgJXRlc3RzVG9SdW4gPSBwb3B1
bGF0ZVRlc3RzKCk7CiAKIGlmICgkZHVtcCkgewotICAgIG15IEBkdW1wQXJndW1lbnRzID0gKCIt
LWd0ZXN0X2xpc3RfdGVzdHMiKTsKLSAgICBydW5UZXN0VG9vbChAZHVtcEFyZ3VtZW50cyk7Ci0g
ICAgZXhpdCgwKTsKKyAgICBkdW1wQWxsVGVzdHMoKTsKKyAgICBleGl0IDA7CiB9CiAKLXJ1blRl
c3RUb29sKCk7CitpZiAocnVuQWxsVGVzdHMoKSkgeworICAgIGV4aXQgMTsKK30KK2Vsc2Ugewor
ICAgIGV4aXQgMDsKK30KKworc3ViIGR1bXBBbGxUZXN0cygpCit7CisgICAgcHJpbnQgIkR1bXBp
bmcgdGVzdCBjYXNlc1xuIjsKKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworICAg
IGZvciBteSAkc3VpdGUgKGtleXMgJXRlc3RzVG9SdW4pIHsKKyAgICAgICAgcHJpbnQgJHN1aXRl
IC4gIjpcbiI7CisgICAgICAgIHByaW50IG1hcCB7ICIgICAiIC4gJF8gLiAiXG4iIH0gQHsgJHRl
c3RzVG9SdW57JHN1aXRlfSB9OworICAgIH0KKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0t
XG4iOworfQorCitzdWIgcnVuQWxsVGVzdHMoKQoreworICAgIG15ICRhbnlGYWlsdXJlcyA9IDA7
CisgICAgZm9yIG15ICRzdWl0ZSAoa2V5cyAldGVzdHNUb1J1bikgeworICAgICAgICBteSAkZmFp
bGVkID0gcnVuQWxsVGVzdHNJblN1aXRlKCRzdWl0ZSk7CisgICAgICAgIGlmICgkZmFpbGVkKSB7
CisgICAgICAgICAgICAkYW55RmFpbHVyZXMgPSAxOworICAgICAgICB9CisgICAgfQorICAgIHJl
dHVybiAkYW55RmFpbHVyZXM7Cit9CisKK3N1YiBydW5BbGxUZXN0c0luU3VpdGUoJCkKK3sKKyAg
ICBteSAoJHN1aXRlKSA9IEBfOworICAgIHByaW50ICJTdWl0ZTogJHN1aXRlXG4iOworCisgICAg
bXkgJGFueUZhaWx1cmVzID0gMDsKKyAgICBmb3IgbXkgJHRlc3QgKEB7JHRlc3RzVG9SdW57JHN1
aXRlfX0pIHsKKyAgICAgICAgbXkgJGZhaWxlZCA9IHJ1blRlc3QoJHN1aXRlLCAkdGVzdCk7Cisg
ICAgICAgIGlmICgkZmFpbGVkKSB7CisgICAgICAgICAgICAkYW55RmFpbHVyZXMgPSAxOworICAg
ICAgICB9CisgICAgfQorICAgCisgICAgcmV0dXJuICRhbnlGYWlsdXJlczsKK30KIAotc3ViIHJ1
blRlc3RUb29sKEApCitzdWIgcnVuVGVzdCgkJCkKIHsKLSAgICBteSAoQGFyZ3VtZW50cykgPSBA
XzsKKyAgICBteSAoJHN1aXRlLCAkdGVzdE5hbWUpID0gQF87CisgICAgbXkgJHRlc3QgPSAkc3Vp
dGUgLiAiLiIgLiAkdGVzdE5hbWU7CisKKyAgICBteSAkZ3Rlc3RBcmcgPSAiLS1ndGVzdF9maWx0
ZXI9IiAuICR0ZXN0OworCisgICAgcHJpbnQgIiAgICBUZXN0OiAkdGVzdE5hbWUgLT4gIjsKIAog
ICAgIG15ICRyZXN1bHQgPSAwOwogICAgIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKQEAgLTg4
LDI2ICsxNDIsMjYgQEAgc3ViIHJ1blRlc3RUb29sKEApCiAKICAgICAgICAgbG9jYWwgKkRFVk5V
TEw7CiAgICAgICAgIG15ICgkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIpOwotCi0gICAg
ICAgICRjaGlsZE91dCA9ICI+JlNURE9VVCI7Ci0gICAgICAgIHVubGVzcyAoJHZlcmJvc2UpIHsK
KyAgICAgICAgaWYgKCR2ZXJib3NlKSB7CisgICAgICAgICAgICAkY2hpbGRPdXQgPSAiPiZTVERP
VVQiOworICAgICAgICAgICAgJGNoaWxkRXJyID0gIj4mU1RERVJSIjsKKyAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIG9wZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkp
IG9yIGRpZSAiRmFpbGVkIHRvIG9wZW4gL2Rldi9udWxsIjsKKyAgICAgICAgICAgICRjaGlsZE91
dCA9ICI+JkRFVk5VTEwiOwogICAgICAgICAgICAgJGNoaWxkRXJyID0gIj4mREVWTlVMTCI7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkY2hpbGRFcnIgPSAiPiZTVERFUlIiOwogICAg
ICAgICB9CiAKICAgICAgICAgbXkgJHBpZDsKICAgICAgICAgaWYgKGFyY2hpdGVjdHVyZSgpKSB7
Ci0gICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJy
LCAiYXJjaCIsICItIiAuIGFyY2hpdGVjdHVyZSgpLCAkYXBpVGVzdGVyUGF0aCwgQGFyZ3VtZW50
cywgQEFSR1YpIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biB0ZXN0IHRvb2wuIjsKKyAgICAgICAgICAg
ICRwaWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICJhcmNoIiwgIi0i
IC4gYXJjaGl0ZWN0dXJlKCksICRhcGlUZXN0ZXJQYXRoLCAkZ3Rlc3RBcmcsIEBBUkdWKSBvciBk
aWUgIkZhaWxlZCB0byBydW4gdGVzdDogJHRlc3QuIjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICRwaWQgPSBvcGVuMygkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICRhcGlU
ZXN0ZXJQYXRoLCBAYXJndW1lbnRzLCBAQVJHVikgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3Qg
dG9vbC4iOworICAgICAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRj
aGlsZEVyciwgJGFwaVRlc3RlclBhdGgsICRndGVzdEFyZywgQEFSR1YpIG9yIGRpZSAiRmFpbGVk
IHRvIHJ1biB0ZXN0OiAkdGVzdC4iOwogICAgICAgICB9CiAKICAgICAgICAgY2xvc2UoJGNoaWxk
SW4pOwogICAgICAgICBjbG9zZSgkY2hpbGRPdXQpOwogICAgICAgICBjbG9zZSgkY2hpbGRFcnIp
OwotICAgICAgICBjbG9zZShERVZOVUxMKTsKKyAgICAgICAgY2xvc2UoREVWTlVMTCkgdW5sZXNz
ICgkdmVyYm9zZSk7CiAKICAgICAgICAgd2FpdHBpZCgkcGlkLCAwKTsKICAgICAgICAgJHJlc3Vs
dCA9ICQ/OwpAQCAtMTE5LDE0ICsxNzMsOTEgQEAgc3ViIHJ1blRlc3RUb29sKEApCiAgICAgICAg
ICAgICAkYXBpVGVzdGVyTmFtZVN1ZmZpeCA9ICJfZGVidWciOwogICAgICAgICB9CiAgICAgICAg
IG15ICRhcGlUZXN0ZXJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJU
ZXN0V2ViS2l0QVBJJGFwaVRlc3Rlck5hbWVTdWZmaXguZXhlIik7Ci0gICAgICAgICRyZXN1bHQg
PSBzeXN0ZW0geyAkYXBpVGVzdGVyUGF0aCB9ICRhcGlUZXN0ZXJQYXRoLCBAQVJHVjsKKyAgICAg
ICAgJHJlc3VsdCA9IHN5c3RlbSB7ICRhcGlUZXN0ZXJQYXRoIH0gJGFwaVRlc3RlclBhdGgsICRn
dGVzdEFyZywgQEFSR1Y7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZGllICJydW4tYXBpLXRlc3Rz
IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS5cbiIKICAgICB9Ci0gICAgCisgICAK
KyAgICBpZiAoISRyZXN1bHQpIHsKKyAgICAgICAgcHJpbnQgQk9MRCBHUkVFTiwgIlBhc3NlZCIs
IFJFU0VULCAiXG4iOworICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50IEJPTEQgUkVELCAiRmFp
bGVkIiwgUkVTRVQsICJcbiI7CisgICAgfQogICAgIHJldHVybiAkcmVzdWx0OwogfQogCitzdWIg
cG9wdWxhdGVUZXN0cygpCit7CisgICAgbXkgQHRlc3RzOworICAgIG15ICR0aW1lZE91dDsKKwor
ICAgIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKKyAgICAgICAgbXkgJHByb2R1Y3REaXIgPSBw
cm9kdWN0RGlyKCk7CisgICAgICAgICRFTlZ7RFlMRF9GUkFNRVdPUktfUEFUSH0gPSAkcHJvZHVj
dERpcjsKKyAgICAgICAgJEVOVntXRUJLSVRfVU5TRVRfRFlMRF9GUkFNRVdPUktfUEFUSH0gPSAi
WUVTIjsKKyAgICAgICAgbXkgJGFwaVRlc3RlclBhdGggPSAiJHByb2R1Y3REaXIvVGVzdFdlYktp
dEFQSSI7CisKKyAgICAgICAgbG9jYWwgKkRFVk5VTEw7CisgICAgICAgIG15ICgkY2hpbGRJbiwg
JGNoaWxkT3V0LCAkY2hpbGRFcnIpOworICAgICAgICBpZiAoJHZlcmJvc2UpIHsKKyAgICAgICAg
ICAgICRjaGlsZEVyciA9ICI+JlNUREVSUiI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBvcGVuKERFVk5VTEwsICI+IiwgRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgIkZhaWxl
ZCB0byBvcGVuIC9kZXYvbnVsbCI7CisgICAgICAgICAgICAkY2hpbGRFcnIgPSAiPiZERVZOVUxM
IjsKKyAgICAgICAgfQorCisgICAgICAgIG15ICRwaWQ7CisgICAgICAgIGlmIChhcmNoaXRlY3R1
cmUoKSkgeworICAgICAgICAgICAgJHBpZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRj
aGlsZEVyciwgImFyY2giLCAiLSIgLiBhcmNoaXRlY3R1cmUoKSwgJGFwaVRlc3RlclBhdGgsICIt
LWd0ZXN0X2xpc3RfdGVzdHMiKSBvciBkaWUgIkZhaWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3Rz
ISI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4s
ICRjaGlsZE91dCwgJGNoaWxkRXJyLCAkYXBpVGVzdGVyUGF0aCwgIi0tZ3Rlc3RfbGlzdF90ZXN0
cyIpIG9yIGRpZSAiRmFpbGVkIHRvIGJ1aWxkIGxpc3Qgb2YgdGVzdHMhIjsKKyAgICAgICAgfQor
CisgICAgICAgIGNsb3NlKCRjaGlsZEluKTsKKyAgICAgICAgQHRlc3RzID0gPCRjaGlsZE91dD47
CisgICAgICAgIGNsb3NlKCRjaGlsZE91dCk7CisgICAgICAgIGNsb3NlKCRjaGlsZEVycik7Cisg
ICAgICAgIGNsb3NlKERFVk5VTEwpIHVubGVzcyAoJHZlcmJvc2UpOworCisgICAgICAgIHdhaXRw
aWQoJHBpZCwgMCk7CisgICAgICAgIG15ICRyZXN1bHQgPSAkPzsKKworICAgICAgICBpZiAoJHJl
c3VsdCkgeworICAgICAgICAgICAgcHJpbnQgU1RERVJSICJGYWlsZWQgdG8gYnVpbGQgbGlzdCBv
ZiB0ZXN0cyFcbiI7CisgICAgICAgICAgICBleGl0IGV4aXRTdGF0dXMoJHJlc3VsdCk7CisgICAg
ICAgIH0KKyAgICB9IGVsc2lmIChpc0FwcGxlV2luV2ViS2l0KCkpIHsKKyAgICAgICAgbXkgJGFw
aVRlc3Rlck5hbWVTdWZmaXg7CisgICAgICAgIGlmIChjb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1
ZGlvKCkgbmUgIkRlYnVnX0FsbCIpIHsKKyAgICAgICAgICAgICRhcGlUZXN0ZXJOYW1lU3VmZml4
ID0gIiI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAkYXBpVGVzdGVyTmFtZVN1ZmZp
eCA9ICJfZGVidWciOworICAgICAgICB9CisgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRoID0gRmls
ZTo6U3BlYy0+Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJUZXN0V2ViS2l0QVBJJGFwaVRlc3Rlck5h
bWVTdWZmaXguZXhlIik7CisgICAgICAgIG9wZW4oVEVTVFMsICItfCIsICRhcGlUZXN0ZXJQYXRo
LCAiLS1kdW1wLXRlc3RzIikgb3IgZGllICQhOworICAgICAgICBAdGVzdHMgPSA8VEVTVFM+Owor
ICAgICAgICBjbG9zZShURVNUUykgb3IgZGllICQhOworICAgIH0gZWxzZSB7CisgICAgICAgIGRp
ZSAicnVuLWFwaS10ZXN0cyBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uXG4iCisg
ICAgfQorCisgICAgbXkgJWtleWVkVGVzdHMgPSAoKTsKKyAgICBteSAkc3VpdGU7CisgICAgZm9y
IG15ICR0ZXN0IChAdGVzdHMpIHsKKyAgICAgICAkdGVzdCA9fiBzL1tcclxuXSokLy87CisgICAg
ICAgaWYgKCR0ZXN0ID1+IG0vXC4kLykgeworICAgICAgICAgICR0ZXN0ID1+IHMvXC4kLy87Cisg
ICAgICAgICAgJHN1aXRlID0gJHRlc3Q7CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAkdGVz
dCA9fiBzL15ccyovLzsKKyAgICAgICAgICBwdXNoIEB7JGtleWVkVGVzdHN7JHN1aXRlfX0sICR0
ZXN0OworICAgICAgICB9CisgICAgfQorIAorICAgIHJldHVybiAla2V5ZWRUZXN0czsKK30KKwor
CiBzdWIgYnVpbGRUZXN0VG9vbCgpCiB7CiAgICAgbXkgJG9yaWdpbmFsQ3dkID0gZ2V0Y3dkKCk7
CkBAIC0xMzgsMTQgKzI2OSwxNCBAQCBzdWIgYnVpbGRUZXN0VG9vbCgpCiAKICAgICBsb2NhbCAq
REVWTlVMTDsKICAgICBteSAoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyKTsKLSAgICB1
bmxlc3MgKCR2ZXJib3NlKSB7Ci0gICAgICAgIG9wZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVj
LT5kZXZudWxsKCkpIG9yIGRpZSAiRmFpbGVkIHRvIG9wZW4gL2Rldi9udWxsIjsKLSAgICAgICAg
JGNoaWxkT3V0ID0gIj4mREVWTlVMTCI7Ci0gICAgICAgICRjaGlsZEVyciA9ICI+JkRFVk5VTEwi
OwotICAgIH0gZWxzZSB7CisgICAgaWYgKCR2ZXJib3NlKSB7CiAgICAgICAgICMgV2hlbiBub3Qg
cXVpZXQsIGxldCB0aGUgY2hpbGQgdXNlIG91ciBzdGRvdXQvc3RkZXJyLgogICAgICAgICAkY2hp
bGRPdXQgPSAiPiZTVERPVVQiOwogICAgICAgICAkY2hpbGRFcnIgPSAiPiZTVERFUlIiOworICAg
IH0gZWxzZSB7CisgICAgICAgIG9wZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxs
KCkpIG9yIGRpZSAiRmFpbGVkIHRvIG9wZW4gL2Rldi9udWxsIjsKKyAgICAgICAgJGNoaWxkT3V0
ID0gIj4mREVWTlVMTCI7CisgICAgICAgICRjaGlsZEVyciA9ICI+JkRFVk5VTEwiOwogICAgIH0K
IAogICAgIG15IEBhcmdzID0gYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94124</attachid>
            <date>2011-05-19 14:52:41 -0700</date>
            <delta_ts>2011-05-19 17:12:43 -0700</delta_ts>
            <desc>Extra bit of feedback - dealing with return code</desc>
            <filename>61088.patch</filename>
            <type>text/plain</type>
            <size>7547</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjYzI3
Y2JiLi5jOGZiMGM2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTggIERtaXRyeSBMb21vdiAgPGRzbG9t
b3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgorCisgICAg
ICAgIHJ1bi1hcGktdGVzdHMgc2hvdWxkIHJ1biBvbmUgdGVzdCBwZXIgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwODgKKworICAgICAg
ICAqIFNjcmlwdHMvcnVuLWFwaS10ZXN0czogUmVzdXJyZWN0aW5nIHRoZSBwcmV2aW91cyByZXZp
c29uIG9mIHRoaXMgZmlsZSwgd2l0aCBmaXhlcyB0byBzeXN0ZW0gY2FsbCB1bmRlciBXaW5kb3dz
LCAKKyAgICAgICAgcmV0dXJuIGNvZGUsIGFuZCBwYXJzaW5nIEdUZXN0IG91dHB1dCBmb3JtYXQu
CisKIDIwMTEtMDUtMTUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi1hcGktdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKaW5kZXggYjlkODRi
NS4uMzVlM2VhZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCisrKyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cwpAQCAtMzYsOSArMzYsMTQgQEAgdXNlIEdldG9w
dDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCk7CiB1c2UgSVBDOjpPcGVuMzsKIHVzZSBs
aWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwordXNlIFRlcm06OkFOU0lDb2xvciBx
dyg6Y29uc3RhbnRzKTsKIAotc3ViIHJ1blRlc3RUb29sKEApOwogc3ViIGJ1aWxkVGVzdFRvb2wo
KTsKK3N1YiBkdW1wQWxsVGVzdHMoKTsKK3N1YiBwb3B1bGF0ZVRlc3RzKCk7CitzdWIgcnVuQWxs
VGVzdHMoKTsKK3N1YiBydW5BbGxUZXN0c0luU3VpdGUoJCk7CitzdWIgcnVuVGVzdCgkJCk7CiAK
IG15ICRzaG93SGVscCA9IDA7CiBteSAkdmVyYm9zZSA9IDA7CkBAIC02NiwxOCArNzEsNjQgQEAg
aWYgKCRzaG93SGVscCkgewogc2V0Q29uZmlndXJhdGlvbigpOwogYnVpbGRUZXN0VG9vbCgpOwog
c2V0UGF0aEZvclJ1bm5pbmdXZWJLaXRBcHAoXCVFTlYpOworbXkgJXRlc3RzVG9SdW4gPSBwb3B1
bGF0ZVRlc3RzKCk7CiAKIGlmICgkZHVtcCkgewotICAgIG15IEBkdW1wQXJndW1lbnRzID0gKCIt
LWd0ZXN0X2xpc3RfdGVzdHMiKTsKLSAgICBydW5UZXN0VG9vbChAZHVtcEFyZ3VtZW50cyk7Ci0g
ICAgZXhpdCgwKTsKKyAgICBkdW1wQWxsVGVzdHMoKTsKKyAgICBleGl0IDA7CiB9CiAKLXJ1blRl
c3RUb29sKCk7CitpZiAocnVuQWxsVGVzdHMoKSkgeworICAgIGV4aXQgMTsKK30KKworc3ViIGR1
bXBBbGxUZXN0cygpCit7CisgICAgcHJpbnQgIkR1bXBpbmcgdGVzdCBjYXNlc1xuIjsKKyAgICBw
cmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworICAgIGZvciBteSAkc3VpdGUgKGtleXMgJXRl
c3RzVG9SdW4pIHsKKyAgICAgICAgcHJpbnQgJHN1aXRlIC4gIjpcbiI7CisgICAgICAgIHByaW50
IG1hcCB7ICIgICAiIC4gJF8gLiAiXG4iIH0gQHsgJHRlc3RzVG9SdW57JHN1aXRlfSB9OworICAg
IH0KKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworfQorCitzdWIgcnVuQWxsVGVz
dHMoKQoreworICAgIG15ICRhbnlGYWlsdXJlcyA9IDA7CisgICAgZm9yIG15ICRzdWl0ZSAoa2V5
cyAldGVzdHNUb1J1bikgeworICAgICAgICBteSAkZmFpbGVkID0gcnVuQWxsVGVzdHNJblN1aXRl
KCRzdWl0ZSk7CisgICAgICAgIGlmICgkZmFpbGVkKSB7CisgICAgICAgICAgICAkYW55RmFpbHVy
ZXMgPSAxOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAkYW55RmFpbHVyZXM7Cit9CiAK
LXN1YiBydW5UZXN0VG9vbChAKQorc3ViIHJ1bkFsbFRlc3RzSW5TdWl0ZSgkKQogewotICAgIG15
IChAYXJndW1lbnRzKSA9IEBfOworICAgIG15ICgkc3VpdGUpID0gQF87CisgICAgcHJpbnQgIlN1
aXRlOiAkc3VpdGVcbiI7CisKKyAgICBteSAkYW55RmFpbHVyZXMgPSAwOworICAgIGZvciBteSAk
dGVzdCAoQHskdGVzdHNUb1J1bnskc3VpdGV9fSkgeworICAgICAgICBteSAkZmFpbGVkID0gcnVu
VGVzdCgkc3VpdGUsICR0ZXN0KTsKKyAgICAgICAgaWYgKCRmYWlsZWQpIHsKKyAgICAgICAgICAg
ICRhbnlGYWlsdXJlcyA9IDE7CisgICAgICAgIH0KKyAgICB9CisgICAKKyAgICByZXR1cm4gJGFu
eUZhaWx1cmVzOworfQorCitzdWIgcnVuVGVzdCgkJCkKK3sKKyAgICBteSAoJHN1aXRlLCAkdGVz
dE5hbWUpID0gQF87CisgICAgbXkgJHRlc3QgPSAkc3VpdGUgLiAiLiIgLiAkdGVzdE5hbWU7CisK
KyAgICBteSAkZ3Rlc3RBcmcgPSAiLS1ndGVzdF9maWx0ZXI9IiAuICR0ZXN0OworCisgICAgcHJp
bnQgIiAgICBUZXN0OiAkdGVzdE5hbWUgLT4gIjsKIAogICAgIG15ICRyZXN1bHQgPSAwOwogICAg
IGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKQEAgLTg4LDI2ICsxMzksMjYgQEAgc3ViIHJ1blRl
c3RUb29sKEApCiAKICAgICAgICAgbG9jYWwgKkRFVk5VTEw7CiAgICAgICAgIG15ICgkY2hpbGRJ
biwgJGNoaWxkT3V0LCAkY2hpbGRFcnIpOwotCi0gICAgICAgICRjaGlsZE91dCA9ICI+JlNURE9V
VCI7Ci0gICAgICAgIHVubGVzcyAoJHZlcmJvc2UpIHsKKyAgICAgICAgaWYgKCR2ZXJib3NlKSB7
CisgICAgICAgICAgICAkY2hpbGRPdXQgPSAiPiZTVERPVVQiOworICAgICAgICAgICAgJGNoaWxk
RXJyID0gIj4mU1RERVJSIjsKKyAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG9wZW4oREVW
TlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkpIG9yIGRpZSAiRmFpbGVkIHRvIG9wZW4g
L2Rldi9udWxsIjsKKyAgICAgICAgICAgICRjaGlsZE91dCA9ICI+JkRFVk5VTEwiOwogICAgICAg
ICAgICAgJGNoaWxkRXJyID0gIj4mREVWTlVMTCI7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAkY2hpbGRFcnIgPSAiPiZTVERFUlIiOwogICAgICAgICB9CiAKICAgICAgICAgbXkgJHBp
ZDsKICAgICAgICAgaWYgKGFyY2hpdGVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAkcGlkID0gb3Bl
bjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAiYXJjaCIsICItIiAuIGFyY2hpdGVj
dHVyZSgpLCAkYXBpVGVzdGVyUGF0aCwgQGFyZ3VtZW50cywgQEFSR1YpIG9yIGRpZSAiRmFpbGVk
IHRvIHJ1biB0ZXN0IHRvb2wuIjsKKyAgICAgICAgICAgICRwaWQgPSBvcGVuMygkY2hpbGRJbiwg
JGNoaWxkT3V0LCAkY2hpbGRFcnIsICJhcmNoIiwgIi0iIC4gYXJjaGl0ZWN0dXJlKCksICRhcGlU
ZXN0ZXJQYXRoLCAkZ3Rlc3RBcmcsIEBBUkdWKSBvciBkaWUgIkZhaWxlZCB0byBydW4gdGVzdDog
JHRlc3QuIjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICRwaWQgPSBvcGVuMygkY2hp
bGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIsICRhcGlUZXN0ZXJQYXRoLCBAYXJndW1lbnRzLCBA
QVJHVikgb3IgZGllICJGYWlsZWQgdG8gcnVuIHRlc3QgdG9vbC4iOworICAgICAgICAgICAgJHBp
ZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgJGFwaVRlc3RlclBhdGgs
ICRndGVzdEFyZywgQEFSR1YpIG9yIGRpZSAiRmFpbGVkIHRvIHJ1biB0ZXN0OiAkdGVzdC4iOwog
ICAgICAgICB9CiAKICAgICAgICAgY2xvc2UoJGNoaWxkSW4pOwogICAgICAgICBjbG9zZSgkY2hp
bGRPdXQpOwogICAgICAgICBjbG9zZSgkY2hpbGRFcnIpOwotICAgICAgICBjbG9zZShERVZOVUxM
KTsKKyAgICAgICAgY2xvc2UoREVWTlVMTCkgdW5sZXNzICgkdmVyYm9zZSk7CiAKICAgICAgICAg
d2FpdHBpZCgkcGlkLCAwKTsKICAgICAgICAgJHJlc3VsdCA9ICQ/OwpAQCAtMTE5LDE0ICsxNzAs
OTEgQEAgc3ViIHJ1blRlc3RUb29sKEApCiAgICAgICAgICAgICAkYXBpVGVzdGVyTmFtZVN1ZmZp
eCA9ICJfZGVidWciOwogICAgICAgICB9CiAgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRoID0gRmls
ZTo6U3BlYy0+Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJUZXN0V2ViS2l0QVBJJGFwaVRlc3Rlck5h
bWVTdWZmaXguZXhlIik7Ci0gICAgICAgICRyZXN1bHQgPSBzeXN0ZW0geyAkYXBpVGVzdGVyUGF0
aCB9ICRhcGlUZXN0ZXJQYXRoLCBAQVJHVjsKKyAgICAgICAgJHJlc3VsdCA9IHN5c3RlbSB7ICRh
cGlUZXN0ZXJQYXRoIH0gJGFwaVRlc3RlclBhdGgsICRndGVzdEFyZywgQEFSR1Y7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgZGllICJydW4tYXBpLXRlc3RzIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhp
cyBwbGF0Zm9ybS5cbiIKICAgICB9Ci0gICAgCisgICAKKyAgICBpZiAoISRyZXN1bHQpIHsKKyAg
ICAgICAgcHJpbnQgQk9MRCBHUkVFTiwgIlBhc3NlZCIsIFJFU0VULCAiXG4iOworICAgIH0gZWxz
ZSB7CisgICAgICAgIHByaW50IEJPTEQgUkVELCAiRmFpbGVkIiwgUkVTRVQsICJcbiI7CisgICAg
fQogICAgIHJldHVybiAkcmVzdWx0OwogfQogCitzdWIgcG9wdWxhdGVUZXN0cygpCit7CisgICAg
bXkgQHRlc3RzOworICAgIG15ICR0aW1lZE91dDsKKworICAgIGlmIChpc0FwcGxlTWFjV2ViS2l0
KCkpIHsKKyAgICAgICAgbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7CisgICAgICAgICRF
TlZ7RFlMRF9GUkFNRVdPUktfUEFUSH0gPSAkcHJvZHVjdERpcjsKKyAgICAgICAgJEVOVntXRUJL
SVRfVU5TRVRfRFlMRF9GUkFNRVdPUktfUEFUSH0gPSAiWUVTIjsKKyAgICAgICAgbXkgJGFwaVRl
c3RlclBhdGggPSAiJHByb2R1Y3REaXIvVGVzdFdlYktpdEFQSSI7CisKKyAgICAgICAgbG9jYWwg
KkRFVk5VTEw7CisgICAgICAgIG15ICgkY2hpbGRJbiwgJGNoaWxkT3V0LCAkY2hpbGRFcnIpOwor
ICAgICAgICBpZiAoJHZlcmJvc2UpIHsKKyAgICAgICAgICAgICRjaGlsZEVyciA9ICI+JlNUREVS
UiI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBvcGVuKERFVk5VTEwsICI+IiwgRmls
ZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgIkZhaWxlZCB0byBvcGVuIC9kZXYvbnVsbCI7Cisg
ICAgICAgICAgICAkY2hpbGRFcnIgPSAiPiZERVZOVUxMIjsKKyAgICAgICAgfQorCisgICAgICAg
IG15ICRwaWQ7CisgICAgICAgIGlmIChhcmNoaXRlY3R1cmUoKSkgeworICAgICAgICAgICAgJHBp
ZCA9IG9wZW4zKCRjaGlsZEluLCAkY2hpbGRPdXQsICRjaGlsZEVyciwgImFyY2giLCAiLSIgLiBh
cmNoaXRlY3R1cmUoKSwgJGFwaVRlc3RlclBhdGgsICItLWd0ZXN0X2xpc3RfdGVzdHMiKSBvciBk
aWUgIkZhaWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzISI7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgJGNoaWxkRXJyLCAk
YXBpVGVzdGVyUGF0aCwgIi0tZ3Rlc3RfbGlzdF90ZXN0cyIpIG9yIGRpZSAiRmFpbGVkIHRvIGJ1
aWxkIGxpc3Qgb2YgdGVzdHMhIjsKKyAgICAgICAgfQorCisgICAgICAgIGNsb3NlKCRjaGlsZElu
KTsKKyAgICAgICAgQHRlc3RzID0gPCRjaGlsZE91dD47CisgICAgICAgIGNsb3NlKCRjaGlsZE91
dCk7CisgICAgICAgIGNsb3NlKCRjaGlsZEVycik7CisgICAgICAgIGNsb3NlKERFVk5VTEwpIHVu
bGVzcyAoJHZlcmJvc2UpOworCisgICAgICAgIHdhaXRwaWQoJHBpZCwgMCk7CisgICAgICAgIG15
ICRyZXN1bHQgPSAkPzsKKworICAgICAgICBpZiAoJHJlc3VsdCkgeworICAgICAgICAgICAgcHJp
bnQgU1RERVJSICJGYWlsZWQgdG8gYnVpbGQgbGlzdCBvZiB0ZXN0cyFcbiI7CisgICAgICAgICAg
ICBleGl0IGV4aXRTdGF0dXMoJHJlc3VsdCk7CisgICAgICAgIH0KKyAgICB9IGVsc2lmIChpc0Fw
cGxlV2luV2ViS2l0KCkpIHsKKyAgICAgICAgbXkgJGFwaVRlc3Rlck5hbWVTdWZmaXg7CisgICAg
ICAgIGlmIChjb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1ZGlvKCkgbmUgIkRlYnVnX0FsbCIpIHsK
KyAgICAgICAgICAgICRhcGlUZXN0ZXJOYW1lU3VmZml4ID0gIiI7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAkYXBpVGVzdGVyTmFtZVN1ZmZpeCA9ICJfZGVidWciOworICAgICAgICB9
CisgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShwcm9kdWN0
RGlyKCksICJUZXN0V2ViS2l0QVBJJGFwaVRlc3Rlck5hbWVTdWZmaXguZXhlIik7CisgICAgICAg
IG9wZW4oVEVTVFMsICItfCIsICRhcGlUZXN0ZXJQYXRoLCAiLS1kdW1wLXRlc3RzIikgb3IgZGll
ICQhOworICAgICAgICBAdGVzdHMgPSA8VEVTVFM+OworICAgICAgICBjbG9zZShURVNUUykgb3Ig
ZGllICQhOworICAgIH0gZWxzZSB7CisgICAgICAgIGRpZSAicnVuLWFwaS10ZXN0cyBpcyBub3Qg
c3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uXG4iCisgICAgfQorCisgICAgbXkgJWtleWVkVGVz
dHMgPSAoKTsKKyAgICBteSAkc3VpdGU7CisgICAgZm9yIG15ICR0ZXN0IChAdGVzdHMpIHsKKyAg
ICAgICAkdGVzdCA9fiBzL1tcclxuXSokLy87CisgICAgICAgaWYgKCR0ZXN0ID1+IG0vXC4kLykg
eworICAgICAgICAgICR0ZXN0ID1+IHMvXC4kLy87CisgICAgICAgICAgJHN1aXRlID0gJHRlc3Q7
CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAkdGVzdCA9fiBzL15ccyovLzsKKyAgICAgICAg
ICBwdXNoIEB7JGtleWVkVGVzdHN7JHN1aXRlfX0sICR0ZXN0OworICAgICAgICB9CisgICAgfQor
IAorICAgIHJldHVybiAla2V5ZWRUZXN0czsKK30KKworCiBzdWIgYnVpbGRUZXN0VG9vbCgpCiB7
CiAgICAgbXkgJG9yaWdpbmFsQ3dkID0gZ2V0Y3dkKCk7CkBAIC0xMzgsMTQgKzI2NiwxNCBAQCBz
dWIgYnVpbGRUZXN0VG9vbCgpCiAKICAgICBsb2NhbCAqREVWTlVMTDsKICAgICBteSAoJGNoaWxk
SW4sICRjaGlsZE91dCwgJGNoaWxkRXJyKTsKLSAgICB1bmxlc3MgKCR2ZXJib3NlKSB7Ci0gICAg
ICAgIG9wZW4oREVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkpIG9yIGRpZSAiRmFp
bGVkIHRvIG9wZW4gL2Rldi9udWxsIjsKLSAgICAgICAgJGNoaWxkT3V0ID0gIj4mREVWTlVMTCI7
Ci0gICAgICAgICRjaGlsZEVyciA9ICI+JkRFVk5VTEwiOwotICAgIH0gZWxzZSB7CisgICAgaWYg
KCR2ZXJib3NlKSB7CiAgICAgICAgICMgV2hlbiBub3QgcXVpZXQsIGxldCB0aGUgY2hpbGQgdXNl
IG91ciBzdGRvdXQvc3RkZXJyLgogICAgICAgICAkY2hpbGRPdXQgPSAiPiZTVERPVVQiOwogICAg
ICAgICAkY2hpbGRFcnIgPSAiPiZTVERFUlIiOworICAgIH0gZWxzZSB7CisgICAgICAgIG9wZW4o
REVWTlVMTCwgIj4iLCBGaWxlOjpTcGVjLT5kZXZudWxsKCkpIG9yIGRpZSAiRmFpbGVkIHRvIG9w
ZW4gL2Rldi9udWxsIjsKKyAgICAgICAgJGNoaWxkT3V0ID0gIj4mREVWTlVMTCI7CisgICAgICAg
ICRjaGlsZEVyciA9ICI+JkRFVk5VTEwiOwogICAgIH0KIAogICAgIG15IEBhcmdzID0gYXJndW1l
bnRzRm9yQ29uZmlndXJhdGlvbigpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>