<?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>235370</bug_id>
          
          <creation_ts>2022-01-19 11:18:54 -0800</creation_ts>
          <short_desc>Move tests to pyfakefs from FileSystemMock</short_desc>
          <delta_ts>2022-02-02 15:39:06 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=236043</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>220421</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Sam Sneddon [:gsnedders]">gsnedders</assigned_to>
          <cc>ap</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1832098</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-01-19 11:18:54 -0800</bug_when>
    <thetext>see https://github.com/jmcgeheeiv/pyfakefs

This has a bunch of advantages over our current FileSystemMock:

Avoids us having to maintain our own re-implementation (which currently has a variety of issues)

Can configure it to emulate Windows/Linux/macOS behaviour on other systems, allowing us to test things still work on Windows more easily

Provides a path away from our current FileSystem class towards using the standard library functions directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832152</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-19 12:24:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/87785236&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835119</commentid>
    <comment_count>2</comment_count>
      <attachid>450272</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-01-28 13:19:04 -0800</bug_when>
    <thetext>Created attachment 450272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835968</commentid>
    <comment_count>3</comment_count>
      <attachid>450272</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-02-01 08:04:29 -0800</bug_when>
    <thetext>Comment on attachment 450272
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder_legacy_unittest.py:57
&gt; +        self.setUpPyfakefs()

I agree that using pyfakefs through the TestCaseMixin is the right thing to do for this class. I&apos;m curious if you looked at the Patcher and considered it at all? Or was the Mixin just the natural choice because this particular set of tests was already using setup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835979</commentid>
    <comment_count>4</comment_count>
      <attachid>450272</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-02-01 08:32:02 -0800</bug_when>
    <thetext>Comment on attachment 450272
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder_legacy_unittest.py:57
&gt;&gt; +        self.setUpPyfakefs()
&gt; 
&gt; I agree that using pyfakefs through the TestCaseMixin is the right thing to do for this class. I&apos;m curious if you looked at the Patcher and considered it at all? Or was the Mixin just the natural choice because this particular set of tests was already using setup.

Using Patcher requires reimplementing a lot of the TestCaseMixin machinery for very little gain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835980</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-01 08:36:48 -0800</bug_when>
    <thetext>Committed r288878 (246630@main): &lt;https://commits.webkit.org/246630@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450272.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450272</attachid>
            <date>2022-01-28 13:19:04 -0800</date>
            <delta_ts>2022-02-01 08:36:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235370-20220128211903.patch</filename>
            <type>text/plain</type>
            <size>10737</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NzM1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTdjNzRkZWUyNjBmMDg2MGQ5MDhmNjBiNzQxZmI2MmQ2
