<?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>36573</bug_id>
          
          <creation_ts>2010-03-24 19:24:07 -0700</creation_ts>
          <short_desc>check-webkit-style should restore the original file name if it is used from Emacs&apos;s flymake so that it can get an correct header guard name</short_desc>
          <delta_ts>2010-03-29 23:08:45 -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>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>203733</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-03-24 19:24:07 -0700</bug_when>
    <thetext>If users run check-webkit-style against header file (*.h) from Emacs&apos;s flymake, the file name might contain &apos;_flymake&apos; suffix in the end of the basename. So we have to restore original file name to get a correct header guard name.

A similar change has already been committed to original cpplint.py. So I&apos;d like to sync cpplint.py and cpp.py.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203806</commentid>
    <comment_count>1</comment_count>
      <attachid>51596</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-03-24 22:31:10 -0700</bug_when>
    <thetext>Created attachment 51596
fix-header-guard-name-for-flymake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203823</commentid>
    <comment_count>2</comment_count>
      <attachid>51596</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-03-24 23:21:56 -0700</bug_when>
    <thetext>Comment on attachment 51596
fix-header-guard-name-for-flymake

&gt; -    emacs_flymake_suffix = &apos;_flymake.cpp&apos;
&gt; -    if abs_filename.endswith(emacs_flymake_suffix):
&gt; -        abs_filename = abs_filename[:-len(emacs_flymake_suffix)] + &apos;.cpp&apos;
&gt; +    abs_filename = re.sub(r&apos;_flymake\.cpp$&apos;, &apos;.cpp&apos;, abs_filename)

Let me confirm, is this just a refactoring?

&gt; +        # Special case for flymake
&gt; +        error_collector = ErrorCollector(self.assert_)
&gt; +        self.process_file_data(&apos;mydir/Foo_flymake.h&apos;, &apos;h&apos;, [], error_collector)
&gt; +        self.assertEquals(
&gt; +            1,
&gt; +            error_collector.result_list().count(
&gt; +                &apos;No #ifndef header guard found, suggested CPP variable is: %s&apos;
&gt; +                &apos;  [build/header_guard] [5]&apos; % expected_guard),
&gt; +            error_collector.result_list())
&gt; +

I guess what we want to ensure is &quot;#ifndef Foo_h_&quot; won&apos;t be warned when it is put in &quot;Foo_flymake.h&quot; ? If so, please add a test case for this case.

By the way, I think putting your elisp to use check-webkit-style with flymake may help someone. Could you show it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203932</commentid>
    <comment_count>3</comment_count>
      <attachid>51609</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-03-25 01:51:57 -0700</bug_when>
    <thetext>Created attachment 51609
fix-header-guard-name-for-flymake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203938</commentid>
    <comment_count>4</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-03-25 01:56:41 -0700</bug_when>
    <thetext>Thank you for the review.

