<?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>102396</bug_id>
          
          <creation_ts>2012-11-15 08:57:21 -0800</creation_ts>
          <short_desc>Move test name splitting and path separator to a separate module</short_desc>
          <delta_ts>2017-07-18 08:27:33 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>102401</blocked>
    
    <blocked>102229</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>768137</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-15 08:57:21 -0800</bug_when>
    <thetext>Move test name splitting and path separator to a separate module</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768146</commentid>
    <comment_count>1</comment_count>
      <attachid>174460</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-15 09:04:11 -0800</bug_when>
    <thetext>Created attachment 174460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768766</commentid>
    <comment_count>2</comment_count>
      <attachid>174460</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-11-15 17:49:07 -0800</bug_when>
    <thetext>Comment on attachment 174460
Patch

I&apos;m sorry, I guess I wasn&apos;t clear in the prior comments. I do not want to create a module concerned solely with test names. Please leave all of this code in the Port object for now, until we can move *all* of the logic concerning handling tests out into another module (at which point, &quot;test_name&quot; won&apos;t be a good name for it).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174460</attachid>
            <date>2012-11-15 09:04:11 -0800</date>
            <delta_ts>2012-11-15 17:49:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102396-20121115180208.patch</filename>
            <type>text/plain</type>
            <size>19031</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0Nzc4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjQ1ZGE1YmI4N2FlZmYyYTc2ZDlmMGNkZmFkNmIxMzFj