Mjc5YWQ2OC4uMTQwMThhZjAyNDRhMzIwMDc2ZTI4YmYwYWNjMmIzMGZlZmEzMDRiMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4
IEBACisyMDIyLTAxLTI4ICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgTWlncmF0ZSBMYXlvdXRUZXN0RmluZGVyIHRlc3RzIGZyb20gRmlsZVN5c3RlbU1vY2sg
dG8gcHlmYWtlZnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNTM3MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODc3ODUyMzY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L19faW5pdF9fLnB5OgorICAgICAgICBSZWdpc3RlciBweWZha2VmcyAobGFzdCBQeXRob24gMiBz
dXBwb3J0aW5nIHZlcnNpb24pLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2hv
c3RfbW9jay5weToKKyAgICAgICAgKE1vY2tIb3N0Ll9faW5pdF9fKToKKyAgICAgICAgUGFzcyAq
Kmt3YXJncyB0aHJvdWdoIHRvIE1vY2tTeXN0ZW1Ib3N0LgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X2ZpbmRlcl9sZWdhY3lf
dW5pdHRlc3QucHk6CisgICAgICAgIChMYXlvdXRUZXN0RmluZGVyVGVzdHMpOgorICAgICAgICAo
TGF5b3V0VGVzdEZpbmRlclRlc3RzLnNldFVwKToKKyAgICAgICAgU2V0dXAgdGhlIE1vY2tIb3N0
IHdpdGggcHlmYWtlZnMuCisgICAgICAgIChMYXlvdXRUZXN0RmluZGVyVGVzdHMudGVzdF9maW5k
X2dsb2JfYik6CisgICAgICAgIFVuY29tbWVudCBub3cgd2UgZG9uJ3QgbmVlZCB0byBtaXRpZ2F0
ZSBGaWxlU3lzdGVtTW9jayBidWdzLgorICAgICAgICAoTGF5b3V0VGVzdEZpbmRlclRlc3RzLnRl
c3RfZmluZF9nbG9iX2MpOgorICAgICAgICBVbmNvbW1lbnQgbm93IHdlIGRvbid0IG5lZWQgdG8g
bWl0aWdhdGUgRmlsZVN5c3RlbU1vY2sgYnVncy4KKyAgICAgICAgKExheW91dFRlc3RGaW5kZXJU
ZXN0cy50ZXN0X2lzX3czY19yZXNvdXJjZV9maWxlKToKKyAgICAgICAgRW5zdXJlIHRoZSBkaXJl
Y3RvcnkgZXhpc3RzIGJlZm9yZSB3cml0aW5nLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAg
ICAoUmViYXNlbGluZVRlc3QudGVzdF9yZXNldF9yZXN1bHRzKToKKyAgICAgICAgQ2FsbCBmcy5j
bGVhcl93cml0dGVuX2ZpbGVzIGJlZm9yZSB0ZXN0LgorICAgICAgICAoUmViYXNlbGluZVRlc3Qu
dGVzdF9taXNzaW5nX3Jlc3VsdHMpOgorICAgICAgICBDYWxsIGZzLmNsZWFyX3dyaXR0ZW5fZmls
ZXMgYmVmb3JlIHRlc3QuCisgICAgICAgIChSZWJhc2VsaW5lVGVzdC50ZXN0X25ld19iYXNlbGlu
ZSk6CisgICAgICAgIENhbGwgZnMuY2xlYXJfd3JpdHRlbl9maWxlcyBiZWZvcmUgdGVzdC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weToKKyAgICAgICAgKGFkZF91bml0
X3Rlc3RzX3RvX21vY2tfZmlsZXN5c3RlbSk6CisgICAgICAgIEZpeCB0aGlzIHdpdGggdGhlIHJl
YWwgRmlsZVN5c3RlbSBjbGFzcywgY29uZGl0aW9uYWxseSBkZWxldGluZyBmaWxlcy4gUmVtb3Zl
IG1vY2stb25seQorICAgICAgICBmcy5jbGVhcl93cml0dGVuX2ZpbGVzIGNhbGwuCisKIDIwMjIt
MDEtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtXUEVdW2ExMXldIEFkZCBvcHRpb24gdG8gYnVpbGQgd2l0aCBBVFNQSQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvX19pbml0X18ucHkKaW5kZXggMjdhNjgzYTZjYzg5OTViYmE1ZTU3OWE0NGUyMGFjN2Fi
MTdjYzI3NS4uMzM1ZmEzNDYzODA2MTlkNWQ5NDUwNjdlMjc5NDYyZWUwOGI5MDk5NSAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L19faW5pdF9fLnB5CkBAIC03MSw2ICs3MSw3IEBAIEF1dG9JbnN0YWxsLnJl
Z2lzdGVyKFBhY2thZ2UoJ21venRlcm0nLCBWZXJzaW9uKDEsIDAsIDApKSkKIEF1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ3BsdWdneScsIFZlcnNpb24oMCwgMTMsIDEpKSkKIEF1dG9JbnN0
YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3B5JywgVmVyc2lvbigxLCA1LCAyKSkpCiBBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdweWNvZGVzdHlsZScsIFZlcnNpb24oMiwgNSwgMCkpKQorQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgncHlmYWtlZnMnLCBWZXJzaW9uKDMsIDcsIDIpKSkK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NjYW5kaXInLCBWZXJzaW9uKDEsIDEwLCAw
KSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzb3Vwc2lldmUnLCBWZXJzaW9uKDEs
IDksIDYpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3NlbGVuaXVtJywgVmVyc2lv
bigzLCAxNDEsIDApKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2hvc3RfbW9jay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2hvc3RfbW9jay5w
eQppbmRleCBiNDQxYjA5MWExNmYxM2MzMDU5YjlhYWM0NWMzN2JhYmJhYjMxYThiLi5jZjBmNGRh
YzljYzhkYzU1MmQ1ZTMyNjVkODI2MGEwNThiYjljNWQwIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0X21vY2sucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vaG9zdF9tb2NrLnB5CkBAIC00MCw4ICs0MCw4IEBAIGZyb20gd2Via2l0cHku
cG9ydC50ZXN0IGltcG9ydCBhZGRfdW5pdF90ZXN0c190b19tb2NrX2ZpbGVzeXN0ZW0sIGFkZF9j
aGVja291dF9pCiAKIAogY2xhc3MgTW9ja0hvc3QoTW9ja1N5c3RlbUhvc3QpOgotICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBsb2dfZXhlY3V0aXZlPUZhbHNlLCBleGVjdXRpdmVfdGhyb3dzX3doZW5f
cnVuPU5vbmUsIGluaXRpYWxpemVfc2NtX2J5X2RlZmF1bHQ9VHJ1ZSwgd2ViPU5vbmUsIGNyZWF0
ZV9zdHViX3JlcG9zaXRvcnlfZmlsZXM9RmFsc2UpOgotICAgICAgICBNb2NrU3lzdGVtSG9zdC5f
X2luaXRfXyhzZWxmLCBsb2dfZXhlY3V0aXZlLCBleGVjdXRpdmVfdGhyb3dzX3doZW5fcnVuKQor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dfZXhlY3V0aXZlPUZhbHNlLCBleGVjdXRpdmVfdGhy
b3dzX3doZW5fcnVuPU5vbmUsIGluaXRpYWxpemVfc2NtX2J5X2RlZmF1bHQ9VHJ1ZSwgd2ViPU5v
bmUsIGNyZWF0ZV9zdHViX3JlcG9zaXRvcnlfZmlsZXM9RmFsc2UsICoqa3dhcmdzKToKKyAgICAg
ICAgTW9ja1N5c3RlbUhvc3QuX19pbml0X18oc2VsZiwgbG9nX2V4ZWN1dGl2ZSwgZXhlY3V0aXZl
X3Rocm93c193aGVuX3J1biwgKiprd2FyZ3MpCiAgICAgICAgIGFkZF91bml0X3Rlc3RzX3RvX21v
Y2tfZmlsZXN5c3RlbShzZWxmLmZpbGVzeXN0ZW0pCiAgICAgICAgIGlmIGNyZWF0ZV9zdHViX3Jl
cG9zaXRvcnlfZmlsZXM6CiAgICAgICAgICAgICBhZGRfY2hlY2tvdXRfaW5mb3JtYXRpb25fanNv
bl90b19tb2NrX2ZpbGVzeXN0ZW0oc2VsZi5maWxlc3lzdGVtKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfZmlu
ZGVyX2xlZ2FjeV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X2ZpbmRlcl9sZWdhY3lfdW5pdHRlc3QucHkKaW5k
ZXggZWIyZThlYzNiY2I5MjhlMzViOTIzMWY4OTMwZmI4YTY1NjE4M2Y5OC4uYzM0OGIzMThjMGY3
YmUzYjg1YWJmNmJiYzUzNGMwOGUzNjkxYTVjOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfZmluZGVyX2xlZ2Fj
eV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9j
b250cm9sbGVycy9sYXlvdXRfdGVzdF9maW5kZXJfbGVnYWN5X3VuaXR0ZXN0LnB5CkBAIC0yOCw3
ICsyOCwxMCBAQCBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3Jk
ZXJlZERpY3QKIAorZnJvbSBweWZha2Vmcy5mYWtlX2ZpbGVzeXN0ZW1fdW5pdHRlc3QgaW1wb3J0
IFRlc3RDYXNlTWl4aW4KKwogZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdF9tb2NrIGltcG9ydCBN
b2NrSG9zdAorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZp
bGVTeXN0ZW0KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtX21vY2sgaW1w
b3J0IE1vY2tGaWxlU3lzdGVtCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5jb250cm9sbGVy
cy5sYXlvdXRfdGVzdF9maW5kZXJfbGVnYWN5IGltcG9ydCAoCiAgICAgTGF5b3V0VGVzdEZpbmRl
ciwKQEAgLTQ0LDE0ICs0NywxNiBAQCBjbGFzcyBNb2NrTGF5b3V0VGVzdEZpbmRlcihMYXlvdXRU
ZXN0RmluZGVyKToKICAgICAgICAgcmV0dXJuIFtwYXRoIGZvciBwYXRoIGluIHBhdGhzIGlmIHBh
dGguZW5kc3dpdGgoJy5odG1sJyldCiAKIAotY2xhc3MgTGF5b3V0VGVzdEZpbmRlclRlc3RzKHVu
aXR0ZXN0LlRlc3RDYXNlKToKK2NsYXNzIExheW91dFRlc3RGaW5kZXJUZXN0cyh1bml0dGVzdC5U
ZXN0Q2FzZSwgVGVzdENhc2VNaXhpbik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAq
Kmt3YXJncyk6CiAgICAgICAgIHN1cGVyKExheW91dFRlc3RGaW5kZXJUZXN0cywgc2VsZikuX19p
bml0X18oKmFyZ3MsICoqa3dhcmdzKQogICAgICAgICBzZWxmLnBvcnQgPSBOb25lCiAgICAgICAg
IHNlbGYuZmluZGVyID0gTm9uZQogCiAgICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICBob3N0
ID0gTW9ja0hvc3QoY3JlYXRlX3N0dWJfcmVwb3NpdG9yeV9maWxlcz1UcnVlKQorICAgICAgICBz
ZWxmLnNldFVwUHlmYWtlZnMoKQorICAgICAgICBzZWxmLmZzLmlzX3dpbmRvd3NfZnMgPSBGYWxz
ZQorICAgICAgICBob3N0ID0gTW9ja0hvc3QoY3JlYXRlX3N0dWJfcmVwb3NpdG9yeV9maWxlcz1U
cnVlLCBmaWxlc3lzdGVtPUZpbGVTeXN0ZW0oKSkKICAgICAgICAgYWRkX3VuaXRfdGVzdHNfdG9f
bW9ja19maWxlc3lzdGVtKGhvc3QuZmlsZXN5c3RlbSkKICAgICAgICAgc2VsZi5wb3J0ID0gVGVz
dFBvcnQoaG9zdCkKICAgICAgICAgc2VsZi5maW5kZXIgPSBMYXlvdXRUZXN0RmluZGVyKHNlbGYu
cG9ydCwgTm9uZSkKQEAgLTE4MiwxNiArMTg3LDE1IEBAIGNsYXNzIExheW91dFRlc3RGaW5kZXJU
ZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICB0ZXN0cywgWydmYWlsdXJlcy9l
eHBlY3RlZC9pbWFnZS5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlX2NoZWNrc3VtLmh0
bWwnXQogICAgICAgICApCiAKLSAgICAjIHRoZXNlIGFyZSBjb21tZW50ZWQgb3V0IGFzIE1vY2tG
aWxlU3lzdGVtIGRvZXNuJ3Qgc3VwcG9ydCBhbnl0aGluZyBidXQgKgotICAgICMgZGVmIHRlc3Rf
ZmluZF9nbG9iX2Ioc2VsZik6Ci0gICAgIyAgICAgZmluZGVyID0gc2VsZi5maW5kZXIKLSAgICAj
ICAgICB0ZXN0cyA9IFt0LnRlc3RfcGF0aCBmb3IgdCBpbiBmaW5kZXIuZmluZF90ZXN0c19ieV9w
YXRoKFsnZmFpbHVyZXMvZXhwZWN0ZWQvaT9hZ2UuaHRtbCddKV0KLSAgICAjICAgICBzZWxmLmFz
c2VydEVxdWFsKHRlc3RzLCBbJ2ZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwnXSkKKyAgICBk
ZWYgdGVzdF9maW5kX2dsb2JfYihzZWxmKToKKyAgICAgICAgZmluZGVyID0gc2VsZi5maW5kZXIK
KyAgICAgICAgdGVzdHMgPSBbdC50ZXN0X3BhdGggZm9yIHQgaW4gZmluZGVyLmZpbmRfdGVzdHNf
YnlfcGF0aChbJ2ZhaWx1cmVzL2V4cGVjdGVkL2k/YWdlLmh0bWwnXSldCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwodGVzdHMsIFsnZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCddKQogCi0g
ICAgIyBkZWYgdGVzdF9maW5kX2dsb2JfYyhzZWxmKToKLSAgICAjICAgICBmaW5kZXIgPSBzZWxm
LmZpbmRlcgotICAgICMgICAgIHRlc3RzID0gW3QudGVzdF9wYXRoIGZvciB0IGluIGZpbmRlci5m
aW5kX3Rlc3RzX2J5X3BhdGgoWydmYWlsdXJlcy9leHBlY3RlZC9pW21dYWdlLmh0bWwnXSldCi0g
ICAgIyAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0cywgWydmYWlsdXJlcy9leHBlY3RlZC9pbWFn
ZS5odG1sJ10pCisgICAgZGVmIHRlc3RfZmluZF9nbG9iX2Moc2VsZik6CisgICAgICAgIGZpbmRl
ciA9IHNlbGYuZmluZGVyCisgICAgICAgIHRlc3RzID0gW3QudGVzdF9wYXRoIGZvciB0IGluIGZp
bmRlci5maW5kX3Rlc3RzX2J5X3BhdGgoWydmYWlsdXJlcy9leHBlY3RlZC9pW21dYWdlLmh0bWwn
XSldCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdHMsIFsnZmFpbHVyZXMvZXhwZWN0ZWQv
aW1hZ2UuaHRtbCddKQogCiAgICAgZGVmIHRlc3RfZmluZF9nbG9iX21peGVkX2ZpbGVfdHlwZV9z
b3J0ZWQoc2VsZik6CiAgICAgICAgIGZpbmRlciA9IHNlbGYuZmluZGVyCkBAIC0zODYsNyArMzkw
LDEwIEBAIGNsYXNzIExheW91dFRlc3RGaW5kZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgZGVmIHRlc3RfaXNfdzNjX3Jlc291cmNlX2ZpbGUoc2VsZik6CiAgICAgICAgIGZpbmRlciA9
IHNlbGYuZmluZGVyCiAKLSAgICAgICAgZmluZGVyLl9maWxlc3lzdGVtLndyaXRlX3RleHRfZmls
ZShmaW5kZXIuX3BvcnQubGF5b3V0X3Rlc3RzX2RpcigpICsgIi9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL3Jlc291cmNlLWZpbGVzLmpzb24iLCAiIiIKKyAgICAgICAgcGF0aCA9IGZpbmRlci5fcG9y
dC5sYXlvdXRfdGVzdHNfZGlyKCkgKyAiL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2Ut
ZmlsZXMuanNvbiIKKworICAgICAgICBmaW5kZXIuX2ZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJl
Y3RvcnkoZmluZGVyLl9maWxlc3lzdGVtLmRpcm5hbWUocGF0aCkpCisgICAgICAgIGZpbmRlci5f
ZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocGF0aCwgIiIiCiB7ImRpcmVjdG9yaWVzIjogWwog
IndlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24iLAogIndlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1uYW1lc3BhY2UtdGVzdHMiLApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRl
Z3JhdGlvbnRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQppbmRleCA4MDEzZDJkMjA1MWVlNTVjZDg0
NGI5M2EwZGQxNzczZDk3MGNmM2JmLi4wNzcyOGVmNTM5OTMzMzI4MmJjODc0OWFkZjc4ZDhmOTY3
ODhiZGMwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9y
dW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQpA
QCAtMTA0Nyw2ICsxMDQ3LDcgQEAgY2xhc3MgUmViYXNlbGluZVRlc3QodW5pdHRlc3QuVGVzdENh
c2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgICMgVGVzdCB0aGF0IHdlIHVwZGF0ZSBl
eHBlY3RhdGlvbnMgaW4gcGxhY2UuIElmIHRoZSBleHBlY3RhdGlvbgogICAgICAgICAjIGlzIG1p
c3NpbmcsIHVwZGF0ZSB0aGUgZXhwZWN0ZWQgZ2VuZXJpYyBsb2NhdGlvbi4KICAgICAgICAgaG9z
dCA9IE1vY2tIb3N0KCkKKyAgICAgICAgaG9zdC5maWxlc3lzdGVtLmNsZWFyX3dyaXR0ZW5fZmls
ZXMoKQogICAgICAgICBkZXRhaWxzLCBlcnIsIF8gPSBsb2dnaW5nX3J1bigKICAgICAgICAgICAg
IFsnLS1waXhlbC10ZXN0cycsICctLXJlc2V0LXJlc3VsdHMnLCAncGFzc2VzL2ltYWdlLmh0bWwn
LCAnZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19pbWFnZS5odG1sJ10sCiAgICAgICAgICAgICB0
ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3QsIG5ld19yZXN1bHRzPVRydWUpCkBAIC0xMDYw
LDYgKzEwNjEsNyBAQCBjbGFzcyBSZWJhc2VsaW5lVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3Ry
ZWFtVGVzdGluZ01peGluKToKICAgICAgICAgIyBUZXN0IHRoYXQgd2UgdXBkYXRlIGV4cGVjdGF0
aW9ucyBpbiBwbGFjZS4gSWYgdGhlIGV4cGVjdGF0aW9uCiAgICAgICAgICMgaXMgbWlzc2luZywg
dXBkYXRlIHRoZSBleHBlY3RlZCBnZW5lcmljIGxvY2F0aW9uLgogICAgICAgICBob3N0ID0gTW9j
a0hvc3QoKQorICAgICAgICBob3N0LmZpbGVzeXN0ZW0uY2xlYXJfd3JpdHRlbl9maWxlcygpCiAg
ICAgICAgIGRldGFpbHMsIGVyciwgXyA9IGxvZ2dpbmdfcnVuKFsnLS1uby1zaG93LXJlc3VsdHMn
LAogICAgICAgICAgICAgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlzc2luZ190ZXh0Lmh0bWwnLAog
ICAgICAgICAgICAgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlzc2luZ19pbWFnZS5odG1sJywKQEAg
LTEwNzcsNiArMTA3OSw3IEBAIGNsYXNzIFJlYmFzZWxpbmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
LCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAjIFRlc3QgdGhhdCB3ZSB1cGRhdGUgdGhl
IHBsYXRmb3JtIGV4cGVjdGF0aW9ucyBpbiB0aGUgdmVyc2lvbi1zcGVjaWZpYyBkaXJlY3Rvcmll
cwogICAgICAgICAjIGZvciBib3RoIGV4aXN0aW5nIGFuZCBuZXcgYmFzZWxpbmVzLgogICAgICAg
ICBob3N0ID0gTW9ja0hvc3QoKQorICAgICAgICBob3N0LmZpbGVzeXN0ZW0uY2xlYXJfd3JpdHRl
bl9maWxlcygpCiAgICAgICAgIGRldGFpbHMsIGVyciwgXyA9IGxvZ2dpbmdfcnVuKAogICAgICAg
ICAgICAgWyctLXBpeGVsLXRlc3RzJywgJy0tbmV3LWJhc2VsaW5lJywgJ3Bhc3Nlcy9pbWFnZS5o
dG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UuaHRtbCddLAogICAgICAgICAg
ICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0LCBuZXdfcmVzdWx0cz1UcnVlKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQppbmRleCAwMzZhNmRhNmYzZTIwMDdhY2ExYTA0ZjRl
ZDc3ZGE2NmI0ZWY5MWY3Li45MDhmZmNkNjkxZDJlMGRjNzE2MzI2M2Y0YzQzMTc2ZWI2M2UzZTMw
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQpAQCAtMzIyLDcgKzMyMiwxMyBAQCBC
dWcodGVzdCkgY29ybmVyLWNhc2VzL2V3cy9kaXJlY3RvcnktZmxha3kgWyBQYXNzIFRpbWVvdXQg
RmFpbHVyZSBdCiAgICAgICAgIGRpcm5hbWUgPSBmaWxlc3lzdGVtLmpvaW4oTEFZT1VUX1RFU1Rf
RElSLCB0ZXN0Lm5hbWVbMDp0ZXN0Lm5hbWUucmZpbmQoJy8nKV0pCiAgICAgICAgIGJhc2UgPSB0
ZXN0LmJhc2UKICAgICAgICAgZmlsZXN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeShkaXJuYW1l
KQotICAgICAgICBmaWxlc3lzdGVtLndyaXRlX2JpbmFyeV9maWxlKGZpbGVzeXN0ZW0uam9pbihk
aXJuYW1lLCBiYXNlICsgc3VmZml4KSwgY29udGVudHMpCisKKyAgICAgICAgcGF0aCA9IGZpbGVz
eXN0ZW0uam9pbihkaXJuYW1lLCBiYXNlICsgc3VmZml4KQorICAgICAgICBpZiBjb250ZW50cyBp
cyBOb25lOgorICAgICAgICAgICAgaWYgZmlsZXN5c3RlbS5leGlzdHMocGF0aCk6CisgICAgICAg
ICAgICAgICAgZmlsZXN5c3RlbS5yZW1vdmUocGF0aCkKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIGZpbGVzeXN0ZW0ud3JpdGVfYmluYXJ5X2ZpbGUocGF0aCwgY29udGVudHMpCiAKICAgICAj
IEFkZCBlYWNoIHRlc3QgYW5kIHRoZSBleHBlY3RlZCBvdXRwdXQsIGlmIGFueS4KICAgICB0ZXN0
X2xpc3QgPSB1bml0X3Rlc3RfbGlzdCgpCkBAIC0zMzYsOSArMzQyLDYgQEAgQnVnKHRlc3QpIGNv
cm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LWZsYWt5IFsgUGFzcyBUaW1lb3V0IEZhaWx1cmUgXQog
ICAgICAgICBhZGRfZmlsZSh0ZXN0LCAnLWV4cGVjdGVkLnR4dCcsIHRlc3QuZXhwZWN0ZWRfdGV4
dCkKICAgICAgICAgYWRkX2ZpbGUodGVzdCwgJy1leHBlY3RlZC5wbmcnLCB0ZXN0LmV4cGVjdGVk
X2ltYWdlKQogCi0gICAgIyBDbGVhciB0aGUgbGlzdCBvZiB3cml0dGVuIGZpbGVzIHNvIHRoYXQg
d2UgY2FuIHdhdGNoIHdoYXQgaGFwcGVucyBkdXJpbmcgdGVzdGluZy4KLSAgICBmaWxlc3lzdGVt
LmNsZWFyX3dyaXR0ZW5fZmlsZXMoKQotCiAKIGRlZiBhZGRfY2hlY2tvdXRfaW5mb3JtYXRpb25f
anNvbl90b19tb2NrX2ZpbGVzeXN0ZW0oZmlsZXN5c3RlbSk6CiAgICAgaWYgbm90IGZpbGVzeXN0
ZW0uZXhpc3RzKFRFU1RfRElSKToK
</data>

          </attachment>
      

    </bug>

</bugzilla>