<?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>79159</bug_id>
          
          <creation_ts>2012-02-21 16:00:43 -0800</creation_ts>
          <short_desc>webkitpy: speed up frequently called but slow filesystem_mock functions</short_desc>
          <delta_ts>2012-02-21 16:32:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>561312</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-21 16:00:43 -0800</bug_when>
    <thetext>webkitpy: speed up hot filesystem_mock functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561319</commentid>
    <comment_count>1</comment_count>
      <attachid>128068</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-21 16:04:24 -0800</bug_when>
    <thetext>Created attachment 128068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561337</commentid>
    <comment_count>2</comment_count>
      <attachid>128068</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-21 16:13:48 -0800</bug_when>
    <thetext>Comment on attachment 128068
Patch

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

&gt; Tools/ChangeLog:11
&gt; +        slow.This patch speeds them up substantially, shaving 20 seconds
&gt; +        off of the execution time.

Nice!  (nit: missing a space between &quot;.&quot; and &quot;This&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561345</commentid>
    <comment_count>3</comment_count>
      <attachid>128068</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-21 16:17:29 -0800</bug_when>
    <thetext>Comment on attachment 128068
Patch

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

&gt;&gt; Tools/ChangeLog:11
&gt;&gt; +        off of the execution time.
&gt; 
&gt; Nice!  (nit: missing a space between &quot;.&quot; and &quot;This&quot;)

I&apos;m surprised that this saves 20s...  Crazy.

&gt; Tools/Scripts/webkitpy/common/system/filesystem_mock.py:179
&gt; +        return re.sub(re.escape(os.path.sep), self.sep, os.path.join(*comps))

compiling the regexp would help, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561363</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-21 16:32:12 -0800</bug_when>
    <thetext>Committed r108414: &lt;http://trac.webkit.org/changeset/108414&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128068</attachid>
            <date>2012-02-21 16:04:24 -0800</date>
            <delta_ts>2012-02-21 16:31:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79159-20120221160422.patch</filename>
            <type>text/plain</type>
            <size>9411</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4Mzc5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTUzY2VkYjFlZDZhYTgyNTVjYjJkOTM1ZGFlNzhmNWE4
OTA4N2JlMS4uNzQ5YjAzYjNmODkwYWE3ZTIxZTZkMWE1MGM4Y2UyZGFiNzUwNzRkOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1
IEBACiAyMDEyLTAyLTIxICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiBzcGVlZCB1cCBob3QgZmlsZXN5c3RlbV9tb2NrIGZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm9maWxpbmcg
cnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkgcmV2ZWFsZWQgdGhhdAorICAgICAg
ICBpc2RpcigpLCBub3JtcGF0aCgpLCBhbmQgam9pbigpIGFyZSBjYWxsZWQgYSBsb3QgYW5kIHdl
cmUgdmVyeQorICAgICAgICBzbG93LlRoaXMgcGF0Y2ggc3BlZWRzIHRoZW0gdXAgc3Vic3RhbnRp
YWxseSwgc2hhdmluZyAyMCBzZWNvbmRzCisgICAgICAgIG9mZiBvZiB0aGUgZXhlY3V0aW9uIHRp
bWUuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3Rl
bV9tb2NrLnB5OgorICAgICAgICAoTW9ja0ZpbGVTeXN0ZW0uaXNkaXIpOgorICAgICAgICAoTW9j
a0ZpbGVTeXN0ZW0uX3Nsb3dfYnV0X2NvcnJlY3Rfam9pbik6CisgICAgICAgIChNb2NrRmlsZVN5
c3RlbS5qb2luKToKKyAgICAgICAgKE1vY2tGaWxlU3lzdGVtLmxpc3RkaXIpOgorICAgICAgICAo
TW9ja0ZpbGVTeXN0ZW0uX3Nsb3dfYnV0X2NvcnJlY3Rfbm9ybXBhdGgpOgorICAgICAgICAoTW9j
a0ZpbGVTeXN0ZW0ubm9ybXBhdGgpOgorICAgICAgICAoTW9ja0ZpbGVTeXN0ZW0ud3JpdGVfYmlu
YXJ5X2ZpbGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxl
c3lzdGVtX21vY2tfdW5pdHRlc3QucHk6CisgICAgICAgIChNb2NrRmlsZVN5c3RlbVRlc3QucXVp
Y2tfY2hlY2spOgorICAgICAgICAoTW9ja0ZpbGVTeXN0ZW1UZXN0KToKKyAgICAgICAgKE1vY2tG
aWxlU3lzdGVtVGVzdC50ZXN0X2pvaW4pOgorICAgICAgICAoTW9ja0ZpbGVTeXN0ZW1UZXN0LnRl
c3Rfbm9ybXBhdGgpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL3Jl
YmFzZWxpbmVzZXJ2ZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChnZXRfdGVzdF9jb25maWcpOiBD
YWxsIHdyaXRlX2JpbmFyeV9maWxlKCkgaW5zdGVhZCBvZiB1cGRhdGluZworICAgICAgICAgIGZp
bGVzeXN0ZW0uZmlsZXMgZGlyZWN0bHksIHNvIHRoYXQgd2UgY3JlYXRlIGRpcmVjdG9yaWVzIGFz
CisgICAgICAgICAgbmVlZGVkLgorCisyMDEyLTAyLTIxICBEaXJrIFByYW5rZSAgPGRwcmFua2VA
Y2hyb21pdW0ub3JnPgorCiAgICAgICAgIHdlYmtpdHB5OiB1cGRhdGUgbmFtZXMgYWZ0ZXIgZGVs
ZXRpbmcgbWVzc2FnZV9icm9rZXIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc5MDAwCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbV9tb2NrLnB5CmluZGV4IGEzNDYwYmExNGMwM2E3OWNl
ZTI2ODE5YmY4OGJlMDUzYTY4Y2I4YWYuLjZmYjFkY2FlZWQ1MGU1MDc3Yzg2Y2E1MzRhMTBkYjI2
Y2ZjNmM0MDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS9maWxlc3lzdGVtX21vY2sucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
c3lzdGVtL2ZpbGVzeXN0ZW1fbW9jay5weQpAQCAtMTczLDQwICsxNzMsNDUgQEAgY2xhc3MgTW9j
a0ZpbGVTeXN0ZW0ob2JqZWN0KToKICAgICAgICAgcmV0dXJuIHBhdGggaW4gc2VsZi5maWxlcyBh
bmQgc2VsZi5maWxlc1twYXRoXSBpcyBub3QgTm9uZQogCiAgICAgZGVmIGlzZGlyKHNlbGYsIHBh
dGgpOgotICAgICAgICBpZiBwYXRoIGluIHNlbGYuZmlsZXM6Ci0gICAgICAgICAgICByZXR1cm4g
RmFsc2UKLSAgICAgICAgcGF0aCA9IHNlbGYubm9ybXBhdGgocGF0aCkKLSAgICAgICAgaWYgcGF0
aCBpbiBzZWxmLmRpcnM6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4g
c2VsZi5ub3JtcGF0aChwYXRoKSBpbiBzZWxmLmRpcnMKIAotICAgICAgICAjIFdlIG5lZWQgdG8g
dXNlIGEgY29weSBvZiB0aGUga2V5cyBoZXJlIGluIG9yZGVyIHRvIGF2b2lkIHN3aXRjaGluZwot
ICAgICAgICAjIHRvIGEgZGlmZmVyZW50IHRocmVhZCBhbmQgcG90ZW50aWFsbHkgbW9kaWZ5aW5n
IHRoZSBkaWN0IGluCi0gICAgICAgICMgbWlkLWl0ZXJhdGlvbi4KLSAgICAgICAgZmlsZXMgPSBz
ZWxmLmZpbGVzLmtleXMoKVs6XQotICAgICAgICByZXN1bHQgPSBhbnkoZi5zdGFydHN3aXRoKHBh
dGgpIGFuZCBsZW4oc2VsZi5zcGxpdChmKVswXSkgPj0gbGVuKHBhdGgpIGZvciBmIGluIGZpbGVz
KQotICAgICAgICBpZiByZXN1bHQ6Ci0gICAgICAgICAgICBzZWxmLmRpcnMuYWRkKHBhdGgpCi0g
ICAgICAgIHJldHVybiByZXN1bHQKKyAgICBkZWYgX3Nsb3dfYnV0X2NvcnJlY3Rfam9pbihzZWxm
LCAqY29tcHMpOgorICAgICAgICByZXR1cm4gcmUuc3ViKHJlLmVzY2FwZShvcy5wYXRoLnNlcCks
IHNlbGYuc2VwLCBvcy5wYXRoLmpvaW4oKmNvbXBzKSkKIAogICAgIGRlZiBqb2luKHNlbGYsICpj
b21wcyk6Ci0gICAgICAgICMgRklYTUU6IG1pZ2h0IHdhbnQgdGVzdHMgZm9yIHRoaXMgYW5kL29y
IGEgYmV0dGVyIGNvbW1lbnQgYWJvdXQgaG93Ci0gICAgICAgICMgaXQgd29ya3MuCi0gICAgICAg
IHJldHVybiByZS5zdWIocmUuZXNjYXBlKG9zLnBhdGguc2VwKSwgc2VsZi5zZXAsIG9zLnBhdGgu
am9pbigqY29tcHMpKQorICAgICAgICAjIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGEgbG90LCBz
byB3ZSBvcHRpbWl6ZSBpdDsgdGhlcmUgYXJlCisgICAgICAgICMgdW5pdHRlc3RzIHRvIGNoZWNr
IHRoYXQgd2UgbWF0Y2ggX3Nsb3dfYnV0X2NvcnJlY3Rfam9pbigpLCBhYm92ZS4KKyAgICAgICAg
cGF0aCA9ICcnCisgICAgICAgIHNlcCA9IHNlbGYuc2VwCisgICAgICAgIGZvciBjb21wIGluIGNv
bXBzOgorICAgICAgICAgICAgaWYgbm90IGNvbXA6CisgICAgICAgICAgICAgICAgY29udGludWUK
KyAgICAgICAgICAgIGlmIGNvbXBbMF0gPT0gc2VwOgorICAgICAgICAgICAgICAgIHBhdGggPSBj
b21wCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIHBhdGg6CisgICAg
ICAgICAgICAgICAgcGF0aCArPSBzZXAKKyAgICAgICAgICAgIHBhdGggKz0gY29tcAorICAgICAg
ICBpZiBjb21wc1stMV0gPT0gJycgYW5kIHBhdGg6CisgICAgICAgICAgICBwYXRoICs9ICcvJwor
ICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKHNlcCArIHNlcCwgc2VwKQorICAgICAgICByZXR1
cm4gcGF0aAogCiAgICAgZGVmIGxpc3RkaXIoc2VsZiwgcGF0aCk6CisgICAgICAgIHNlcCA9IHNl
bGYuc2VwCiAgICAgICAgIGlmIG5vdCBzZWxmLmlzZGlyKHBhdGgpOgogICAgICAgICAgICAgcmFp
c2UgT1NFcnJvcigiJXMgaXMgbm90IGEgZGlyZWN0b3J5IiAlIHBhdGgpCiAKLSAgICAgICAgaWYg
bm90IHBhdGguZW5kc3dpdGgoc2VsZi5zZXApOgotICAgICAgICAgICAgcGF0aCArPSBzZWxmLnNl
cAorICAgICAgICBpZiBub3QgcGF0aC5lbmRzd2l0aChzZXApOgorICAgICAgICAgICAgcGF0aCAr
PSBzZXAKIAogICAgICAgICBkaXJzID0gW10KICAgICAgICAgZmlsZXMgPSBbXQogICAgICAgICBm
b3IgZiBpbiBzZWxmLmZpbGVzOgogICAgICAgICAgICAgaWYgc2VsZi5leGlzdHMoZikgYW5kIGYu
c3RhcnRzd2l0aChwYXRoKToKICAgICAgICAgICAgICAgICByZW1haW5pbmcgPSBmW2xlbihwYXRo
KTpdCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5zZXAgaW4gcmVtYWluaW5nOgotICAgICAgICAg
ICAgICAgICAgICBkaXIgPSByZW1haW5pbmdbOnJlbWFpbmluZy5pbmRleChzZWxmLnNlcCldCisg
ICAgICAgICAgICAgICAgaWYgc2VwIGluIHJlbWFpbmluZzoKKyAgICAgICAgICAgICAgICAgICAg
ZGlyID0gcmVtYWluaW5nWzpyZW1haW5pbmcuaW5kZXgoc2VwKV0KICAgICAgICAgICAgICAgICAg
ICAgaWYgbm90IGRpciBpbiBkaXJzOgogICAgICAgICAgICAgICAgICAgICAgICAgZGlycy5hcHBl
bmQoZGlyKQogICAgICAgICAgICAgICAgIGVsc2U6CkBAIC0yNjIsMTEgKzI2NywyNyBAQCBjbGFz
cyBNb2NrRmlsZVN5c3RlbShvYmplY3QpOgogICAgICAgICBzZWxmLmZpbGVzW3NvdXJjZV0gPSBO
b25lCiAgICAgICAgIHNlbGYud3JpdHRlbl9maWxlc1tzb3VyY2VdID0gTm9uZQogCi0gICAgZGVm
IG5vcm1wYXRoKHNlbGYsIHBhdGgpOgotICAgICAgICAjIExpa2Ugam9pbigpLCByZWxpZXMgb24g
b3MucGF0aCBmdW5jdGlvbmFsaXR5IGJ1dCBub3JtYWxpemVzIHRoZQotICAgICAgICAjIHBhdGgg
c2VwYXJhdG9yIHRvIHRoZSBtb2NrIG9uZS4KKyAgICBkZWYgX3Nsb3dfYnV0X2NvcnJlY3Rfbm9y
bXBhdGgoc2VsZiwgcGF0aCk6CiAgICAgICAgIHJldHVybiByZS5zdWIocmUuZXNjYXBlKG9zLnBh
dGguc2VwKSwgc2VsZi5zZXAsIG9zLnBhdGgubm9ybXBhdGgocGF0aCkpCiAKKyAgICBkZWYgbm9y
bXBhdGgoc2VsZiwgcGF0aCk6CisgICAgICAgICMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYSBs
b3QsIHNvIHdlIHRyeSB0byBvcHRpbWl6ZSB0aGUgY29tbW9uIGNhc2VzCisgICAgICAgICMgaW5z
dGVhZCBvZiBhbHdheXMgY2FsbGluZyBfc2xvd19idXRfY29ycmVjdF9ub3JtcGF0aCgpLCBhYm92
ZS4KKyAgICAgICAgaWYgJy4uJyBpbiBwYXRoOgorICAgICAgICAgICAgIyBUaGlzIGRvZXNuJ3Qg
aGFwcGVuIHZlcnkgb2Z0ZW47IGRvbid0IGJvdGhlciB0cnlpbmcgdG8gb3B0aW1pemUgaXQuCisg
ICAgICAgICAgICByZXR1cm4gc2VsZi5fc2xvd19idXRfY29ycmVjdF9ub3JtcGF0aChwYXRoKQor
ICAgICAgICBpZiBub3QgcGF0aDoKKyAgICAgICAgICAgIHJldHVybiAnLicKKyAgICAgICAgaWYg
cGF0aCA9PSAnLyc6CisgICAgICAgICAgICByZXR1cm4gcGF0aAorICAgICAgICBpZiBwYXRoID09
ICcvLic6CisgICAgICAgICAgICByZXR1cm4gJy8nCisgICAgICAgIGlmIHBhdGguZW5kc3dpdGgo
Jy8uJyk6CisgICAgICAgICAgICByZXR1cm4gcGF0aFs6LTJdCisgICAgICAgIGlmIHBhdGguZW5k
c3dpdGgoJy8nKToKKyAgICAgICAgICAgIHJldHVybiBwYXRoWzotMV0KKyAgICAgICAgcmV0dXJu
IHBhdGgKKwogICAgIGRlZiBvcGVuX2JpbmFyeV90ZW1wZmlsZShzZWxmLCBzdWZmaXg9JycpOgog
ICAgICAgICBwYXRoID0gc2VsZi5fbWt0ZW1wKHN1ZmZpeCkKICAgICAgICAgcmV0dXJuIChXcml0
YWJsZUJpbmFyeUZpbGVPYmplY3Qoc2VsZiwgcGF0aCksIHBhdGgpCkBAIC0yODQsNiArMzA1LDcg
QEAgY2xhc3MgTW9ja0ZpbGVTeXN0ZW0ob2JqZWN0KToKIAogICAgIGRlZiB3cml0ZV9iaW5hcnlf
ZmlsZShzZWxmLCBwYXRoLCBjb250ZW50cyk6CiAgICAgICAgICMgRklYTUU6IHNob3VsZCB0aGlz
IGFzc2VydCBpZiBkaXJuYW1lKHBhdGgpIGRvZXNuJ3QgZXhpc3Q/CisgICAgICAgIHNlbGYubWF5
YmVfbWFrZV9kaXJlY3Rvcnkoc2VsZi5kaXJuYW1lKHBhdGgpKQogICAgICAgICBzZWxmLmZpbGVz
W3BhdGhdID0gY29udGVudHMKICAgICAgICAgc2VsZi53cml0dGVuX2ZpbGVzW3BhdGhdID0gY29u
dGVudHMKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L2ZpbGVzeXN0ZW1fbW9ja191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2tfdW5pdHRlc3QucHkKaW5kZXggNTE2OWZjNTk4Mjlh
MDhjN2E4MGU1Y2FiMDNlOTk1OGRhMjFlZjM5My4uMmE2Y2NiZjRiZGY2ZDYxMTM4ZTJiNzVjZjU5
NzgxODIxY2NkYmM3MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
c3lzdGVtL2ZpbGVzeXN0ZW1fbW9ja191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbV9tb2NrX3VuaXR0ZXN0LnB5CkBAIC0yNiw4
ICsyNiwxMSBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IG9zCitp
bXBvcnQgcmUKIGltcG9ydCB1bml0dGVzdAogCisKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bSBpbXBvcnQgZmlsZXN5c3RlbV9tb2NrCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1w
b3J0IGZpbGVzeXN0ZW1fdW5pdHRlc3QKIApAQCAtNDEsNiArNDQsNDUgQEAgY2xhc3MgTW9ja0Zp
bGVTeXN0ZW1UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBmaWxlc3lzdGVtX3VuaXR0ZXN0LkdlbmVy
aWNGaWxlU3lzdGUKICAgICAgICAgc2VsZi50ZWFyZG93bl9nZW5lcmljX3Rlc3RfZGlyKCkKICAg
ICAgICAgc2VsZi5mcyA9IE5vbmUKIAorICAgIGRlZiBxdWlja19jaGVjayhzZWxmLCB0ZXN0X2Zu
LCBnb29kX2ZuLCAqdGVzdHMpOgorICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0czoKKyAgICAgICAg
ICAgIGlmIGhhc2F0dHIodGVzdCwgJ19faXRlcl9fJyk6CisgICAgICAgICAgICAgICAgZXhwZWN0
ZWQgPSBnb29kX2ZuKCp0ZXN0KQorICAgICAgICAgICAgICAgIGFjdHVhbCA9IHRlc3RfZm4oKnRl
c3QpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gZ29vZF9m
bih0ZXN0KQorICAgICAgICAgICAgICAgIGFjdHVhbCA9IHRlc3RfZm4odGVzdCkKKyAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGV4cGVjdGVkLCBhY3R1YWwsICdnaXZlbiAlcywgZXhwZWN0
ZWQgJXMsIGdvdCAlcycgJSAocmVwcih0ZXN0KSwgcmVwcihleHBlY3RlZCksIHJlcHIoYWN0dWFs
KSkpCisKKyAgICBkZWYgdGVzdF9qb2luKHNlbGYpOgorICAgICAgICBzZWxmLnF1aWNrX2NoZWNr
KHNlbGYuZnMuam9pbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZzLl9zbG93X2J1
dF9jb3JyZWN0X2pvaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgKCcnLCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgKCcnLCAnYmFyJyksCisgICAgICAgICAgICAgICAgICAgICAgICAg
KCdmb28nLCksCisgICAgICAgICAgICAgICAgICAgICAgICAgKCdmb28vJywpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICgnZm9vJywgJycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICgn
Zm9vLycsICcnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoJ2ZvbycsICdiYXInKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAoJ2ZvbycsICcvYmFyJyksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgKQorCisgICAgZGVmIHRlc3Rfbm9ybXBhdGgoc2VsZik6CisgICAgICAgIHNlbGYu
cXVpY2tfY2hlY2soc2VsZi5mcy5ub3JtcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLmZzLl9zbG93X2J1dF9jb3JyZWN0X25vcm1wYXRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICcvJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAnLicsCisgICAgICAgICAgICAgICAgICAgICAgICAgJy8uJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAnZm9vJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAnZm9vLycsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvby8uJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAnZm9vL2JhcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgJy9mb28nLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICdmb28vLi4vYmFyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAn
Zm9vLy4uL2Jhci9iYXonLAorICAgICAgICAgICAgICAgICAgICAgICAgICcuLi9mb28nKQorCiAK
IGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9yZWJhc2VsaW5lc2VydmVy
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvcmViYXNl
bGluZXNlcnZlcl91bml0dGVzdC5weQppbmRleCBhZTRhMDVlYjA3ZDJmYjU3YTVmZWUyZDZhMTcz
ODdmOWE3NDRmYmQxLi5jOGVhNmMwMmMzZWEyNGE0ZmI2YjI0NmVhMmQxYmU5NzNmNzNkNTRiIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9yZWJhc2VsaW5l
c2VydmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2
ZXJzL3JlYmFzZWxpbmVzZXJ2ZXJfdW5pdHRlc3QucHkKQEAgLTI5NSwxMSArMjk1LDkgQEAgZGVm
IGdldF90ZXN0X2NvbmZpZyh0ZXN0X2ZpbGVzPVtdLCByZXN1bHRfZmlsZXM9W10pOgogICAgIHJl
c3VsdHNfZGlyZWN0b3J5ID0gJy9XZWJLaXRCdWlsZC9EZWJ1Zy9sYXlvdXQtdGVzdC1yZXN1bHRz
JwogICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgZm9yIGZpbGUgaW4gdGVzdF9maWxlczoKLSAg
ICAgICAgZmlsZV9wYXRoID0gaG9zdC5maWxlc3lzdGVtLmpvaW4obGF5b3V0X3Rlc3RzX2RpcmVj
dG9yeSwgZmlsZSkKLSAgICAgICAgaG9zdC5maWxlc3lzdGVtLmZpbGVzW2ZpbGVfcGF0aF0gPSAn
JworICAgICAgICBob3N0LmZpbGVzeXN0ZW0ud3JpdGVfYmluYXJ5X2ZpbGUoaG9zdC5maWxlc3lz
dGVtLmpvaW4obGF5b3V0X3Rlc3RzX2RpcmVjdG9yeSwgZmlsZSksICcnKQogICAgIGZvciBmaWxl
IGluIHJlc3VsdF9maWxlczoKLSAgICAgICAgZmlsZV9wYXRoID0gaG9zdC5maWxlc3lzdGVtLmpv
aW4ocmVzdWx0c19kaXJlY3RvcnksIGZpbGUpCi0gICAgICAgIGhvc3QuZmlsZXN5c3RlbS5maWxl
c1tmaWxlX3BhdGhdID0gJycKKyAgICAgICAgaG9zdC5maWxlc3lzdGVtLndyaXRlX2JpbmFyeV9m
aWxlKGhvc3QuZmlsZXN5c3RlbS5qb2luKHJlc3VsdHNfZGlyZWN0b3J5LCBmaWxlKSwgJycpCiAK
ICAgICBjbGFzcyBUZXN0TWFjUG9ydChXZWJLaXRQb3J0KToKICAgICAgICAgcG9ydF9uYW1lID0g
Im1hYyIK
</data>
<flag name="review"
          id="130344"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>