NTE5NDI4Ny4uYjFjNTU3ZDMwMDg4ZDI4M2JmODllOGY1N2FkYzM0MjNiYzU1MDJmYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDEyLTExLTE1ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisK
KyAgICAgICAgTW92ZSB0ZXN0IG5hbWUgc3BsaXR0aW5nIGFuZCBwYXRoIHNlcGFyYXRvciB0byBh
IHNlcGFyYXRlIG1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAyMzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTW92ZSB0aGUgdGVzdCBuYW1lIHNwbGl0dGluZyBtZXRob2QgYW5kIFRFU1RfUEFU
SF9TRVBBUkFUT1IgaW50bworICAgICAgICBhIG5ldyB0ZXN0X25hbWUgbW9kdWxlLiBUaGV5IGFy
ZSBpbmRlcGVuZGVudCBvZiB0aGUgUG9ydCBpbnRlcmZhY2UKKyAgICAgICAgc28gdGhleSBzaG91
bGRuJ3QgYmUga2VwdCB0aGVyZS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3Rlc3RfbmFtZS5weTogQWRkZWQuCisgICAgICAgIChzcGxpdF90ZXN0X25hbWUpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Rlc3RfbmFtZV91bml0dGVzdC5weTogQWRkZWQg
YSB1bml0IHRlc3QKKyAgICAgICAgdGhhdCB0ZXN0cyB0aGUgc3BsaXR0aW5nIGJlaGF2aW9yLgor
ICAgICAgICAoVGVzdE5hbWVUZXN0KToKKyAgICAgICAgKFRlc3ROYW1lVGVzdC50ZXN0X3NwbGl0
X3Rlc3RfbmFtZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvbGF5b3V0X3Rlc3RfZmluZGVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdEZpbmRl
ci5maW5kX3Rlc3RzKToKKyAgICAgICAgKExheW91dFRlc3RGaW5kZXIuX3N0cmlwX3Rlc3RfZGly
X3ByZWZpeCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJv
bGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdFJ1bm5lci5f
X2luaXRfXyk6CisgICAgICAgIChTaGFyZGVyLl9faW5pdF9fKTogUmF0aGVyIHRoYW4gaGF2aW5n
IHRoZSBzcGxpdHRpbmcgZnVuY3Rpb24gYW5kIHRoZQorICAgICAgICBwYXRoIHNlcGFyYXRvciBi
ZWluZyBwYXNzZWQgaW4gYXQgaW5pdGlhbGl6YXRpb24sIHRoZSB0d28gYXJlIG5vdyB1c2VkCisg
ICAgICAgIHRocm91Z2ggdGhlIHRlc3RfbmFtZSBtb2R1bGUuCisgICAgICAgIChTaGFyZGVyLl9z
aGFyZF9ieV9kaXJlY3RvcnkpOgorICAgICAgICAoU2hhcmRlci50ZXN0X2tleSk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3Rf
cnVubmVyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoU2hhcmRlclRlc3RzLmdldF9zaGFyZHMpOgor
ICAgICAgICAoS2V5Q29tcGFyZVRlc3Quc2V0VXApOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6CisgICAgICAgIChNYW5hZ2Vy
Ll9faW5pdF9fKToKKyAgICAgICAgKE1hbmFnZXIuX2lzX3BlcmZfdGVzdCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVz
dC5weToKKyAgICAgICAgKE1hbmFnZXJUZXN0LnRlc3RfbmVlZHNfc2VydmVycy5nZXRfbWFuYWdl
cl93aXRoX3Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0KToKKyAgICAgICAgKFBvcnQudGVzdF9leGlzdHMp
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbW9ja19kcnQu
cHk6CisgICAgICAgIChNb2NrRFJULnJ1bik6CisKIDIwMTItMTEtMTQgIFJ5dWFuIENob2kgIDxy
eXVhbi5jaG9pQGdtYWlsLmNvbT4KIAogICAgICAgICBbRUZMXSBQb3J0IHRpbGVkIGJhY2tpbmcg
c3RvcmUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Rlc3RfbmFt
ZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3Rlc3RfbmFtZS5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43NDQxNDIwNDU2YWVmMjZlMDI2ODgzZWJmYmExNDkzMzYzYzkzYzM0Ci0tLSAvZGV2L251
bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vdGVzdF9uYW1lLnB5CkBAIC0w
LDAgKzEsMzggQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMg
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBk
aXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIEdvb2dsZSBuYW1lIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworIyBUZXN0IG5hbWVzIHJlc2VtYmxlIHVuaXggcmVsYXRp
dmUgcGF0aHMsIGFuZCB1c2UgJy8nIGFzIGEgZGlyZWN0b3J5IHNlcGFyYXRvci4KK1RFU1RfUEFU
SF9TRVBBUkFUT1IgPSAnLycKKworCitkZWYgc3BsaXRfdGVzdF9uYW1lKHRlc3RfbmFtZSk6Cisg
ICAgIiIiU3BsaXRzIGEgdGVzdCBuYW1lIGludG8gdGhlICdkaXJlY3RvcnknIHBhcnQgYW5kIHRo
ZSAnYmFzZW5hbWUnIHBhcnQuIiIiCisgICAgaW5kZXggPSB0ZXN0X25hbWUucmZpbmQoVEVTVF9Q
QVRIX1NFUEFSQVRPUikKKyAgICBpZiBpbmRleCA8IDE6CisgICAgICAgIHJldHVybiAoJycsIHRl
c3RfbmFtZSkKKyAgICByZXR1cm4gKHRlc3RfbmFtZVswOmluZGV4XSwgdGVzdF9uYW1lW2luZGV4
ICsgMTpdKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vdGVzdF9u
YW1lX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vdGVzdF9uYW1l
X3VuaXR0ZXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMmU1NDE5MmZmZDljYjJiYWZiMDRlOTYwMGUyNTAz
NzFiMGRjM2IKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi90ZXN0X25hbWVfdW5pdHRlc3QucHkKQEAgLTAsMCArMSw0NiBAQAorIyBDb3B5cmlnaHQgKEMp
IDIwMTIgWmFuIERvYmVyc2VrIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisjCisjIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMg
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisj
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IHRlc3Rf
bmFtZQorCisKK2NsYXNzIFRlc3ROYW1lVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVm
IHRlc3Rfc3BsaXRfdGVzdF9uYW1lKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRl
c3RfbmFtZS5zcGxpdF90ZXN0X25hbWUoJ2EvYi9jLmh0bWwnKSwgKCdhL2InLCAnYy5odG1sJykp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdF9uYW1lLnNwbGl0X3Rlc3RfbmFtZSgnYy5o
dG1sJyksICgnJywgJ2MuaHRtbCcpKQorCisgICAgICAgICMgQSBoeXBvdGhldGljYWwgdGVzdCB0
aGF0IGRlbW9uc3RyYXRlcyB0aGUgbmFtZSBzcGxpdCBpcyBiYXNlZCBvbiB0aGUgcGF0aCBzZXBh
cmF0b3IKKyAgICAgICAgZGVmYXVsdF9zZXBhcmF0b3IgPSB0ZXN0X25hbWUuVEVTVF9QQVRIX1NF
UEFSQVRPUgorICAgICAgICB0ZXN0X25hbWUuVEVTVF9QQVRIX1NFUEFSQVRPUiA9ICd4JworICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RfbmFtZS5zcGxpdF90ZXN0X25hbWUoJ2F4YnhjLmh0
bWwnKSwgKCdheGInLCAnYy5odG1sJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdF9u
YW1lLnNwbGl0X3Rlc3RfbmFtZSgnYy5odG1sJyksICgnJywgJ2MuaHRtbCcpKQorCisgICAgICAg
ICMgUmV2ZXJ0cyB0aGUgc2VwYXJhdG9yIGJhY2sgdG8gdGhlIGRlZmF1bHQgdmFsdWUgc28gb3Ro
ZXIgdGVzdHMgYXJlIG5vdCBhZmZlY3RlZAorICAgICAgICB0ZXN0X25hbWUuVEVTVF9QQVRIX1NF
UEFSQVRPUiA9IGRlZmF1bHRfc2VwYXJhdG9yCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9maW5kZXIucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVz
dF9maW5kZXIucHkKaW5kZXggNjQ0N2M4ZmI0ODlhMTRlYmZmYTY1ODljYzQ3N2JlY2RkOWY0YWU5
Zi4uNmI0Y2M5MWY0ZDhlOGI4NDAzNWNhODNmZjFiODBjMDQyYjdiNDE3MSAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rl
c3RfZmluZGVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2Nv
bnRyb2xsZXJzL2xheW91dF90ZXN0X2ZpbmRlci5weQpAQCAtMzAsNiArMzAsNyBAQCBpbXBvcnQg
ZXJybm8KIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgcmUKIAorZnJvbSB3ZWJraXRweS5jb21tb24g
aW1wb3J0IHRlc3RfbmFtZQogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9y
dCB0ZXN0X2V4cGVjdGF0aW9ucwogCiAKQEAgLTQ2LDcgKzQ3LDcgQEAgY2xhc3MgTGF5b3V0VGVz
dEZpbmRlcihvYmplY3QpOgogICAgIGRlZiBmaW5kX3Rlc3RzKHNlbGYsIG9wdGlvbnMsIGFyZ3Mp
OgogICAgICAgICBwYXRocyA9IHNlbGYuX3N0cmlwX3Rlc3RfZGlyX3ByZWZpeGVzKGFyZ3MpCiAg
ICAgICAgIGlmIG9wdGlvbnMudGVzdF9saXN0OgotICAgICAgICAgICAgcGF0aHMgKz0gc2VsZi5f
c3RyaXBfdGVzdF9kaXJfcHJlZml4ZXMoc2VsZi5fcmVhZF90ZXN0X25hbWVzX2Zyb21fZmlsZShv
cHRpb25zLnRlc3RfbGlzdCwgc2VsZi5fcG9ydC5URVNUX1BBVEhfU0VQQVJBVE9SKSkKKyAgICAg
ICAgICAgIHBhdGhzICs9IHNlbGYuX3N0cmlwX3Rlc3RfZGlyX3ByZWZpeGVzKHNlbGYuX3JlYWRf
dGVzdF9uYW1lc19mcm9tX2ZpbGUob3B0aW9ucy50ZXN0X2xpc3QsIHRlc3RfbmFtZS5URVNUX1BB
VEhfU0VQQVJBVE9SKSkKICAgICAgICAgcGF0aHMgPSBzZXQocGF0aHMpCiAgICAgICAgIHRlc3Rf
ZmlsZXMgPSBzZWxmLl9wb3J0LnRlc3RzKHBhdGhzKQogICAgICAgICByZXR1cm4gKHBhdGhzLCB0
ZXN0X2ZpbGVzKQpAQCAtNTcsOCArNTgsOCBAQCBjbGFzcyBMYXlvdXRUZXN0RmluZGVyKG9iamVj
dCk6CiAgICAgZGVmIF9zdHJpcF90ZXN0X2Rpcl9wcmVmaXgoc2VsZiwgcGF0aCk6CiAgICAgICAg
ICMgSGFuZGxlIGJvdGggIkxheW91dFRlc3RzL2Zvby9iYXIuaHRtbCIgYW5kICJMYXlvdXRUZXN0
c1xmb29cYmFyLmh0bWwiIGlmCiAgICAgICAgICMgdGhlIGZpbGVzeXN0ZW0gdXNlcyAnXFwnIGFz
IGEgZGlyZWN0b3J5IHNlcGFyYXRvci4KLSAgICAgICAgaWYgcGF0aC5zdGFydHN3aXRoKHNlbGYu
TEFZT1VUX1RFU1RTX0RJUkVDVE9SWSArIHNlbGYuX3BvcnQuVEVTVF9QQVRIX1NFUEFSQVRPUik6
Ci0gICAgICAgICAgICByZXR1cm4gcGF0aFtsZW4oc2VsZi5MQVlPVVRfVEVTVFNfRElSRUNUT1JZ
ICsgc2VsZi5fcG9ydC5URVNUX1BBVEhfU0VQQVJBVE9SKTpdCisgICAgICAgIGlmIHBhdGguc3Rh
cnRzd2l0aChzZWxmLkxBWU9VVF9URVNUU19ESVJFQ1RPUlkgKyB0ZXN0X25hbWUuVEVTVF9QQVRI
X1NFUEFSQVRPUik6CisgICAgICAgICAgICByZXR1cm4gcGF0aFtsZW4oc2VsZi5MQVlPVVRfVEVT
VFNfRElSRUNUT1JZICsgdGVzdF9uYW1lLlRFU1RfUEFUSF9TRVBBUkFUT1IpOl0KICAgICAgICAg
aWYgcGF0aC5zdGFydHN3aXRoKHNlbGYuTEFZT1VUX1RFU1RTX0RJUkVDVE9SWSArIHNlbGYuX2Zp
bGVzeXN0ZW0uc2VwKToKICAgICAgICAgICAgIHJldHVybiBwYXRoW2xlbihzZWxmLkxBWU9VVF9U
RVNUU19ESVJFQ1RPUlkgKyBzZWxmLl9maWxlc3lzdGVtLnNlcCk6XQogICAgICAgICByZXR1cm4g
cGF0aApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CmluZGV4IDE3Y2Jl
MzEyNWJkMTI5MzcwZGIxMDkzYTIyZjNjM2YxZTBmMmRhNmIuLjA2ODViYWRjOTcxOThlN2RkNjYw
MGJhNWNkZmU5MTBhYjA1ZTQxNjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9y
dW5uZXIucHkKQEAgLTMyLDcgKzMyLDcgQEAgaW1wb3J0IHJlCiBpbXBvcnQgdGhyZWFkaW5nCiBp
bXBvcnQgdGltZQogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBvcnQgbWVzc2FnZV9wb29sCitm
cm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBvcnQgbWVzc2FnZV9wb29sLCB0ZXN0X25hbWUKIGZyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLmNvbnRyb2xsZXJzIGltcG9ydCBzaW5nbGVfdGVzdF9ydW5u
ZXIKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9leHBlY3Rh
dGlvbnMKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9mYWls
dXJlcwpAQCAtNjgsNyArNjgsNyBAQCBjbGFzcyBMYXlvdXRUZXN0UnVubmVyKG9iamVjdCk6CiAg
ICAgICAgIHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5ID0gcmVzdWx0c19kaXJlY3RvcnkKICAgICAg
ICAgc2VsZi5fZXhwZWN0YXRpb25zID0gTm9uZQogICAgICAgICBzZWxmLl90ZXN0X2lzX3Nsb3cg
PSB0ZXN0X2lzX3Nsb3dfZm4KLSAgICAgICAgc2VsZi5fc2hhcmRlciA9IFNoYXJkZXIoc2VsZi5f
cG9ydC5zcGxpdF90ZXN0LCBzZWxmLl9wb3J0LlRFU1RfUEFUSF9TRVBBUkFUT1IsIHNlbGYuX29w
dGlvbnMubWF4X2xvY2tlZF9zaGFyZHMpCisgICAgICAgIHNlbGYuX3NoYXJkZXIgPSBTaGFyZGVy
KHNlbGYuX29wdGlvbnMubWF4X2xvY2tlZF9zaGFyZHMpCiAKICAgICAgICAgc2VsZi5fY3VycmVu
dF9yZXN1bHRfc3VtbWFyeSA9IE5vbmUKICAgICAgICAgc2VsZi5fbmVlZHNfaHR0cCA9IE5vbmUK
QEAgLTQ3NCw5ICs0NzQsNyBAQCBjbGFzcyBUZXN0U2hhcmQob2JqZWN0KToKIAogCiBjbGFzcyBT
aGFyZGVyKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3Rfc3BsaXRfZm4sIHRl
c3RfcGF0aF9zZXBhcmF0b3IsIG1heF9sb2NrZWRfc2hhcmRzKToKLSAgICAgICAgc2VsZi5fc3Bs
aXQgPSB0ZXN0X3NwbGl0X2ZuCi0gICAgICAgIHNlbGYuX3NlcCA9IHRlc3RfcGF0aF9zZXBhcmF0
b3IKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbWF4X2xvY2tlZF9zaGFyZHMpOgogICAgICAgICBz
ZWxmLl9tYXhfbG9ja2VkX3NoYXJkcyA9IG1heF9sb2NrZWRfc2hhcmRzCiAKICAgICBkZWYgc2hh
cmRfdGVzdHMoc2VsZiwgdGVzdF9pbnB1dHMsIG51bV93b3JrZXJzLCBmdWxseV9wYXJhbGxlbCk6
CkBAIC01NDcsNyArNTQ1LDcgQEAgY2xhc3MgU2hhcmRlcihvYmplY3QpOgogICAgICAgICAjIEZJ
WE1FOiBHaXZlbiB0aGF0IHRoZSB0ZXN0cyBhcmUgYWxyZWFkeSBzb3J0ZWQgYnkgZGlyZWN0b3J5
LAogICAgICAgICAjIHdlIGNhbiBwcm9iYWJseSByZXdyaXRlIHRoaXMgdG8gYmUgY2xlYXJlciBh
bmQgZmFzdGVyLgogICAgICAgICBmb3IgdGVzdF9pbnB1dCBpbiB0ZXN0X2lucHV0czoKLSAgICAg
ICAgICAgIGRpcmVjdG9yeSA9IHNlbGYuX3NwbGl0KHRlc3RfaW5wdXQudGVzdF9uYW1lKVswXQor
ICAgICAgICAgICAgZGlyZWN0b3J5ID0gdGVzdF9uYW1lLnNwbGl0X3Rlc3RfbmFtZSh0ZXN0X2lu
cHV0LnRlc3RfbmFtZSlbMF0KICAgICAgICAgICAgIHRlc3RzX2J5X2Rpci5zZXRkZWZhdWx0KGRp
cmVjdG9yeSwgW10pCiAgICAgICAgICAgICB0ZXN0c19ieV9kaXJbZGlyZWN0b3J5XS5hcHBlbmQo
dGVzdF9pbnB1dCkKIApAQCAtNjA0LDE1ICs2MDIsMTUgQEAgY2xhc3MgU2hhcmRlcihvYmplY3Qp
OgogICAgICAgICAgICAgbmV3X3NoYXJkcy5hcHBlbmQoVGVzdFNoYXJkKCclc18lZCcgJSAoc2hh
cmRfbmFtZV9wcmVmaXgsIGxlbihuZXdfc2hhcmRzKSArIDEpLCBleHRyYWN0X2FuZF9mbGF0dGVu
KHNvbWVfc2hhcmRzKSkpCiAgICAgICAgIHJldHVybiBuZXdfc2hhcmRzCiAKLSAgICBkZWYgdGVz
dF9rZXkoc2VsZiwgdGVzdF9uYW1lKToKKyAgICBkZWYgdGVzdF9rZXkoc2VsZiwgbmFtZSk6CiAg
ICAgICAgICIiIlR1cm5zIGEgdGVzdCBuYW1lIGludG8gYSBsaXN0IHdpdGggdHdvIHN1Ymxpc3Rz
LCB0aGUgbmF0dXJhbCBrZXkgb2YgdGhlCiAgICAgICAgIGRpcm5hbWUsIGFuZCB0aGUgbmF0dXJh
bCBrZXkgb2YgdGhlIGJhc2VuYW1lLgogCiAgICAgICAgIFRoaXMgY2FuIGJlIHVzZWQgd2hlbiBz
b3J0aW5nIHBhdGhzIHNvIHRoYXQgZmlsZXMgaW4gYSBkaXJlY3RvcnkuCiAgICAgICAgIGRpcmVj
dG9yeSBhcmUga2VwdCB0b2dldGhlciByYXRoZXIgdGhhbiBiZWluZyBtaXhlZCBpbiB3aXRoIGZp
bGVzIGluCiAgICAgICAgIHN1YmRpcmVjdG9yaWVzLiIiIgotICAgICAgICBkaXJuYW1lLCBiYXNl
bmFtZSA9IHNlbGYuX3NwbGl0KHRlc3RfbmFtZSkKLSAgICAgICAgcmV0dXJuIChzZWxmLm5hdHVy
YWxfc29ydF9rZXkoZGlybmFtZSArIHNlbGYuX3NlcCksIHNlbGYubmF0dXJhbF9zb3J0X2tleShi
YXNlbmFtZSkpCisgICAgICAgIGRpcm5hbWUsIGJhc2VuYW1lID0gdGVzdF9uYW1lLnNwbGl0X3Rl
c3RfbmFtZShuYW1lKQorICAgICAgICByZXR1cm4gKHNlbGYubmF0dXJhbF9zb3J0X2tleShkaXJu
YW1lICsgdGVzdF9uYW1lLlRFU1RfUEFUSF9TRVBBUkFUT1IpLCBzZWxmLm5hdHVyYWxfc29ydF9r
ZXkoYmFzZW5hbWUpKQogCiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBuYXR1cmFsX3NvcnRf
a2V5KHN0cmluZ190b19zcGxpdCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXJfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRf
dGVzdF9ydW5uZXJfdW5pdHRlc3QucHkKaW5kZXggNTAxZmI0MzI2NGQ3NTQzOGNiOTNiNGFjMTY2
OTViMDkwYmExMWY0Zi4uMjM4ODVlMTgyMjA3OTZiZDk3ZGFlMDk2YTlmNjZiZWY4MTg3MGFmYiAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbGF5b3V0X3Rlc3RfcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lcl91bml0dGVz
dC5weQpAQCAtMjM1LDEyICsyMzUsNyBAQCBjbGFzcyBTaGFyZGVyVGVzdHModW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICByZXR1cm4gVGVzdElucHV0KHRlc3RfZmlsZSwgcmVxdWlyZXNfbG9j
az0odGVzdF9maWxlLnN0YXJ0c3dpdGgoJ2h0dHAnKSBvciB0ZXN0X2ZpbGUuc3RhcnRzd2l0aCgn
cGVyZicpKSkKIAogICAgIGRlZiBnZXRfc2hhcmRzKHNlbGYsIG51bV93b3JrZXJzLCBmdWxseV9w
YXJhbGxlbCwgdGVzdF9saXN0PU5vbmUsIG1heF9sb2NrZWRfc2hhcmRzPTEpOgotICAgICAgICBk
ZWYgc3BsaXQodGVzdF9uYW1lKToKLSAgICAgICAgICAgIGlkeCA9IHRlc3RfbmFtZS5yZmluZCgn
LycpCi0gICAgICAgICAgICBpZiBpZHggIT0gLTE6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICh0
ZXN0X25hbWVbMDppZHhdLCB0ZXN0X25hbWVbaWR4ICsgMTpdKQotCi0gICAgICAgIHNlbGYuc2hh
cmRlciA9IFNoYXJkZXIoc3BsaXQsICcvJywgbWF4X2xvY2tlZF9zaGFyZHMpCisgICAgICAgIHNl
bGYuc2hhcmRlciA9IFNoYXJkZXIobWF4X2xvY2tlZF9zaGFyZHMpCiAgICAgICAgIHRlc3RfbGlz
dCA9IHRlc3RfbGlzdCBvciBzZWxmLnRlc3RfbGlzdAogICAgICAgICByZXR1cm4gc2VsZi5zaGFy
ZGVyLnNoYXJkX3Rlc3RzKFtzZWxmLmdldF90ZXN0X2lucHV0KHRlc3QpIGZvciB0ZXN0IGluIHRl
c3RfbGlzdF0sIG51bV93b3JrZXJzLCBmdWxseV9wYXJhbGxlbCkKIApAQCAtMzYxLDEyICszNTYs
NyBAQCBjbGFzcyBOYXR1cmFsQ29tcGFyZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiBjbGFz
cyBLZXlDb21wYXJlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYp
OgotICAgICAgICBkZWYgc3BsaXQodGVzdF9uYW1lKToKLSAgICAgICAgICAgIGlkeCA9IHRlc3Rf
bmFtZS5yZmluZCgnLycpCi0gICAgICAgICAgICBpZiBpZHggIT0gLTE6Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuICh0ZXN0X25hbWVbMDppZHhdLCB0ZXN0X25hbWVbaWR4ICsgMTpdKQotCi0gICAg
ICAgIHNlbGYuc2hhcmRlciA9IFNoYXJkZXIoc3BsaXQsICcvJywgMSkKKyAgICAgICAgc2VsZi5z
aGFyZGVyID0gU2hhcmRlcigxKQogCiAgICAgZGVmIGFzc2VydF9jbXAoc2VsZiwgeCwgeSwgcmVz
dWx0KToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbXAoc2VsZi5zaGFyZGVyLnRlc3Rfa2V5
KHgpLCBzZWxmLnNoYXJkZXIudGVzdF9rZXkoeSkpLCByZXN1bHQpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5w
eQppbmRleCBjYzJmMGY5YjlhMGY4ZmViMjE3YWIzNjI2MzE4NTY2MGFkMzJjMWRlLi5iMWZiMTA0
ZmM3MzI2OTBiNzZkZDI3ZWQwNDRlZDE4ZGUxZTU1MDYzIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkK
QEAgLTQ0LDcgKzQ0LDcgQEAgaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogCi1m
cm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBvcnQgbWVzc2FnZV9wb29sCitmcm9tIHdlYmtpdHB5LmNv
bW1vbiBpbXBvcnQgbWVzc2FnZV9wb29sLCB0ZXN0X25hbWUKIGZyb20gd2Via2l0cHkubGF5b3V0
X3Rlc3RzLmNvbnRyb2xsZXJzLmxheW91dF90ZXN0X2ZpbmRlciBpbXBvcnQgTGF5b3V0VGVzdEZp
bmRlcgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxlcnMubGF5b3V0X3Rlc3Rf
cnVubmVyIGltcG9ydCBMYXlvdXRUZXN0UnVubmVyLCBUZXN0UnVuSW50ZXJydXB0ZWRFeGNlcHRp
b24sIFdvcmtlckV4Y2VwdGlvbgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxl
cnMudGVzdF9yZXN1bHRfd3JpdGVyIGltcG9ydCBUZXN0UmVzdWx0V3JpdGVyCkBAIC0yNzIsOSAr
MjcyLDkgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICBzZWxmLl9wcmludGVyID0g
cHJpbnRlcgogICAgICAgICBzZWxmLl9leHBlY3RhdGlvbnMgPSBOb25lCiAKLSAgICAgICAgc2Vs
Zi5IVFRQX1NVQkRJUiA9ICdodHRwJyArIHBvcnQuVEVTVF9QQVRIX1NFUEFSQVRPUgorICAgICAg
ICBzZWxmLkhUVFBfU1VCRElSID0gJ2h0dHAnICsgdGVzdF9uYW1lLlRFU1RfUEFUSF9TRVBBUkFU
T1IKICAgICAgICAgc2VsZi5QRVJGX1NVQkRJUiA9ICdwZXJmJwotICAgICAgICBzZWxmLldFQlNP
Q0tFVF9TVUJESVIgPSAnd2Vic29ja2V0JyArIHBvcnQuVEVTVF9QQVRIX1NFUEFSQVRPUgorICAg
ICAgICBzZWxmLldFQlNPQ0tFVF9TVUJESVIgPSAnd2Vic29ja2V0JyArIHRlc3RfbmFtZS5URVNU
X1BBVEhfU0VQQVJBVE9SCiAgICAgICAgIHNlbGYuTEFZT1VUX1RFU1RTX0RJUkVDVE9SWSA9ICdM
YXlvdXRUZXN0cycKIAogICAgICAgICAjIGRpc2FibGUgd3NzIHNlcnZlci4gbmVlZCB0byBpbnN0
YWxsIHB5T3BlblNTTCBvbiBidWlsZGJvdHMuCkBAIC0zMDEsNyArMzAxLDcgQEAgY2xhc3MgTWFu
YWdlcihvYmplY3QpOgogICAgICAgICByZXR1cm4gc2V0KHRlc3QgZm9yIHRlc3QgaW4gc2VsZi5f
dGVzdF9uYW1lcyBpZiBzZWxmLl9pc19odHRwX3Rlc3QodGVzdCkpCiAKICAgICBkZWYgX2lzX3Bl
cmZfdGVzdChzZWxmLCB0ZXN0KToKLSAgICAgICAgcmV0dXJuIHNlbGYuUEVSRl9TVUJESVIgPT0g
dGVzdCBvciAoc2VsZi5QRVJGX1NVQkRJUiArIHNlbGYuX3BvcnQuVEVTVF9QQVRIX1NFUEFSQVRP
UikgaW4gdGVzdAorICAgICAgICByZXR1cm4gc2VsZi5QRVJGX1NVQkRJUiA9PSB0ZXN0IG9yIChz
ZWxmLlBFUkZfU1VCRElSICsgdGVzdF9uYW1lLlRFU1RfUEFUSF9TRVBBUkFUT1IpIGluIHRlc3QK
IAogICAgIGRlZiBfcHJlcGFyZV9saXN0cyhzZWxmKToKICAgICAgICAgdGVzdHNfdG9fc2tpcCA9
IHNlbGYuX2ZpbmRlci5za2lwX3Rlc3RzKHNlbGYuX3BhdGhzLCBzZWxmLl90ZXN0X25hbWVzLCBz
ZWxmLl9leHBlY3RhdGlvbnMsIHNlbGYuX2h0dHBfdGVzdHMoKSkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRl
c3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9t
YW5hZ2VyX3VuaXR0ZXN0LnB5CmluZGV4IGU5NGQxMzMyYmU0MjM1NmE0ZmYyYzY5Y2UzZjQ4ODQ0
YmEyOThiNDMuLmVjYWJkMDI4MWI0MDkxMjFiODg4OGFmODg4ZmY4YTVhMzIyNzdkMDMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21h
bmFnZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQpAQCAtNDgsNyArNDgsNiBAQCBjbGFz
cyBNYW5hZ2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfbmVlZHNfc2Vy
dmVycyhzZWxmKToKICAgICAgICAgZGVmIGdldF9tYW5hZ2VyX3dpdGhfdGVzdHModGVzdF9uYW1l
cyk6CiAgICAgICAgICAgICBwb3J0ID0gTW9jaygpICAjIEZJWE1FOiBVc2UgYSB0aWdodGVyIG1v
Y2suCi0gICAgICAgICAgICBwb3J0LlRFU1RfUEFUSF9TRVBBUkFUT1IgPSAnLycKICAgICAgICAg
ICAgIG1hbmFnZXIgPSBNYW5hZ2VyKHBvcnQsIG9wdGlvbnM9TW9ja09wdGlvbnMoaHR0cD1UcnVl
LCBtYXhfbG9ja2VkX3NoYXJkcz0xKSwgcHJpbnRlcj1Nb2NrKCkpCiAgICAgICAgICAgICBtYW5h
Z2VyLl90ZXN0X25hbWVzID0gdGVzdF9uYW1lcwogICAgICAgICAgICAgcmV0dXJuIG1hbmFnZXIK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFz
ZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpp
bmRleCBhMTlhZjA5NGNmNzRlNWI1ZTgxMGY2NjMwZWFhNTFjYzM3MDVjNzdkLi42ODQ5MmVjNTY5
NDM3YzYzYjk4MTBlN2I5NThjOGNiZjVkYzFlMzhkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CkBAIC04MCw5ICs4MCw2IEBAIGNsYXNz
IFBvcnQob2JqZWN0KToKICAgICAjIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgcmVuYW1lIHRo
aXMgdG8gc29tZXRoaW5nIGxpa2UgJ2ltcGxlbWVudGF0aW9uX25hbWUnLgogICAgIHBvcnRfbmFt
ZSA9IE5vbmUKIAotICAgICMgVGVzdCBuYW1lcyByZXNlbWJsZSB1bml4IHJlbGF0aXZlIHBhdGhz
LCBhbmQgdXNlICcvJyBhcyBhIGRpcmVjdG9yeSBzZXBhcmF0b3IuCi0gICAgVEVTVF9QQVRIX1NF
UEFSQVRPUiA9ICcvJwotCiAgICAgQUxMX0JVSUxEX1RZUEVTID0gKCdkZWJ1ZycsICdyZWxlYXNl
JykKIAogICAgIEBjbGFzc21ldGhvZApAQCAtNjU0LDEzICs2NTEsNiBAQCBjbGFzcyBQb3J0KG9i
amVjdCk6CiAgICAgICAgICMgdmFsaWQgdGVzdCBhbmQgYnkgcHJpbnRpbmcucHkgdG8gZGV0ZXJt
aW5lIGlmIGJhc2VsaW5lcyBleGlzdC4KICAgICAgICAgcmV0dXJuIHNlbGYudGVzdF9pc2ZpbGUo
dGVzdF9uYW1lKSBvciBzZWxmLnRlc3RfaXNkaXIodGVzdF9uYW1lKQogCi0gICAgZGVmIHNwbGl0
X3Rlc3Qoc2VsZiwgdGVzdF9uYW1lKToKLSAgICAgICAgIiIiU3BsaXRzIGEgdGVzdCBuYW1lIGlu
dG8gdGhlICdkaXJlY3RvcnknIHBhcnQgYW5kIHRoZSAnYmFzZW5hbWUnIHBhcnQuIiIiCi0gICAg
ICAgIGluZGV4ID0gdGVzdF9uYW1lLnJmaW5kKHNlbGYuVEVTVF9QQVRIX1NFUEFSQVRPUikKLSAg
ICAgICAgaWYgaW5kZXggPCAxOgotICAgICAgICAgICAgcmV0dXJuICgnJywgdGVzdF9uYW1lKQot
ICAgICAgICByZXR1cm4gKHRlc3RfbmFtZVswOmluZGV4XSwgdGVzdF9uYW1lW2luZGV4Ol0pCi0K
ICAgICBkZWYgbm9ybWFsaXplX3Rlc3RfbmFtZShzZWxmLCB0ZXN0X25hbWUpOgogICAgICAgICAi
IiJSZXR1cm5zIGEgbm9ybWFsaXplZCB2ZXJzaW9uIG9mIHRoZSB0ZXN0IG5hbWUgb3IgdGVzdCBk
aXJlY3RvcnkuIiIiCiAgICAgICAgIGlmIHRlc3RfbmFtZS5lbmRzd2l0aCgnLycpOgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tb2NrX2RydC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbW9ja19kcnQucHkK
aW5kZXggYTIxMDZmZGQ5NTlhYWM4YTdhNmNmNzBjZDUxMjRkN2QzODkyMDYzNC4uNjVlZDhmZGJi
NTJkOTc0NDI1ZjY1NWFmZWRhMzVjZTU5NmFkNDllNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tb2NrX2RydC5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21vY2tfZHJ0LnB5CkBAIC00OSw2ICs0OSw3
IEBAIHNjcmlwdF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKG9zLnBhdGgu
ZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3MuCiBpZiBzY3JpcHRfZGlyIG5vdCBpbiBzeXMucGF0
aDoKICAgICBzeXMucGF0aC5hcHBlbmQoc2NyaXB0X2RpcikKIAorZnJvbSB3ZWJraXRweS5jb21t
b24gaW1wb3J0IHRlc3RfbmFtZQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnN5c3RlbWhv
c3QgaW1wb3J0IFN5c3RlbUhvc3QKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQuZHJp
dmVyIGltcG9ydCBEcml2ZXJJbnB1dCwgRHJpdmVyT3V0cHV0LCBEcml2ZXJQcm94eQogZnJvbSB3
ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5mYWN0b3J5IGltcG9ydCBQb3J0RmFjdG9yeQpAQCAt
MTg0LDcgKzE4NSw3IEBAIGNsYXNzIE1vY2tEUlQob2JqZWN0KToKICAgICAgICAgICAgIGlmIG5v
dCBsaW5lOgogICAgICAgICAgICAgICAgIHJldHVybiAwCiAgICAgICAgICAgICBkcml2ZXJfaW5w
dXQgPSBzZWxmLmlucHV0X2Zyb21fbGluZShsaW5lKQotICAgICAgICAgICAgZGlybmFtZSwgYmFz
ZW5hbWUgPSBzZWxmLl9wb3J0LnNwbGl0X3Rlc3QoZHJpdmVyX2lucHV0LnRlc3RfbmFtZSkKKyAg
ICAgICAgICAgIGRpcm5hbWUsIGJhc2VuYW1lID0gdGVzdF9uYW1lLnNwbGl0X3Rlc3RfbmFtZShk
cml2ZXJfaW5wdXQudGVzdF9uYW1lKQogICAgICAgICAgICAgaXNfcmVmdGVzdCA9IChzZWxmLl9w
b3J0LnJlZmVyZW5jZV9maWxlcyhkcml2ZXJfaW5wdXQudGVzdF9uYW1lKSBvcgogICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLl9wb3J0LmlzX3JlZmVyZW5jZV9odG1sX2ZpbGUoc2VsZi5f
cG9ydC5fZmlsZXN5c3RlbSwgZGlybmFtZSwgYmFzZW5hbWUpKQogICAgICAgICAgICAgb3V0cHV0
ID0gc2VsZi5vdXRwdXRfZm9yX3Rlc3QoZHJpdmVyX2lucHV0LCBpc19yZWZ0ZXN0KQo=
</data>
<flag name="review"
          id="189519"
          type_id="1"
          status="-"
          setter="dpranke"
    />
          </attachment>
      

    </bug>

</bugzilla>