<?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>30021</bug_id>
          
          <creation_ts>2009-10-02 09:58:29 -0700</creation_ts>
          <short_desc>check-webkit-style does not detect missing spaces around &amp;=, |=, -=, and +=</short_desc>
          <delta_ts>2009-10-04 14:12: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>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Carol Szabo">carol</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151876</commentid>
    <comment_count>0</comment_count>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-02 09:58:29 -0700</bug_when>
    <thetext>While these binary operators require spaces around them (per the webkit style guidelines) check-webkit-style currently misses these errors, despite detecting similar errors involving ==, !=, &lt;= and &gt;=.
Fix to follow shortly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151912</commentid>
    <comment_count>1</comment_count>
      <attachid>40536</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-02 11:24:17 -0700</bug_when>
    <thetext>Created attachment 40536
Proposed patch

This patch addresses lack of white space detection for a lot of binary operators.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151958</commentid>
    <comment_count>2</comment_count>
      <attachid>40536</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-02 13:04:35 -0700</bug_when>
    <thetext>Comment on attachment 40536
Proposed patch

I need to see more unit testing before I can be sure this is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151976</commentid>
    <comment_count>3</comment_count>
      <attachid>40548</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-02 14:55:28 -0700</bug_when>
    <thetext>Created attachment 40548
Proposed patch