(In reply to comment #2)
&gt; (From update of attachment 51596 [details])
&gt; &gt; -    emacs_flymake_suffix = &apos;_flymake.cpp&apos;
&gt; &gt; -    if abs_filename.endswith(emacs_flymake_suffix):
&gt; &gt; -        abs_filename = abs_filename[:-len(emacs_flymake_suffix)] + &apos;.cpp&apos;
&gt; &gt; +    abs_filename = re.sub(r&apos;_flymake\.cpp$&apos;, &apos;.cpp&apos;, abs_filename)
&gt; 
&gt; Let me confirm, is this just a refactoring?

Yes, it is just a refactoring.

&gt; &gt; +        # Special case for flymake
&gt; &gt; +        error_collector = ErrorCollector(self.assert_)
&gt; &gt; +        self.process_file_data(&apos;mydir/Foo_flymake.h&apos;, &apos;h&apos;, [], error_collector)
&gt; &gt; +        self.assertEquals(
&gt; &gt; +            1,
&gt; &gt; +            error_collector.result_list().count(
&gt; &gt; +                &apos;No #ifndef header guard found, suggested CPP variable is: %s&apos;
&gt; &gt; +                &apos;  [build/header_guard] [5]&apos; % expected_guard),
&gt; &gt; +            error_collector.result_list())
&gt; &gt; +
&gt; 
&gt; I guess what we want to ensure is &quot;#ifndef Foo_h_&quot; won&apos;t be warned when it is
&gt; put in &quot;Foo_flymake.h&quot; ? If so, please add a test case for this case.

I&apos;ve add a test case. Thank you!
 
&gt; By the way, I think putting your elisp to use check-webkit-style with flymake
&gt; may help someone. Could you show it?


Sure. It should be something like:

(require &apos;flymake)

(defun flymake-check-webkit-style-init ()
  (list &quot;check-webkit-style&quot; (list (flymake-init-create-temp-buffer-copy &apos;flymake-create-temp-inplace))))

(add-to-list &apos;flymake-allowed-file-name-masks
             &apos;(&quot;WebKit/.*\\.cpp\\&apos;&quot; flymake-check-webkit-style-init))
(add-to-list &apos;flymake-allowed-file-name-masks
             &apos;(&quot;WebKit/.*\\.h\\&apos;&quot; flymake-check-webkit-style-init))


After evaluating the above elisp, just doing M-x flymake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203956</commentid>
    <comment_count>5</comment_count>
      <attachid>51609</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-03-25 02:46:57 -0700</bug_when>
    <thetext>Comment on attachment 51609
fix-header-guard-name-for-flymake

Looks good! Thanks for adding the test and showing your elisp-fu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205863</commentid>
    <comment_count>6</comment_count>
      <attachid>51609</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-29 23:08:41 -0700</bug_when>
    <thetext>Comment on attachment 51609
fix-header-guard-name-for-flymake

Clearing flags on attachment: 51609

Committed r56763: &lt;http://trac.webkit.org/changeset/56763&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205864</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-29 23:08:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51596</attachid>
            <date>2010-03-24 22:31:10 -0700</date>
            <delta_ts>2010-03-25 01:51:52 -0700</delta_ts>
            <desc>fix-header-guard-name-for-flymake</desc>
            <filename>bug-36573-20100325143108.patch</filename>
            <type>text/plain</type>
            <size>2908</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA4NDM2ZmUxLi4yOWM2OWNkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMt
MjQgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSAnX2ZseW1ha2UnIHN1ZmZpeCBm
cm9tIGJhc2UgcGFydCBvZiBmaWxlIG5hbWUgc28gdGhhdAorICAgICAgICBjaGVjay13ZWJraXQt
c3R5bGUgdXNlcyBhIGNvcnJlY3QgaGVhZGVyIGd1YXJkIG5hbWUgd2hlbiBpdCBpcyBjYWxsZWQg
ZnJvbSBFbWFjcydzIGZseW1ha2UuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM2NTczCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L3Byb2Nlc3NvcnMvY3BwLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJv
Y2Vzc29ycy9jcHBfdW5pdHRlc3QucHk6CisKIDIwMTAtMDMtMjMgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwLnB5
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcC5weQpv
bGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDgxNGI2MDcuLjAzMjQ2ZGEKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcC5weQor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwLnB5
CkBAIC02NDIsNiArNjQyLDEwIEBAIGRlZiBnZXRfaGVhZGVyX2d1YXJkX2NwcF92YXJpYWJsZShm
aWxlbmFtZSk6CiAKICAgICAiIiIKIAorICAgICMgUmVzdG9yZXMgb3JpZ2luYWwgZmlsZW5hbWUg
aW4gY2FzZSB0aGF0IHN0eWxlIGNoZWNrZXIgaXMgaW52b2tlZCBmcm9tIEVtYWNzJ3MKKyAgICAj
IGZseW1ha2UuCisgICAgZmlsZW5hbWUgPSByZS5zdWIocidfZmx5bWFrZVwuaCQnLCAnLmgnLCBm
aWxlbmFtZSkKKwogICAgIHJldHVybiBzdWIocidbLS5cc10nLCAnXycsIG9zLnBhdGguYmFzZW5h
bWUoZmlsZW5hbWUpKQogCiAKQEAgLTI3NjksOSArMjc3Myw3IEBAIGRlZiBjaGVja19mb3JfaW5j
bHVkZV93aGF0X3lvdV91c2UoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBpbmNsdWRlX3N0YXRlLCBl
cnJvciwKICAgICAjIGZvdW5kLgogICAgICMgZS5nLiBJZiB0aGUgZmlsZSBuYW1lIGlzICdmb29f
Zmx5bWFrZS5jcHAnLCB3ZSBzaG91bGQgc2VhcmNoIGZvciAnZm9vLmgnCiAgICAgIyBpbnN0ZWFk
IG9mICdmb29fZmx5bWFrZS5oJwotICAgIGVtYWNzX2ZseW1ha2Vfc3VmZml4ID0gJ19mbHltYWtl
LmNwcCcKLSAgICBpZiBhYnNfZmlsZW5hbWUuZW5kc3dpdGgoZW1hY3NfZmx5bWFrZV9zdWZmaXgp
OgotICAgICAgICBhYnNfZmlsZW5hbWUgPSBhYnNfZmlsZW5hbWVbOi1sZW4oZW1hY3NfZmx5bWFr
ZV9zdWZmaXgpXSArICcuY3BwJworICAgIGFic19maWxlbmFtZSA9IHJlLnN1YihyJ19mbHltYWtl
XC5jcHAkJywgJy5jcHAnLCBhYnNfZmlsZW5hbWUpCiAKICAgICAjIGluY2x1ZGVfc3RhdGUgaXMg
bW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbiwgc28gd2UgaXRlcmF0ZSBvdmVyIGEgY29weSBvZgog
ICAgICMgdGhlIGtleXMuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL3Byb2Nlc3NvcnMvY3BwX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weQpvbGQgbW9kZSAxMDA2NDQK
bmV3IG1vZGUgMTAwNzU1CmluZGV4IGM0NzM4ZjkuLmQ1NTFkYjMKLS0tIGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwX3VuaXR0ZXN0
LnB5CkBAIC0xNzM1LDYgKzE3MzUsMTYgQEAgY2xhc3MgQ3BwU3R5bGVUZXN0KENwcFN0eWxlVGVz
dEJhc2UpOgogICAgICAgICAgICAgICAgICcgIFtidWlsZC9oZWFkZXJfZ3VhcmRdIFs1XScgJSBl
eHBlY3RlZF9ndWFyZCksCiAgICAgICAgICAgICBlcnJvcl9jb2xsZWN0b3IucmVzdWx0X2xpc3Qo
KSkKIAorICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgZmx5bWFrZQorICAgICAgICBlcnJvcl9j
b2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2VydF8pCisgICAgICAgIHNlbGYucHJv
Y2Vzc19maWxlX2RhdGEoJ215ZGlyL0Zvb19mbHltYWtlLmgnLCAnaCcsIFtdLCBlcnJvcl9jb2xs
ZWN0b3IpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKAorICAgICAgICAgICAgMSwKKyAgICAg
ICAgICAgIGVycm9yX2NvbGxlY3Rvci5yZXN1bHRfbGlzdCgpLmNvdW50KAorICAgICAgICAgICAg
ICAgICdObyAjaWZuZGVmIGhlYWRlciBndWFyZCBmb3VuZCwgc3VnZ2VzdGVkIENQUCB2YXJpYWJs
ZSBpczogJXMnCisgICAgICAgICAgICAgICAgJyAgW2J1aWxkL2hlYWRlcl9ndWFyZF0gWzVdJyAl
IGV4cGVjdGVkX2d1YXJkKSwKKyAgICAgICAgICAgIGVycm9yX2NvbGxlY3Rvci5yZXN1bHRfbGlz
dCgpKQorCiAgICAgZGVmIHRlc3RfYnVpbGRfcHJpbnRmX2Zvcm1hdChzZWxmKToKICAgICAgICAg
c2VsZi5hc3NlcnRfbGludCgKICAgICAgICAgICAgIHIncHJpbnRmKCJcJSVkIiwgdmFsdWUpOycs
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51609</attachid>
            <date>2010-03-25 01:51:57 -0700</date>
            <delta_ts>2010-03-29 23:08:41 -0700</delta_ts>
            <desc>fix-header-guard-name-for-flymake</desc>
            <filename>bug-36573-20100325175155.patch</filename>
            <type>text/plain</type>
            <size>3435</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA4NDM2ZmUxLi4yOWM2OWNkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMt
MjQgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSAnX2ZseW1ha2UnIHN1ZmZpeCBm
cm9tIGJhc2UgcGFydCBvZiBmaWxlIG5hbWUgc28gdGhhdAorICAgICAgICBjaGVjay13ZWJraXQt
c3R5bGUgdXNlcyBhIGNvcnJlY3QgaGVhZGVyIGd1YXJkIG5hbWUgd2hlbiBpdCBpcyBjYWxsZWQg
ZnJvbSBFbWFjcydzIGZseW1ha2UuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM2NTczCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L3Byb2Nlc3NvcnMvY3BwLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJv
Y2Vzc29ycy9jcHBfdW5pdHRlc3QucHk6CisKIDIwMTAtMDMtMjMgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwLnB5
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcC5weQpv
bGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDgxNGI2MDcuLjAzMjQ2ZGEKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcC5weQor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwLnB5
CkBAIC02NDIsNiArNjQyLDEwIEBAIGRlZiBnZXRfaGVhZGVyX2d1YXJkX2NwcF92YXJpYWJsZShm
aWxlbmFtZSk6CiAKICAgICAiIiIKIAorICAgICMgUmVzdG9yZXMgb3JpZ2luYWwgZmlsZW5hbWUg
aW4gY2FzZSB0aGF0IHN0eWxlIGNoZWNrZXIgaXMgaW52b2tlZCBmcm9tIEVtYWNzJ3MKKyAgICAj
IGZseW1ha2UuCisgICAgZmlsZW5hbWUgPSByZS5zdWIocidfZmx5bWFrZVwuaCQnLCAnLmgnLCBm
aWxlbmFtZSkKKwogICAgIHJldHVybiBzdWIocidbLS5cc10nLCAnXycsIG9zLnBhdGguYmFzZW5h
bWUoZmlsZW5hbWUpKQogCiAKQEAgLTI3NjksOSArMjc3Myw3IEBAIGRlZiBjaGVja19mb3JfaW5j
bHVkZV93aGF0X3lvdV91c2UoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBpbmNsdWRlX3N0YXRlLCBl
cnJvciwKICAgICAjIGZvdW5kLgogICAgICMgZS5nLiBJZiB0aGUgZmlsZSBuYW1lIGlzICdmb29f
Zmx5bWFrZS5jcHAnLCB3ZSBzaG91bGQgc2VhcmNoIGZvciAnZm9vLmgnCiAgICAgIyBpbnN0ZWFk
IG9mICdmb29fZmx5bWFrZS5oJwotICAgIGVtYWNzX2ZseW1ha2Vfc3VmZml4ID0gJ19mbHltYWtl
LmNwcCcKLSAgICBpZiBhYnNfZmlsZW5hbWUuZW5kc3dpdGgoZW1hY3NfZmx5bWFrZV9zdWZmaXgp
OgotICAgICAgICBhYnNfZmlsZW5hbWUgPSBhYnNfZmlsZW5hbWVbOi1sZW4oZW1hY3NfZmx5bWFr
ZV9zdWZmaXgpXSArICcuY3BwJworICAgIGFic19maWxlbmFtZSA9IHJlLnN1YihyJ19mbHltYWtl
XC5jcHAkJywgJy5jcHAnLCBhYnNfZmlsZW5hbWUpCiAKICAgICAjIGluY2x1ZGVfc3RhdGUgaXMg
bW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbiwgc28gd2UgaXRlcmF0ZSBvdmVyIGEgY29weSBvZgog
ICAgICMgdGhlIGtleXMuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL3Byb2Nlc3NvcnMvY3BwX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weQpvbGQgbW9kZSAxMDA2NDQK
bmV3IG1vZGUgMTAwNzU1CmluZGV4IGM0NzM4ZjkuLjcyMjU0OTMKLS0tIGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwX3VuaXR0ZXN0
LnB5CkBAIC0xNzM1LDYgKzE3MzUsMjYgQEAgY2xhc3MgQ3BwU3R5bGVUZXN0KENwcFN0eWxlVGVz
dEJhc2UpOgogICAgICAgICAgICAgICAgICcgIFtidWlsZC9oZWFkZXJfZ3VhcmRdIFs1XScgJSBl
eHBlY3RlZF9ndWFyZCksCiAgICAgICAgICAgICBlcnJvcl9jb2xsZWN0b3IucmVzdWx0X2xpc3Qo
KSkKIAorICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgZmx5bWFrZQorICAgICAgICBlcnJvcl9j
b2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2VydF8pCisgICAgICAgIHNlbGYucHJv
Y2Vzc19maWxlX2RhdGEoJ215ZGlyL0Zvb19mbHltYWtlLmgnLCAnaCcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWycjaWZuZGVmICVzJyAlIGV4cGVjdGVkX2d1YXJkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnI2RlZmluZSAlcycgJSBleHBlY3RlZF9ndWFyZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNlbmRpZiAvLyAlcycgJSBleHBlY3Rl
ZF9ndWFyZF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfY29sbGVjdG9y
KQorICAgICAgICBmb3IgbGluZSBpbiBlcnJvcl9jb2xsZWN0b3IucmVzdWx0X2xpc3QoKToKKyAg
ICAgICAgICAgIGlmIGxpbmUuZmluZCgnYnVpbGQvaGVhZGVyX2d1YXJkJykgIT0gLTE6CisgICAg
ICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmV4cGVjdGVkIGVycm9yOiAlcycgJSBsaW5lKQorCisg
ICAgICAgIGVycm9yX2NvbGxlY3RvciA9IEVycm9yQ29sbGVjdG9yKHNlbGYuYXNzZXJ0XykKKyAg
ICAgICAgc2VsZi5wcm9jZXNzX2ZpbGVfZGF0YSgnbXlkaXIvRm9vX2ZseW1ha2UuaCcsICdoJywg
W10sIGVycm9yX2NvbGxlY3RvcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoCisgICAgICAg
ICAgICAxLAorICAgICAgICAgICAgZXJyb3JfY29sbGVjdG9yLnJlc3VsdF9saXN0KCkuY291bnQo
CisgICAgICAgICAgICAgICAgJ05vICNpZm5kZWYgaGVhZGVyIGd1YXJkIGZvdW5kLCBzdWdnZXN0
ZWQgQ1BQIHZhcmlhYmxlIGlzOiAlcycKKyAgICAgICAgICAgICAgICAnICBbYnVpbGQvaGVhZGVy
X2d1YXJkXSBbNV0nICUgZXhwZWN0ZWRfZ3VhcmQpLAorICAgICAgICAgICAgZXJyb3JfY29sbGVj
dG9yLnJlc3VsdF9saXN0KCkpCisKICAgICBkZWYgdGVzdF9idWlsZF9wcmludGZfZm9ybWF0KHNl
bGYpOgogICAgICAgICBzZWxmLmFzc2VydF9saW50KAogICAgICAgICAgICAgcidwcmludGYoIlwl
JWQiLCB2YWx1ZSk7JywK
</data>

          </attachment>
      

    </bug>

</bugzilla>