Added some unit tests, but I think the best test is the fact that over the entire existing WebKit codebase, there is no change in the output of the tool introduced by my changes.
This means that at least my change is very unlikely to hide common errors that were previously detected and very unlikely to introduce a lot of annoying false errors.
My recorded unit tests as well as running the tool on my own patches proves that it finds a few things that were  not found before.
By the way, I noticed that check-webkit-style is intentionally coded to allow constructs such as a = 3&lt;&lt;4; This exception from the normal &quot;binary operator rule&quot; is not mentioned in the coding styles webpage or I have missed it (http://webkit.org/coding/coding-style.html). Also, another exception is if ((a=b) != c) construction where a comment in the check-webkit-style file says that there must NOT be spaces around = inside if. This exception is not mentioned in the guidelines either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151977</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-02 15:00:08 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I noticed that check-webkit-style is intentionally coded to allow
&gt; constructs such as a = 3&lt;&lt;4;

That sounds wrong. WebKit coding style would require spaces there.

&gt; Also, another exception is if
&gt; ((a=b) != c) construction where a comment in the check-webkit-style file says
&gt; that there must NOT be spaces around = inside if.

That&apos;s wrong. My guess is that it came from someone else&apos;s coding style guidelines. Maybe Google internal guidelines?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151981</commentid>
    <comment_count>5</comment_count>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-02 15:06:18 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; I noticed that check-webkit-style is intentionally coded to allow
&gt; &gt; constructs such as a = 3&lt;&lt;4;
&gt; 
&gt; That sounds wrong. WebKit coding style would require spaces there.
&gt; 
&gt; &gt; Also, another exception is if
&gt; &gt; ((a=b) != c) construction where a comment in the check-webkit-style file says
&gt; &gt; that there must NOT be spaces around = inside if.
&gt; 
&gt; That&apos;s wrong. My guess is that it came from someone else&apos;s coding style
&gt; guidelines. Maybe Google internal guidelines?

Thanks for the clarification. If I&apos;ll edit the check-webkit-style file again I shall fix those, but till then I&apos;d like my current fixes landed so that I do not have to manually add them to my new workspaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152187</commentid>
    <comment_count>6</comment_count>
      <attachid>40548</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-10-04 14:02:01 -0700</bug_when>
    <thetext>Comment on attachment 40548
Proposed patch

Looks good.  Thanks for making it better!

btw, about the allowed items that shouldn&apos;t be allowed, check-webkit-style is a recent addition to WebKit and thus may be more liberal than desired (due to its heritage from checking Google style).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152188</commentid>
    <comment_count>7</comment_count>
      <attachid>40548</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-04 14:12:34 -0700</bug_when>
    <thetext>Comment on attachment 40548
Proposed patch

Clearing flags on attachment: 40548

Committed r49078: &lt;http://trac.webkit.org/changeset/49078&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152189</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-04 14:12:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40536</attachid>
            <date>2009-10-02 11:24:17 -0700</date>
            <delta_ts>2009-10-02 14:55:28 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patchFor30021.patch</filename>
            <type>text/plain</type>
            <size>2794</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ5MDI0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMTAtMDIgIENhcm9sIFN6YWJvICA8Y2Fy
b2wuc3phYm9Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1zdHlsZSBtaXNzZXMgd2hpdGVzcGFjZSBlcnJvcnMg
Zm9yIG9wZXJhdG9yczoKKyAgICAgICAgPDwsID4+LCA8PD0sID4+PSwgJj0sIHw9LCArPSwgLT0s
ICo9LCAvPSwgLywgfCwgJiYsIHx8LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzAwMjEKKworICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9jcHBfc3R5
bGUucHk6CisgICAgICAgIEFkZGVkIHRoZSBvcGVyYXRvcnMgbWVudGlvbmVkIGFib3ZlIHRvIHRo
ZSBzYW1lIGxpc3QgYXMgPT0gYW5kICE9LgorCiAyMDA5LTEwLTAyICBKYWt1YiBXaWVjem9yZWsg
IDxmYXcyMTdAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5u
LgpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcF9zdHlsZS5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY3BwX3N0eWxlLnB5CShyZXZpc2lv
biA0OTAyMykKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jcHBfc3R5bGUucHkJKHdv
cmtpbmcgY29weSkKQEAgLTE1NDgsNyArMTU0OCw3IEBAIGRlZiBjaGVja19zcGFjaW5nKGZpbGVu
YW1lLCBjbGVhbl9saW5lcywKICAgICAjIEFsYXMsIHdlIGNhbid0IHRlc3QgPCBvciA+IGJlY2F1
c2UgdGhleSdyZSBsZWdpdGltYXRlbHkgdXNlZCBzYW5zIHNwYWNlcwogICAgICMgKGEtPmIsIHZl
Y3RvcjxpbnQ+IGEpLiAgVGhlIG9ubHkgdGltZSB3ZSBjYW4gdGVsbCBpcyBhIDwgd2l0aCBubyA+
LCBhbmQKICAgICAjIG9ubHkgaWYgaXQncyBub3QgdGVtcGxhdGUgcGFyYW1zIGxpc3Qgc3BpbGxp
bmcgaW50byB0aGUgbmV4dCBsaW5lLgotICAgIG1hdGNoZWQgPSBzZWFyY2gocidbXjw+PSFcc10o
PT18IT18PD18Pj0pW148Pj0hXHNdJywgbGluZSkKKyAgICBtYXRjaGVkID0gc2VhcmNoKHInW148
Pj0hXHNdKD09fCE9fFwrPXwtPXxcKj18Lz18L3xcfD18Jj18PDw9fD4+PXw8PXw+PXxcfFx8fFx8
fCYmfD4+fDw8KVtePD49IVxzXScsIGxpbmUpCiAgICAgaWYgbm90IG1hdGNoZWQ6CiAgICAgICAg
ICMgTm90ZSB0aGF0IHdoaWxlIGl0IHNlZW1zIHRoYXQgdGhlICc8W148XSonIHRlcm0gaW4gdGhl
IGZvbGxvd2luZwogICAgICAgICAjIHJlZ2V4cCBjb3VsZCBiZSBzaW1wbGlmaWVkIHRvICc8Lion
LCB3aGljaCB3b3VsZCBpbmRlZWQgbWF0Y2gKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvbW9k
dWxlcy9jcHBfc3R5bGVfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2Ny
aXB0cy9tb2R1bGVzL2NwcF9zdHlsZV91bml0dGVzdC5weQkocmV2aXNpb24gNDkwMjMpCisrKyBX
ZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY3BwX3N0eWxlX3VuaXR0ZXN0LnB5CSh3b3JraW5n
IGNvcHkpCkBAIC05NTEsNyArOTUxLDcgQEAgY2xhc3MgQ3BwU3R5bGVUZXN0KENwcFN0eWxlVGVz
dEJhc2UpOgogICAgICAgICBzZWxmLmFzc2VydF9saW50KCdpbnQgYVtzaXplb2Yoc3RydWN0IEZv
byldOycsICcnKQogICAgICAgICBzZWxmLmFzc2VydF9saW50KCdpbnQgYVsxMjggLSBzaXplb2Yo
Y29uc3QgYmFyKV07JywgJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2ludCBhWyhzaXpl
b2YoZm9vKSAqIDQpXTsnLCAnJykKLSAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnaW50IGFbKGFy
cmF5c2l6ZShmaXhlZF9zaXplX2FycmF5KS8yKSA8PCAxXTsnLCAnJykKKyAgICAgICAgc2VsZi5h
c3NlcnRfbGludCgnaW50IGFbKGFycmF5c2l6ZShmaXhlZF9zaXplX2FycmF5KS8yKSA8PCAxXTsn
LCAnTWlzc2luZyBzcGFjZXMgYXJvdW5kIC8gIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNdJykK
ICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnZGVsZXRlIGFbc29tZV92YXJdOycsICcnKQogICAg
ICAgICBzZWxmLmFzc2VydF9saW50KCdyZXR1cm4gYVtzb21lX3Zhcl07JywgJycpCiAKQEAgLTI5
NjAsNyArMjk2MCw3IEBAIGNsYXNzIFdlYktpdFN0eWxlVGVzdChDcHBTdHlsZVRlc3RCYXNlKToK
ICAgICAgICAgICAgICdNaXNzaW5nIHNwYWNlIGFmdGVyICwgIFt3aGl0ZXNwYWNlL2NvbW1hXSBb
M10nKQogICAgICAgICBzZWxmLmFzc2VydF9tdWx0aV9saW5lX2xpbnQoCiAgICAgICAgICAgICAn
YyA9IGF8YjsnLAotICAgICAgICAgICAgJycpCisgICAgICAgICAgICAnTWlzc2luZyBzcGFjZXMg
YXJvdW5kIHwgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNdJykKICAgICAgICAgIyBGSVhNRTog
V2UgY2Fubm90IGNhdGNoIHRoaXMgbGludCBlcnJvci4KICAgICAgICAgIyBzZWxmLmFzc2VydF9t
dWx0aV9saW5lX2xpbnQoCiAgICAgICAgICMgICAgICdyZXR1cm4gY29uZGl0aW9uID8gMTowOycs
Cg==
</data>
<flag name="review"
          id="21777"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40548</attachid>
            <date>2009-10-02 14:55:28 -0700</date>
            <delta_ts>2009-10-04 14:12:34 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patchFor30021-2.patch</filename>
            <type>text/plain</type>
            <size>7432</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ5MDI0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMTAtMDIgIENhcm9sIFN6YWJvICA8Y2Fy
b2wuc3phYm9Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1zdHlsZSBtaXNzZXMgd2hpdGVzcGFjZSBlcnJvcnMg
Zm9yIG9wZXJhdG9yczoKKyAgICAgICAgPDwsID4+LCA8PD0sID4+PSwgJj0sIHw9LCArPSwgLT0s
ICo9LCAvPSwgLywgfCwgJiYsIHx8LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzAwMjEKKworICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9jcHBfc3R5
bGUucHk6CisgICAgICAgIEFkZGVkIHRoZSBvcGVyYXRvcnMgbWVudGlvbmVkIGFib3ZlIHRvIHRo
ZSBzYW1lIGxpc3QgYXMgPT0gYW5kICE9LgorCiAyMDA5LTEwLTAyICBKYWt1YiBXaWVjem9yZWsg
IDxmYXcyMTdAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5u
LgpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcF9zdHlsZS5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY3BwX3N0eWxlLnB5CShyZXZpc2lv
biA0OTAyMykKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jcHBfc3R5bGUucHkJKHdv
cmtpbmcgY29weSkKQEAgLTE1NDgsNyArMTU0OCw3IEBAIGRlZiBjaGVja19zcGFjaW5nKGZpbGVu
YW1lLCBjbGVhbl9saW5lcywKICAgICAjIEFsYXMsIHdlIGNhbid0IHRlc3QgPCBvciA+IGJlY2F1
c2UgdGhleSdyZSBsZWdpdGltYXRlbHkgdXNlZCBzYW5zIHNwYWNlcwogICAgICMgKGEtPmIsIHZl
Y3RvcjxpbnQ+IGEpLiAgVGhlIG9ubHkgdGltZSB3ZSBjYW4gdGVsbCBpcyBhIDwgd2l0aCBubyA+
LCBhbmQKICAgICAjIG9ubHkgaWYgaXQncyBub3QgdGVtcGxhdGUgcGFyYW1zIGxpc3Qgc3BpbGxp
bmcgaW50byB0aGUgbmV4dCBsaW5lLgotICAgIG1hdGNoZWQgPSBzZWFyY2gocidbXjw+PSFcc10o
PT18IT18PD18Pj0pW148Pj0hXHNdJywgbGluZSkKKyAgICBtYXRjaGVkID0gc2VhcmNoKHInW148
Pj0hXHNdKD09fCE9fFwrPXwtPXxcKj18Lz18L3xcfD18Jj18PDw9fD4+PXw8PXw+PXxcfFx8fFx8
fCYmfD4+fDw8KVtePD49IVxzXScsIGxpbmUpCiAgICAgaWYgbm90IG1hdGNoZWQ6CiAgICAgICAg
ICMgTm90ZSB0aGF0IHdoaWxlIGl0IHNlZW1zIHRoYXQgdGhlICc8W148XSonIHRlcm0gaW4gdGhl
IGZvbGxvd2luZwogICAgICAgICAjIHJlZ2V4cCBjb3VsZCBiZSBzaW1wbGlmaWVkIHRvICc8Lion
LCB3aGljaCB3b3VsZCBpbmRlZWQgbWF0Y2gKQEAgLTE1NjEsNyArMTU2MSw3IEBAIGRlZiBjaGVj
a19zcGFjaW5nKGZpbGVuYW1lLCBjbGVhbl9saW5lcywKICAgICAgICAgICAgICAgJ01pc3Npbmcg
c3BhY2VzIGFyb3VuZCAlcycgJSBtYXRjaGVkLmdyb3VwKDEpKQogICAgICMgV2UgYWxsb3cgbm8t
c3BhY2VzIGFyb3VuZCA8PCBhbmQgPj4gd2hlbiB1c2VkIGxpa2UgdGhpczogMTA8PDIwLCBidXQK
ICAgICAjIG5vdCBvdGhlcndpc2UgKHBhcnRpY3VsYXJseSwgbm90IHdoZW4gdXNlZCBhcyBzdHJl
YW1zKQotICAgIG1hdGNoZWQgPSBzZWFyY2gocidbXjAtOVxzXSg8PHw+PilbXjAtOVxzXScsIGxp
bmUpCisgICAgbWF0Y2hlZCA9IHNlYXJjaChyJ1teMC05XHNdKDw8fD4+KVteMC05XHM9XScsIGxp
bmUpCiAgICAgaWYgbWF0Y2hlZDoKICAgICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVfbnVtYmVy
LCAnd2hpdGVzcGFjZS9vcGVyYXRvcnMnLCAzLAogICAgICAgICAgICAgICAnTWlzc2luZyBzcGFj
ZXMgYXJvdW5kICVzJyAlIG1hdGNoZWQuZ3JvdXAoMSkpCkluZGV4OiBXZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvY3BwX3N0eWxlX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9jcHBfc3R5bGVfdW5pdHRlc3QucHkJKHJldmlzaW9uIDQ5MDIz
KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcF9zdHlsZV91bml0dGVzdC5weQko
d29ya2luZyBjb3B5KQpAQCAtOTUxLDcgKzk1MSw3IEBAIGNsYXNzIENwcFN0eWxlVGVzdChDcHBT
dHlsZVRlc3RCYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnaW50IGFbc2l6ZW9mKHN0
cnVjdCBGb28pXTsnLCAnJykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnaW50IGFbMTI4IC0g
c2l6ZW9mKGNvbnN0IGJhcildOycsICcnKQogICAgICAgICBzZWxmLmFzc2VydF9saW50KCdpbnQg
YVsoc2l6ZW9mKGZvbykgKiA0KV07JywgJycpCi0gICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2lu
dCBhWyhhcnJheXNpemUoZml4ZWRfc2l6ZV9hcnJheSkvMikgPDwgMV07JywgJycpCisgICAgICAg
IHNlbGYuYXNzZXJ0X2xpbnQoJ2ludCBhWyhhcnJheXNpemUoZml4ZWRfc2l6ZV9hcnJheSkvMikg
PDwgMV07JywgJ01pc3Npbmcgc3BhY2VzIGFyb3VuZCAvICBbd2hpdGVzcGFjZS9vcGVyYXRvcnNd
IFszXScpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2RlbGV0ZSBhW3NvbWVfdmFyXTsnLCAn
JykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgncmV0dXJuIGFbc29tZV92YXJdOycsICcnKQog
CkBAIC0xMjA5LDYgKzEyMDksNjIgQEAgY2xhc3MgQ3BwU3R5bGVUZXN0KENwcFN0eWxlVGVzdEJh
c2UpOgogICAgICAgICBzZWxmLmFzc2VydF9saW50KCd0eXBlZGVmIGhhc2hfbWFwPEZvbywgQmFy
JywgJ01pc3Npbmcgc3BhY2VzIGFyb3VuZCA8JwogICAgICAgICAgICAgICAgICAgICAgICAgICcg
IFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNdJykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgn
dHlwZWRlZiBoYXNoX21hcDxGb29vb29UeXBlLCBCYWFhYWFyVHlwZSwnLCAnJykKKyAgICAgICAg
c2VsZi5hc3NlcnRfbGludCgnYTxGb28+IHQrPWI7JywgJ01pc3Npbmcgc3BhY2VzIGFyb3VuZCAr
PScKKyAgICAgICAgICAgICAgICAgICAgICAgICAnICBbd2hpdGVzcGFjZS9vcGVyYXRvcnNdIFsz
XScpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vPiB0LT1iOycsICdNaXNzaW5nIHNw
YWNlcyBhcm91bmQgLT0nCisgICAgICAgICAgICAgICAgICAgICAgICAgJyAgW3doaXRlc3BhY2Uv
b3BlcmF0b3JzXSBbM10nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdhPEZvbyo+IHQqPWI7
JywgJ01pc3Npbmcgc3BhY2VzIGFyb3VuZCAqPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAn
ICBbd2hpdGVzcGFjZS9vcGVyYXRvcnNdIFszXScpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQo
J2E8Rm9vKj4gdC89YjsnLCAnTWlzc2luZyBzcGFjZXMgYXJvdW5kIC89JworICAgICAgICAgICAg
ICAgICAgICAgICAgICcgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNdJykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRfbGludCgnYTxGb28qPiB0fD1iOycsICdNaXNzaW5nIHNwYWNlcyBhcm91bmQgfD0n
CisgICAgICAgICAgICAgICAgICAgICAgICAgJyAgW3doaXRlc3BhY2Uvb3BlcmF0b3JzXSBbM10n
KQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdhPEZvbyo+IHQmPWI7JywgJ01pc3Npbmcgc3Bh
Y2VzIGFyb3VuZCAmPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAnICBbd2hpdGVzcGFjZS9v
cGVyYXRvcnNdIFszXScpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vKj4gdDw8PWI7
JywgJ01pc3Npbmcgc3BhY2VzIGFyb3VuZCA8PD0nCisgICAgICAgICAgICAgICAgICAgICAgICAg
JyAgW3doaXRlc3BhY2Uvb3BlcmF0b3JzXSBbM10nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50
KCdhPEZvbyo+IHQ+Pj1iOycsICdNaXNzaW5nIHNwYWNlcyBhcm91bmQgPj49JworICAgICAgICAg
ICAgICAgICAgICAgICAgICcgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNdJykKKyAgICAgICAg
c2VsZi5hc3NlcnRfbGludCgnYTxGb28qPiB0Pj49JmJ8YzsnLCAnTWlzc2luZyBzcGFjZXMgYXJv
dW5kID4+PScKKyAgICAgICAgICAgICAgICAgICAgICAgICAnICBbd2hpdGVzcGFjZS9vcGVyYXRv
cnNdIFszXScpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vKj4gdDw8PSpiL2M7Jywg
J01pc3Npbmcgc3BhY2VzIGFyb3VuZCA8PD0nCisgICAgICAgICAgICAgICAgICAgICAgICAgJyAg
W3doaXRlc3BhY2Uvb3BlcmF0b3JzXSBbM10nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdh
PEZvbz4gdCAtPSBiOycsICcnKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdhPEZvbz4gdCAr
PSBiOycsICcnKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdhPEZvbyo+IHQgKj0gYjsnLCAn
JykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnYTxGb28qPiB0IC89IGI7JywgJycpCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vKj4gdCB8PSBiOycsICcnKQorICAgICAgICBzZWxm
LmFzc2VydF9saW50KCdhPEZvbyo+IHQgJj0gYjsnLCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRf
bGludCgnYTxGb28qPiB0IDw8PSBiOycsICcnKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdh
PEZvbyo+IHQgPj49IGI7JywgJycpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vKj4g
dCA+Pj0gJmJ8YzsnLCAnTWlzc2luZyBzcGFjZXMgYXJvdW5kIHwnCisgICAgICAgICAgICAgICAg
ICAgICAgICAgJyAgW3doaXRlc3BhY2Uvb3BlcmF0b3JzXSBbM10nKQorICAgICAgICBzZWxmLmFz
c2VydF9saW50KCdhPEZvbyo+IHQgPDw9ICpiL2M7JywgJ01pc3Npbmcgc3BhY2VzIGFyb3VuZCAv
JworICAgICAgICAgICAgICAgICAgICAgICAgICcgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNd
JykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnYTxGb28qPiB0IDw8PSBiL2M7IC8vVGVzdCcs
IFsnQXQgbGVhc3QgdHdvIHNwYWNlcycKKyAgICAgICAgICAgICAgICAgICAgICAgICAnIGlzIGJl
c3QgYmV0d2VlbiBjb2RlIGFuZCBjb21tZW50cyAgW3doaXRlc3BhY2UvJworICAgICAgICAgICAg
ICAgICAgICAgICAgICdjb21tZW50c10gWzJdJywgJ1Nob3VsZCBoYXZlIGEgc3BhY2UgYmV0d2Vl
biAvLyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuZCBjb21tZW50ICBbd2hpdGVzcGFj
ZS9jb21tZW50c10gWzRdJywgJ01pc3NpbmcnCisgICAgICAgICAgICAgICAgICAgICAgICAgJyBz
cGFjZXMgYXJvdW5kIC8gIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNdJ10pCisgICAgICAgIHNl
bGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vKj4gdCA8PD0gYnx8YzsgIC8vVGVzdCcsIFsnU2hvdWxkIGhh
dmUgYSBzcGFjZScKKyAgICAgICAgICAgICAgICAgICAgICAgICAnIGJldHdlZW4gLy8gYW5kIGNv
bW1lbnQgIFt3aGl0ZXNwYWNlL2NvbW1lbnRzXSBbNF0nLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICdNaXNzaW5nIHNwYWNlcyBhcm91bmQgfHwgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNd
J10pCisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vKj4gdCA8PD0gYiYmYzsgIC8vIFRl
c3QnLCAnTWlzc2luZyBzcGFjZXMgYXJvdW5kJworICAgICAgICAgICAgICAgICAgICAgICAgICcg
JiYgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNdJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGlu
dCgnYTxGb28qPiB0IDw8PSBiJiYmYzsgIC8vIFRlc3QnLCAnTWlzc2luZyBzcGFjZXMgYXJvdW5k
JworICAgICAgICAgICAgICAgICAgICAgICAgICcgJiYgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10g
WzNdJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnYTxGb28qPiB0IDw8PSBiJiYqYzsgIC8v
IFRlc3QnLCAnTWlzc2luZyBzcGFjZXMgYXJvdW5kJworICAgICAgICAgICAgICAgICAgICAgICAg
ICcgJiYgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNdJykKKyAgICAgICAgc2VsZi5hc3NlcnRf
bGludCgnYTxGb28qPiB0IDw8PSBiICYmICpjOyAgLy8gVGVzdCcsICcnKQorICAgICAgICBzZWxm
LmFzc2VydF9saW50KCdhPEZvbyo+IHQgPDw9IGIgJiYgJmM7ICAvLyBUZXN0JywgJycpCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vKj4gdCA8PD0gYiB8fCAmYzsgIC8qVGVzdCcsICdD
b21wbGV4IG11bHRpLWxpbmUgJworICAgICAgICAgICAgICAgICAgICAgICAgICcvKi4uLiovLXN0
eWxlIGNvbW1lbnQgZm91bmQuIExpbnQgbWF5IGdpdmUgYm9ndXMgJworICAgICAgICAgICAgICAg
ICAgICAgICAgICd3YXJuaW5ncy4gIENvbnNpZGVyIHJlcGxhY2luZyB0aGVzZSB3aXRoIC8vLXN0
eWxlJworICAgICAgICAgICAgICAgICAgICAgICAgICcgY29tbWVudHMsIHdpdGggI2lmIDAuLi4j
ZW5kaWYsIG9yIHdpdGggbW9yZSBjbGVhcmx5JworICAgICAgICAgICAgICAgICAgICAgICAgICcg
c3RydWN0dXJlZCBtdWx0aS1saW5lIGNvbW1lbnRzLiAgW3JlYWRhYmlsaXR5L211bHRpbGluZV9j
b21tZW50XSBbNV0nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdhPEZvbyY+IHQgPDw9ICZi
IHwgJmM7JywgJycpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2E8Rm9vKj4gdCA8PD0gJmIg
JiAmYzsgIC8vIFRlc3QnLCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnYTxGb28qPiB0
IDw8PSAqYiAvICZjOyAgLy8gVGVzdCcsICcnKQogCiAgICAgZGVmIHRlc3Rfc3BhY2luZ19iZWZv
cmVfbGFzdF9zZW1pY29sb24oc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2NhbGxf
ZnVuY3Rpb24oKSA7JywKQEAgLTI5NjAsNyArMzAxNiw3IEBAIGNsYXNzIFdlYktpdFN0eWxlVGVz
dChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgICAgICdNaXNzaW5nIHNwYWNlIGFmdGVyICwg
IFt3aGl0ZXNwYWNlL2NvbW1hXSBbM10nKQogICAgICAgICBzZWxmLmFzc2VydF9tdWx0aV9saW5l
X2xpbnQoCiAgICAgICAgICAgICAnYyA9IGF8YjsnLAotICAgICAgICAgICAgJycpCisgICAgICAg
ICAgICAnTWlzc2luZyBzcGFjZXMgYXJvdW5kIHwgIFt3aGl0ZXNwYWNlL29wZXJhdG9yc10gWzNd
JykKICAgICAgICAgIyBGSVhNRTogV2UgY2Fubm90IGNhdGNoIHRoaXMgbGludCBlcnJvci4KICAg
ICAgICAgIyBzZWxmLmFzc2VydF9tdWx0aV9saW5lX2xpbnQoCiAgICAgICAgICMgICAgICdyZXR1
cm4gY29uZGl0aW9uID8gMTowOycsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>