<?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>78168</bug_id>
          
          <creation_ts>2012-02-08 15:40:26 -0800</creation_ts>
          <short_desc>nrwt: run_webkit_tests_integrationtest.py depends on being able to share a port w/ between master and worker</short_desc>
          <delta_ts>2012-12-05 16:54:37 -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>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>NRWT</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>103824</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>552559</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-08 15:40:26 -0800</bug_when>
    <thetext>Some of the integration tests in run_webkit_tests_integrationtest.py depend on being able to pass data back and forth in shared memory between &apos;manager&apos; and &apos;worker&apos;; this only happens to work when we have inline workers, and this causes complications in the manager_worker_broker interface (because we need to pass the shared host and port back and forth).

These tests should be rewritten to either be true unit tests or to be proper black-box integration tests that don&apos;t rely on custom ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784220</commentid>
    <comment_count>1</comment_count>
      <attachid>177853</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 15:58:05 -0800</bug_when>
    <thetext>Created attachment 177853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784221</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 15:59:58 -0800</bug_when>
    <thetext>Note that the original problem in the description was that we had to jump through some hoops in the message_pool (nee manager_worker_broker) classes in order to pass the shared port across; this was fixed some time ago by proper use of MockHosts and propagating the host across. 

However, the test code was still ugly as a result of the faking/overriding going on, so this makes things (IMO) quite a bit cleaner and clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784222</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 16:00:29 -0800</bug_when>
    <thetext>Attachment 177853 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy...&quot; exit_code: 1
Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:155:  [get_test_results] Passing unexpected keyword argument &apos;logging_stream&apos; in function call  [pylint/E1123] [5]
Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:160:  [get_test_results] Instance of &apos;int&apos; has no &apos;result_summary&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:161:  [get_test_results] Instance of &apos;int&apos; has no &apos;result_summary&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:163:  [get_test_results] Instance of &apos;int&apos; has no &apos;retry_summary&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:164:  [get_test_results] Instance of &apos;int&apos; has no &apos;retry_summary&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Total errors found: 5 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784232</commentid>
    <comment_count>4</comment_count>
      <attachid>177853</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-12-05 16:12:20 -0800</bug_when>
    <thetext>Comment on attachment 177853
Patch

Attachment 177853 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/15158485</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784268</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 16:45:39 -0800</bug_when>
    <thetext>I think the style failures are due to the style bot being behind; the code is correct and check-webkit-style runs cleanly on my machine. I&apos;ve filed bug 104190 for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784287</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 16:54:37 -0800</bug_when>
    <thetext>Committed r136780: &lt;http://trac.webkit.org/changeset/136780&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177853</attachid>
            <date>2012-12-05 15:58:05 -0800</date>
            <delta_ts>2012-12-05 16:13:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78168-20121205155530.patch</filename>
            <type>text/plain</type>
            <size>40041</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NzcxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODk0ZTJlZWU2NjRlMjE0NTY1MWQyYzFlYThiZmE2YTQ1
MzU4M2QwZS4uYzk1ZTMwOGU3N2ViNTk4NTM5MWVkYWE5MmVjYThlZmY0ZjBiMmFhNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDc2
IEBACiAyMDEyLTEyLTA1ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIG5yd3Q6IHJ1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5IGRlcGVuZHMg
b24gYmVpbmcgYWJsZSB0byBzaGFyZSBhIHBvcnQgdy8gYmV0d2VlbiBtYXN0ZXIgYW5kIHdvcmtl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNjgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBh
dGNoIGFkZHMgYSBzaW5nbGUgb3JkZXJlZCBsaXN0IHRvIFJlc3VsdFN1bW1hcnkgdGhhdCBjb250
YWlucworICAgICAgICB0aGUgcmVzdWx0cyBvZiBldmVyeSB0ZXN0IHJ1biBpbiBvcmRlciBvZiBy
ZXN1bHQgcmVjZWl2ZWQsIGFuZAorICAgICAgICBtb2RpZmllcyB0aGUgVGVzdFJlc3VsdHMgY2xh
c3MgdG8gY29udGFpbiB0aGUgbGlzdCBvZiByZWZlcmVuY2VzIHVzZWQKKyAgICAgICAgZm9yIGVh
Y2ggdGVzdCBhcyB3ZWxsIGFzIHRoZSBwaWQgb2YgdGhlIGRyaXZlcjsgdGhpcyBhbGxvd3MgdXMg
dG8gc3RvcAorICAgICAgICBoYXZpbmcgdG8gb3ZlcnJpZGUgdGhlIHRlc3QgZHJpdmVycyB0byBy
ZWNvcmQgdGhlIHRlc3RzLCBhbmQgbWFrZXMgdGhlCisgICAgICAgIGludGVncmF0aW9uIHRlc3Rz
IHRoYXQgdGVzdCByZGVyaW5nLCByZXRyaWVzLCByZXN0YXJ0cywgZXRjLiBibGFjay1ib3gKKyAg
ICAgICAgdGVzdHMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9j
b250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5uZXIucHk6CisgICAgICAgIChTaW5nbGVUZXN0UnVu
bmVyLl9ydW5fcmViYXNlbGluZSk6CisgICAgICAgIChTaW5nbGVUZXN0UnVubmVyLl9jb21wYXJl
X291dHB1dCk6CisgICAgICAgIChTaW5nbGVUZXN0UnVubmVyLl9ydW5fcmVmdGVzdCk6CisgICAg
ICAgIChTaW5nbGVUZXN0UnVubmVyLl9jb21wYXJlX291dHB1dF93aXRoX3JlZmVyZW5jZSk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Jlc3VsdF9zdW1t
YXJ5LnB5OgorICAgICAgICAoUmVzdWx0U3VtbWFyeS5fX2luaXRfXyk6CisgICAgICAgIChSZXN1
bHRTdW1tYXJ5LmFkZCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bW9kZWxzL3Rlc3RfcmVzdWx0cy5weToKKyAgICAgICAgKFRlc3RSZXN1bHQuX19pbml0X18pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZHJpdmVyLnB5Ogor
ICAgICAgICAoRHJpdmVyT3V0cHV0Ll9faW5pdF9fKToKKyAgICAgICAgKERyaXZlci5ydW5fdGVz
dCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5
OgorICAgICAgICAoVGVzdERyaXZlcik6CisgICAgICAgIChUZXN0RHJpdmVyLl9faW5pdF9fKToK
KyAgICAgICAgKFRlc3REcml2ZXIucnVuX3Rlc3QpOgorICAgICAgICAoVGVzdERyaXZlci5zdG9w
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rl
c3RzX2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKGdldF90ZXN0c19ydW4pOgorICAgICAg
ICAoZ2V0X3Rlc3RfYmF0Y2hlcyk6CisgICAgICAgIChnZXRfdGVzdF9yZXN1bHRzKToKKyAgICAg
ICAgKE1haW5UZXN0LnRlc3RfYmF0Y2hfc2l6ZSk6CisgICAgICAgIChNYWluVGVzdC50ZXN0X2Ry
eXJ1bik6CisgICAgICAgIChNYWluVGVzdC50ZXN0X25hdHVyYWxfb3JkZXIpOgorICAgICAgICAo
TWFpblRlc3QudGVzdF9uYXR1cmFsX29yZGVyX3Rlc3Rfc3BlY2lmaWVkX211bHRpcGxlX3RpbWVz
KToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcmFuZG9tX29yZGVyKToKKyAgICAgICAgKE1haW5U
ZXN0LnRlc3RfcmFuZG9tX29yZGVyX3Rlc3Rfc3BlY2lmaWVkX211bHRpcGxlX3RpbWVzKToKKyAg
ICAgICAgKE1haW5UZXN0LnRlc3Rfbm9fb3JkZXIpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9u
b19vcmRlcl90ZXN0X3NwZWNpZmllZF9tdWx0aXBsZV90aW1lcyk6CisgICAgICAgIChNYWluVGVz
dC50ZXN0X25vX29yZGVyX3dpdGhfZGlyZWN0b3J5X2VudHJpZXNfaW5fbmF0dXJhbF9vcmRlcik6
CisgICAgICAgIChNYWluVGVzdC50ZXN0X3JlcGVhdF9lYWNoKToKKyAgICAgICAgKE1haW5UZXN0
LnRlc3RfaWdub3JlX2ZsYWcpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9za2lwcGVkX2ZsYWcp
OgorICAgICAgICAoTWFpblRlc3QudGVzdF9pdGVyYXRpb25zKToKKyAgICAgICAgKE1haW5UZXN0
LnRlc3RfcnVuX2NodW5rKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcnVuX3BhcnQpOgorICAg
ICAgICAoTWFpblRlc3QudGVzdF9ydW5fc2luZ2x5KToKKyAgICAgICAgKE1haW5UZXN0LnRlc3Rf
c2tpcF9mYWlsaW5nX3Rlc3RzKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3Rfc2luZ2xlX2ZpbGUp
OgorICAgICAgICAoTWFpblRlc3QudGVzdF9zaW5nbGVfZmlsZV93aXRoX3ByZWZpeCk6CisgICAg
ICAgIChNYWluVGVzdC50ZXN0X3NpbmdsZV9za2lwcGVkX2ZpbGUpOgorICAgICAgICAoTWFpblRl
c3QudGVzdF90ZXN0X2xpc3QpOgorICAgICAgICAoTWFpblRlc3QudGVzdF90ZXN0X2xpc3Rfd2l0
aF9wcmVmaXgpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9leGl0X2FmdGVyX25fZmFpbHVyZXMp
OgorICAgICAgICAoTWFpblRlc3QudGVzdF9leGl0X2FmdGVyX25fY3Jhc2hlcyk6CisgICAgICAg
IChNYWluVGVzdC50ZXN0X3J1bl9vcmRlcl9faW5saW5lKToKKyAgICAgICAgKE1haW5UZXN0LnRl
c3RfcmVmdGVzdF9ydW4pOgorICAgICAgICAoTWFpblRlc3QudGVzdF9yZWZ0ZXN0X3J1bl9yZWZ0
ZXN0c19pZl9waXhlbF90ZXN0c19hcmVfZGlzYWJsZWQpOgorICAgICAgICAoTWFpblRlc3QudGVz
dF9yZWZ0ZXN0X3NraXBfcmVmdGVzdHNfaWZfbm9fcmVmX3Rlc3RzKToKKyAgICAgICAgKE1haW5U
ZXN0LnRlc3RfcmVmdGVzdF9leHBlY3RlZF9odG1sX3Nob3VsZF9iZV9pZ25vcmVkKToKKyAgICAg
ICAgKE1haW5UZXN0LnRlc3RfcmVmdGVzdF9kcml2ZXJfc2hvdWxkX3J1bl9leHBlY3RlZF9odG1s
KToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcmVmdGVzdF9kcml2ZXJfc2hvdWxkX3J1bl9leHBl
Y3RlZF9taXNtYXRjaF9odG1sKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3Rfbm9faHR0cF90ZXN0
cyk6CisgICAgICAgIChNYWluVGVzdC50ZXN0X3BsYXRmb3JtX3Rlc3RzX2FyZV9mb3VuZCk6CisK
KzIwMTItMTItMDUgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKICAgICAg
ICAgbnJ3dDogc3BsaXQgYWxsIG9mIHRoZSBidWlsZGJvdC1zcGVjaWZpYyBvdXRwdXQgaW50byBp
dHMgb3duIGZpbGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNDE2NQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5uZXIucHkKaW5k
ZXggMjhlOWQ2M2YwZTE1Nzg3OTMzZjM4YzU0NGRjNjI0ZjJiMDY3MDI4YS4uZTlmY2QyYjc1NWRh
ZTcxNGRjZWI5NTYxOWI0YjAwM2ZlNzYxY2YzYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Npbmds
ZV90ZXN0X3J1bm5lci5weQpAQCAtMTI0LDcgKzEyNCw3IEBAIGNsYXNzIFNpbmdsZVRlc3RSdW5u
ZXIob2JqZWN0KToKICAgICAgICAgIyBGSVhNRTogSXQgdGhlIHRlc3QgY3Jhc2hlZCBvciB0aW1l
ZCBvdXQsIGl0IG1pZ2h0IGJlIGJldHRlciB0byBhdm9pZAogICAgICAgICAjIHRvIHdyaXRlIG5l
dyBiYXNlbGluZXMuCiAgICAgICAgIHNlbGYuX292ZXJ3cml0ZV9iYXNlbGluZXMoZHJpdmVyX291
dHB1dCkKLSAgICAgICAgcmV0dXJuIFRlc3RSZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCBmYWlsdXJl
cywgZHJpdmVyX291dHB1dC50ZXN0X3RpbWUsIGRyaXZlcl9vdXRwdXQuaGFzX3N0ZGVycigpKQor
ICAgICAgICByZXR1cm4gVGVzdFJlc3VsdChzZWxmLl90ZXN0X25hbWUsIGZhaWx1cmVzLCBkcml2
ZXJfb3V0cHV0LnRlc3RfdGltZSwgZHJpdmVyX291dHB1dC5oYXNfc3RkZXJyKCksIHBpZD1kcml2
ZXJfb3V0cHV0LnBpZCkKIAogICAgIF9yZW5kZXJfdHJlZV9kdW1wX3BhdHRlcm4gPSByZS5jb21w
aWxlKHIiXmxheWVyIGF0IFwoXGQrLFxkK1wpIHNpemUgXGQreFxkK1xuIikKIApAQCAtMjE3LDEz
ICsyMTcsMTMgQEAgY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICBpZiBk
cml2ZXJfb3V0cHV0LmNyYXNoOgogICAgICAgICAgICAgIyBEb24ndCBjb250aW51ZSBhbnkgbW9y
ZSBpZiB3ZSBhbHJlYWR5IGhhdmUgYSBjcmFzaC4KICAgICAgICAgICAgICMgSW4gY2FzZSBvZiB0
aW1lb3V0cywgd2UgY29udGludWUgc2luY2Ugd2Ugc3RpbGwgd2FudCB0byBzZWUgdGhlIHRleHQg
YW5kIGltYWdlIG91dHB1dC4KLSAgICAgICAgICAgIHJldHVybiBUZXN0UmVzdWx0KHNlbGYuX3Rl
c3RfbmFtZSwgZmFpbHVyZXMsIGRyaXZlcl9vdXRwdXQudGVzdF90aW1lLCBkcml2ZXJfb3V0cHV0
Lmhhc19zdGRlcnIoKSkKKyAgICAgICAgICAgIHJldHVybiBUZXN0UmVzdWx0KHNlbGYuX3Rlc3Rf
bmFtZSwgZmFpbHVyZXMsIGRyaXZlcl9vdXRwdXQudGVzdF90aW1lLCBkcml2ZXJfb3V0cHV0Lmhh
c19zdGRlcnIoKSwgcGlkPWRyaXZlcl9vdXRwdXQucGlkKQogCiAgICAgICAgIGZhaWx1cmVzLmV4
dGVuZChzZWxmLl9jb21wYXJlX3RleHQoZXhwZWN0ZWRfZHJpdmVyX291dHB1dC50ZXh0LCBkcml2
ZXJfb3V0cHV0LnRleHQpKQogICAgICAgICBmYWlsdXJlcy5leHRlbmQoc2VsZi5fY29tcGFyZV9h
dWRpbyhleHBlY3RlZF9kcml2ZXJfb3V0cHV0LmF1ZGlvLCBkcml2ZXJfb3V0cHV0LmF1ZGlvKSkK
ICAgICAgICAgaWYgc2VsZi5fc2hvdWxkX3J1bl9waXhlbF90ZXN0OgogICAgICAgICAgICAgZmFp
bHVyZXMuZXh0ZW5kKHNlbGYuX2NvbXBhcmVfaW1hZ2UoZXhwZWN0ZWRfZHJpdmVyX291dHB1dCwg
ZHJpdmVyX291dHB1dCkpCi0gICAgICAgIHJldHVybiBUZXN0UmVzdWx0KHNlbGYuX3Rlc3RfbmFt
ZSwgZmFpbHVyZXMsIGRyaXZlcl9vdXRwdXQudGVzdF90aW1lLCBkcml2ZXJfb3V0cHV0Lmhhc19z
dGRlcnIoKSkKKyAgICAgICAgcmV0dXJuIFRlc3RSZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCBmYWls
dXJlcywgZHJpdmVyX291dHB1dC50ZXN0X3RpbWUsIGRyaXZlcl9vdXRwdXQuaGFzX3N0ZGVycigp
LCBwaWQ9ZHJpdmVyX291dHB1dC5waWQpCiAKICAgICBkZWYgX2NvbXBhcmVfdGV4dChzZWxmLCBl
eHBlY3RlZF90ZXh0LCBhY3R1YWxfdGV4dCk6CiAgICAgICAgIGZhaWx1cmVzID0gW10KQEAgLTI5
Myw4ICsyOTMsMTAgQEAgY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICAj
IE5vdGUgdGhhdCBzb3J0aW5nIGJ5IHRoZSBleHBlY3RhdGlvbiBzb3J0cyAiIT0iIGJlZm9yZSAi
PT0iIHNvIHRoaXMgaXMgZWFzeSB0byBkby4KIAogICAgICAgICBwdXRBbGxNaXNtYXRjaEJlZm9y
ZU1hdGNoID0gc29ydGVkCisgICAgICAgIHJlZmVyZW5jZV90ZXN0X25hbWVzID0gW10KICAgICAg
ICAgZm9yIGV4cGVjdGF0aW9uLCByZWZlcmVuY2VfZmlsZW5hbWUgaW4gcHV0QWxsTWlzbWF0Y2hC
ZWZvcmVNYXRjaChzZWxmLl9yZWZlcmVuY2VfZmlsZXMpOgogICAgICAgICAgICAgcmVmZXJlbmNl
X3Rlc3RfbmFtZSA9IHNlbGYuX3BvcnQucmVsYXRpdmVfdGVzdF9maWxlbmFtZShyZWZlcmVuY2Vf
ZmlsZW5hbWUpCisgICAgICAgICAgICByZWZlcmVuY2VfdGVzdF9uYW1lcy5hcHBlbmQocmVmZXJl
bmNlX3Rlc3RfbmFtZSkKICAgICAgICAgICAgIHJlZmVyZW5jZV9vdXRwdXQgPSBzZWxmLl9kcml2
ZXIucnVuX3Rlc3QoRHJpdmVySW5wdXQocmVmZXJlbmNlX3Rlc3RfbmFtZSwgc2VsZi5fdGltZW91
dCwgTm9uZSwgc2hvdWxkX3J1bl9waXhlbF90ZXN0PVRydWUpLCBzZWxmLl9zdG9wX3doZW5fZG9u
ZSkKICAgICAgICAgICAgIHRlc3RfcmVzdWx0ID0gc2VsZi5fY29tcGFyZV9vdXRwdXRfd2l0aF9y
ZWZlcmVuY2UocmVmZXJlbmNlX291dHB1dCwgdGVzdF9vdXRwdXQsIHJlZmVyZW5jZV9maWxlbmFt
ZSwgZXhwZWN0YXRpb24gPT0gJyE9JykKIApAQCAtMzA1LDcgKzMwNyw3IEBAIGNsYXNzIFNpbmds
ZVRlc3RSdW5uZXIob2JqZWN0KToKICAgICAgICAgYXNzZXJ0KHJlZmVyZW5jZV9vdXRwdXQpCiAg
ICAgICAgIHRlc3RfcmVzdWx0X3dyaXRlci53cml0ZV90ZXN0X3Jlc3VsdChzZWxmLl9maWxlc3lz
dGVtLCBzZWxmLl9wb3J0LCBzZWxmLl90ZXN0X25hbWUsIHRlc3Rfb3V0cHV0LCByZWZlcmVuY2Vf
b3V0cHV0LCB0ZXN0X3Jlc3VsdC5mYWlsdXJlcykKICAgICAgICAgcmVmdGVzdF90eXBlID0gc2V0
KFtyZWZlcmVuY2VfZmlsZVswXSBmb3IgcmVmZXJlbmNlX2ZpbGUgaW4gc2VsZi5fcmVmZXJlbmNl
X2ZpbGVzXSkKLSAgICAgICAgcmV0dXJuIFRlc3RSZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCB0ZXN0
X3Jlc3VsdC5mYWlsdXJlcywgdG90YWxfdGVzdF90aW1lICsgdGVzdF9yZXN1bHQudGVzdF9ydW5f
dGltZSwgdGVzdF9yZXN1bHQuaGFzX3N0ZGVyciwgcmVmdGVzdF90eXBlPXJlZnRlc3RfdHlwZSkK
KyAgICAgICAgcmV0dXJuIFRlc3RSZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCB0ZXN0X3Jlc3VsdC5m
YWlsdXJlcywgdG90YWxfdGVzdF90aW1lICsgdGVzdF9yZXN1bHQudGVzdF9ydW5fdGltZSwgdGVz
dF9yZXN1bHQuaGFzX3N0ZGVyciwgcmVmdGVzdF90eXBlPXJlZnRlc3RfdHlwZSwgcGlkPXRlc3Rf
cmVzdWx0LnBpZCwgcmVmZXJlbmNlcz1yZWZlcmVuY2VfdGVzdF9uYW1lcykKIAogICAgIGRlZiBf
Y29tcGFyZV9vdXRwdXRfd2l0aF9yZWZlcmVuY2Uoc2VsZiwgcmVmZXJlbmNlX2RyaXZlcl9vdXRw
dXQsIGFjdHVhbF9kcml2ZXJfb3V0cHV0LCByZWZlcmVuY2VfZmlsZW5hbWUsIG1pc21hdGNoKToK
ICAgICAgICAgdG90YWxfdGVzdF90aW1lID0gcmVmZXJlbmNlX2RyaXZlcl9vdXRwdXQudGVzdF90
aW1lICsgYWN0dWFsX2RyaXZlcl9vdXRwdXQudGVzdF90aW1lCkBAIC0zMTcsNyArMzE5LDcgQEAg
Y2xhc3MgU2luZ2xlVGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICAgICAgcmV0dXJuIFRlc3RS
ZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCBmYWlsdXJlcywgdG90YWxfdGVzdF90aW1lLCBoYXNfc3Rk
ZXJyKQogICAgICAgICBmYWlsdXJlcy5leHRlbmQoc2VsZi5faGFuZGxlX2Vycm9yKHJlZmVyZW5j
ZV9kcml2ZXJfb3V0cHV0LCByZWZlcmVuY2VfZmlsZW5hbWU9cmVmZXJlbmNlX2ZpbGVuYW1lKSkK
ICAgICAgICAgaWYgZmFpbHVyZXM6Ci0gICAgICAgICAgICByZXR1cm4gVGVzdFJlc3VsdChzZWxm
Ll90ZXN0X25hbWUsIGZhaWx1cmVzLCB0b3RhbF90ZXN0X3RpbWUsIGhhc19zdGRlcnIpCisgICAg
ICAgICAgICByZXR1cm4gVGVzdFJlc3VsdChzZWxmLl90ZXN0X25hbWUsIGZhaWx1cmVzLCB0b3Rh
bF90ZXN0X3RpbWUsIGhhc19zdGRlcnIsIHBpZD1hY3R1YWxfZHJpdmVyX291dHB1dC5waWQpCiAK
ICAgICAgICAgaWYgbm90IHJlZmVyZW5jZV9kcml2ZXJfb3V0cHV0LmltYWdlX2hhc2ggYW5kIG5v
dCBhY3R1YWxfZHJpdmVyX291dHB1dC5pbWFnZV9oYXNoOgogICAgICAgICAgICAgZmFpbHVyZXMu
YXBwZW5kKHRlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3ROb0ltYWdlc0dlbmVyYXRlZChyZWZl
cmVuY2VfZmlsZW5hbWUpKQpAQCAtMzM2LDQgKzMzOCw0IEBAIGNsYXNzIFNpbmdsZVRlc3RSdW5u
ZXIob2JqZWN0KToKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgX2xvZy53YXJu
aW5nKCIgICVzIC0+IHJlZiB0ZXN0IGhhc2hlcyBkaWRuJ3QgbWF0Y2ggYnV0IGRpZmYgcGFzc2Vk
IiAlIHNlbGYuX3Rlc3RfbmFtZSkKIAotICAgICAgICByZXR1cm4gVGVzdFJlc3VsdChzZWxmLl90
ZXN0X25hbWUsIGZhaWx1cmVzLCB0b3RhbF90ZXN0X3RpbWUsIGhhc19zdGRlcnIpCisgICAgICAg
IHJldHVybiBUZXN0UmVzdWx0KHNlbGYuX3Rlc3RfbmFtZSwgZmFpbHVyZXMsIHRvdGFsX3Rlc3Rf
dGltZSwgaGFzX3N0ZGVyciwgcGlkPWFjdHVhbF9kcml2ZXJfb3V0cHV0LnBpZCkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy9yZXN1bHRfc3Vt
bWFyeS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy9yZXN1
bHRfc3VtbWFyeS5weQppbmRleCBlNzNjMGI2NjM0YzcxYzEzODNiMDIwYjFmMTRhYTYyZDBmOWJj
NGNkLi5mYTI1ZTcyZmMzZTA2YTQ2YWMzMzA3OGU3YzBhZmU0ZjBiZWE3NjM0IDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvcmVzdWx0X3N1bW1h
cnkucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Jl
c3VsdF9zdW1tYXJ5LnB5CkBAIC00Myw3ICs0Myw4IEBAIGNsYXNzIFJlc3VsdFN1bW1hcnkob2Jq
ZWN0KToKICAgICAgICAgc2VsZi50b3RhbF90ZXN0c19ieV9leHBlY3RhdGlvbiA9IHt9CiAgICAg
ICAgIHNlbGYudGVzdHNfYnlfZXhwZWN0YXRpb24gPSB7fQogICAgICAgICBzZWxmLnRlc3RzX2J5
X3RpbWVsaW5lID0ge30KLSAgICAgICAgc2VsZi5yZXN1bHRzID0ge30KKyAgICAgICAgc2VsZi5y
ZXN1bHRzID0ge30gICMgTWFwIG9mIHRlc3QgbmFtZSB0byB0aGUgbGFzdCByZXN1bHQgZm9yIHRo
ZSB0ZXN0LgorICAgICAgICBzZWxmLmFsbF9yZXN1bHRzID0gW10gICMgQWxsIHJlc3VsdHMgZnJv
bSBhIHJ1biwgaW5jbHVkaW5nIGV2ZXJ5IGl0ZXJhdGlvbiBvZiBldmVyeSB0ZXN0LgogICAgICAg
ICBzZWxmLnVuZXhwZWN0ZWRfcmVzdWx0cyA9IHt9CiAgICAgICAgIHNlbGYuZmFpbHVyZXMgPSB7
fQogICAgICAgICBzZWxmLnRvdGFsX2ZhaWx1cmVzID0gMApAQCAtNjAsNiArNjEsOCBAQCBjbGFz
cyBSZXN1bHRTdW1tYXJ5KG9iamVjdCk6CiAgICAgICAgIHNlbGYudG90YWxfdGVzdHNfYnlfZXhw
ZWN0YXRpb25bdGVzdF9yZXN1bHQudHlwZV0gKz0gMQogICAgICAgICBzZWxmLnRlc3RzX2J5X2V4
cGVjdGF0aW9uW3Rlc3RfcmVzdWx0LnR5cGVdLmFkZCh0ZXN0X3Jlc3VsdC50ZXN0X25hbWUpCiAg
ICAgICAgIHNlbGYucmVzdWx0c1t0ZXN0X3Jlc3VsdC50ZXN0X25hbWVdID0gdGVzdF9yZXN1bHQK
KyAgICAgICAgaWYgdGVzdF9yZXN1bHQudHlwZSAhPSBTS0lQOgorICAgICAgICAgICAgc2VsZi5h
bGxfcmVzdWx0cy5hcHBlbmQodGVzdF9yZXN1bHQpCiAgICAgICAgIHNlbGYucmVtYWluaW5nIC09
IDEKICAgICAgICAgaWYgbGVuKHRlc3RfcmVzdWx0LmZhaWx1cmVzKToKICAgICAgICAgICAgIHNl
bGYudG90YWxfZmFpbHVyZXMgKz0gMQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcmVzdWx0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X3Jlc3VsdHMucHkKaW5kZXggZGNiZWY2MjVj
Y2EzMTcwZTEwMzgyZjcwODVhZDdhOWM4ZTRmZTIyZi4uMTMwMTVkNGU0OWY1OWU3Mjk5NWIwMDZm
MzJiYjcwODdiM2VkZGZmYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfcmVzdWx0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9yZXN1bHRzLnB5CkBAIC0zOCwxMiArMzgsMTQg
QEAgY2xhc3MgVGVzdFJlc3VsdChvYmplY3QpOgogICAgIGRlZiBsb2FkcyhzdHJpbmcpOgogICAg
ICAgICByZXR1cm4gY1BpY2tsZS5sb2FkcyhzdHJpbmcpCiAKLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgdGVzdF9uYW1lLCBmYWlsdXJlcz1Ob25lLCB0ZXN0X3J1bl90aW1lPU5vbmUsIGhhc19zdGRl
cnI9RmFsc2UsIHJlZnRlc3RfdHlwZT1bXSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3Rf
bmFtZSwgZmFpbHVyZXM9Tm9uZSwgdGVzdF9ydW5fdGltZT1Ob25lLCBoYXNfc3RkZXJyPUZhbHNl
LCByZWZ0ZXN0X3R5cGU9Tm9uZSwgcGlkPU5vbmUsIHJlZmVyZW5jZXM9Tm9uZSk6CiAgICAgICAg
IHNlbGYudGVzdF9uYW1lID0gdGVzdF9uYW1lCiAgICAgICAgIHNlbGYuZmFpbHVyZXMgPSBmYWls
dXJlcyBvciBbXQogICAgICAgICBzZWxmLnRlc3RfcnVuX3RpbWUgPSB0ZXN0X3J1bl90aW1lIG9y
IDAgICMgVGhlIHRpbWUgdGFrZW4gdG8gZXhlY3V0ZSB0aGUgdGVzdCBpdHNlbGYuCiAgICAgICAg
IHNlbGYuaGFzX3N0ZGVyciA9IGhhc19zdGRlcnIKLSAgICAgICAgc2VsZi5yZWZ0ZXN0X3R5cGUg
PSByZWZ0ZXN0X3R5cGUKKyAgICAgICAgc2VsZi5yZWZ0ZXN0X3R5cGUgPSByZWZ0ZXN0X3R5cGUg
b3IgW10KKyAgICAgICAgc2VsZi5waWQgPSBwaWQKKyAgICAgICAgc2VsZi5yZWZlcmVuY2VzID0g
cmVmZXJlbmNlcyBvciBbXQogCiAgICAgICAgICMgRklYTUU6IFNldHRpbmcgdGhpcyBpbiB0aGUg
Y29uc3RydWN0b3IgbWFrZXMgdGhpcyBjbGFzcyBoYXJkIHRvIG11dGF0ZS4KICAgICAgICAgc2Vs
Zi50eXBlID0gdGVzdF9mYWlsdXJlcy5kZXRlcm1pbmVfcmVzdWx0X3R5cGUoZmFpbHVyZXMpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2RyaXZl
ci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZHJpdmVyLnB5
CmluZGV4IGU4ODM1OTBjZjE1NjIzYTMwZDA1ODg3N2ZjMWMxMGY0Y2U4ZDJlNjguLjcwODIwNDk2
Y2YyMTkxNDhlYTI4NTM3NzYwYTE1NGVjNTg1OGQ1ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZHJpdmVyLnB5CkBAIC03OCw3ICs3OCw3IEBA
IGNsYXNzIERyaXZlck91dHB1dChvYmplY3QpOgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRl
eHQsIGltYWdlLCBpbWFnZV9oYXNoLCBhdWRpbywgY3Jhc2g9RmFsc2UsCiAgICAgICAgICAgICB0
ZXN0X3RpbWU9MCwgbWVhc3VyZW1lbnRzPU5vbmUsIHRpbWVvdXQ9RmFsc2UsIGVycm9yPScnLCBj
cmFzaGVkX3Byb2Nlc3NfbmFtZT0nPz8nLAotICAgICAgICAgICAgY3Jhc2hlZF9waWQ9Tm9uZSwg
Y3Jhc2hfbG9nPU5vbmUpOgorICAgICAgICAgICAgY3Jhc2hlZF9waWQ9Tm9uZSwgY3Jhc2hfbG9n
PU5vbmUsIHBpZD1Ob25lKToKICAgICAgICAgIyBGSVhNRTogQXJncyBjb3VsZCBiZSByZW5hbWVk
IHRvIGJldHRlciBjbGFyaWZ5IHdoYXQgdGhleSBkby4KICAgICAgICAgc2VsZi50ZXh0ID0gdGV4
dAogICAgICAgICBzZWxmLmltYWdlID0gaW1hZ2UgICMgTWF5IGJlIGVtcHR5LXN0cmluZyBpZiB0
aGUgdGVzdCBjcmFzaGVzLgpAQCAtOTMsNiArOTMsNyBAQCBjbGFzcyBEcml2ZXJPdXRwdXQob2Jq
ZWN0KToKICAgICAgICAgc2VsZi5tZWFzdXJlbWVudHMgPSBtZWFzdXJlbWVudHMKICAgICAgICAg
c2VsZi50aW1lb3V0ID0gdGltZW91dAogICAgICAgICBzZWxmLmVycm9yID0gZXJyb3IgICMgc3Rk
ZXJyIG91dHB1dAorICAgICAgICBzZWxmLnBpZCA9IHBpZAogCiAgICAgZGVmIGhhc19zdGRlcnIo
c2VsZik6CiAgICAgICAgIHJldHVybiBib29sKHNlbGYuZXJyb3IpCkBAIC0xNzMsNiArMTc0LDcg
QEAgY2xhc3MgRHJpdmVyKG9iamVjdCk6CiAKICAgICAgICAgY3Jhc2hlZCA9IHNlbGYuaGFzX2Ny
YXNoZWQoKQogICAgICAgICB0aW1lZF9vdXQgPSBzZWxmLl9zZXJ2ZXJfcHJvY2Vzcy50aW1lZF9v
dXQKKyAgICAgICAgcGlkID0gc2VsZi5fc2VydmVyX3Byb2Nlc3MucGlkKCkKIAogICAgICAgICBp
ZiBzdG9wX3doZW5fZG9uZSBvciBjcmFzaGVkIG9yIHRpbWVkX291dDoKICAgICAgICAgICAgICMg
V2UgY2FsbCBzdG9wKCkgZXZlbiBpZiB3ZSBjcmFzaGVkIG9yIHRpbWVkIG91dCBpbiBvcmRlciB0
byBnZXQgYW55IHJlbWFpbmluZyBzdGRvdXQvc3RkZXJyIG91dHB1dC4KQEAgLTIwNCw3ICsyMDYs
NyBAQCBjbGFzcyBEcml2ZXIob2JqZWN0KToKICAgICAgICAgICAgIGNyYXNoPWNyYXNoZWQsIHRl
c3RfdGltZT10aW1lLnRpbWUoKSAtIHRlc3RfYmVnaW5fdGltZSwgbWVhc3VyZW1lbnRzPXNlbGYu
X21lYXN1cmVtZW50cywKICAgICAgICAgICAgIHRpbWVvdXQ9dGltZWRfb3V0LCBlcnJvcj1zZWxm
LmVycm9yX2Zyb21fdGVzdCwKICAgICAgICAgICAgIGNyYXNoZWRfcHJvY2Vzc19uYW1lPXNlbGYu
X2NyYXNoZWRfcHJvY2Vzc19uYW1lLAotICAgICAgICAgICAgY3Jhc2hlZF9waWQ9c2VsZi5fY3Jh
c2hlZF9waWQsIGNyYXNoX2xvZz1jcmFzaF9sb2cpCisgICAgICAgICAgICBjcmFzaGVkX3BpZD1z
ZWxmLl9jcmFzaGVkX3BpZCwgY3Jhc2hfbG9nPWNyYXNoX2xvZywgcGlkPXBpZCkKIAogICAgIGRl
ZiBfZ2V0X2NyYXNoX2xvZyhzZWxmLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhhbik6CiAgICAg
ICAgIHJldHVybiBzZWxmLl9wb3J0Ll9nZXRfY3Jhc2hfbG9nKHNlbGYuX2NyYXNoZWRfcHJvY2Vz
c19uYW1lLCBzZWxmLl9jcmFzaGVkX3BpZCwgc3Rkb3V0LCBzdGRlcnIsIG5ld2VyX3RoYW4pCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3Rlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3Rlc3QucHkKaW5k
ZXggMDFkNjYwMGIxNGJhNTc3YzJlOWI5MjNhYmYyZGUwM2Y3MjQzODNlMi4uOTYyNmZlNjJjZWMx
OWUxMmU2ZGIzYzQ4MmE0YzNlNDcxZGFmZjJmYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC90ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvdGVzdC5weQpAQCAtNTM1LDEyICs1MzUsMjMgQEAgY2xh
c3MgVGVzdFBvcnQoUG9ydCk6CiAKIGNsYXNzIFRlc3REcml2ZXIoRHJpdmVyKToKICAgICAiIiJU
ZXN0L0R1bW15IGltcGxlbWVudGF0aW9uIG9mIHRoZSBEdW1wUmVuZGVyVHJlZSBpbnRlcmZhY2Uu
IiIiCisgICAgbmV4dF9waWQgPSAxCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoq
a3dhcmdzKToKKyAgICAgICAgc3VwZXIoVGVzdERyaXZlciwgc2VsZikuX19pbml0X18oKmFyZ3Ms
ICoqa3dhcmdzKQorICAgICAgICBzZWxmLnN0YXJ0ZWQgPSBGYWxzZQorICAgICAgICBzZWxmLnBp
ZCA9IDAKIAogICAgIGRlZiBjbWRfbGluZShzZWxmLCBwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJn
cyk6CiAgICAgICAgIHBpeGVsX3Rlc3RzX2ZsYWcgPSAnLXAnIGlmIHBpeGVsX3Rlc3RzIGVsc2Ug
JycKICAgICAgICAgcmV0dXJuIFtzZWxmLl9wb3J0Ll9wYXRoX3RvX2RyaXZlcigpXSArIFtwaXhl
bF90ZXN0c19mbGFnXSArIHNlbGYuX3BvcnQuZ2V0X29wdGlvbignYWRkaXRpb25hbF9kcnRfZmxh
ZycsIFtdKSArIHBlcl90ZXN0X2FyZ3MKIAogICAgIGRlZiBydW5fdGVzdChzZWxmLCB0ZXN0X2lu
cHV0LCBzdG9wX3doZW5fZG9uZSk6CisgICAgICAgIGlmIG5vdCBzZWxmLnN0YXJ0ZWQ6CisgICAg
ICAgICAgICBzZWxmLnN0YXJ0ZWQgPSBUcnVlCisgICAgICAgICAgICBzZWxmLnBpZCA9IFRlc3RE
cml2ZXIubmV4dF9waWQKKyAgICAgICAgICAgIFRlc3REcml2ZXIubmV4dF9waWQgKz0gMQorCiAg
ICAgICAgIHN0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQogICAgICAgICB0ZXN0X25hbWUgPSB0ZXN0
X2lucHV0LnRlc3RfbmFtZQogICAgICAgICB0ZXN0X2FyZ3MgPSB0ZXN0X2lucHV0LmFyZ3Mgb3Ig
W10KQEAgLTU4OCwxMCArNTk5LDcgQEAgY2xhc3MgVGVzdERyaXZlcihEcml2ZXIpOgogICAgICAg
ICByZXR1cm4gRHJpdmVyT3V0cHV0KGFjdHVhbF90ZXh0LCBpbWFnZSwgdGVzdC5hY3R1YWxfY2hl
Y2tzdW0sIGF1ZGlvLAogICAgICAgICAgICAgY3Jhc2g9dGVzdC5jcmFzaCBvciB0ZXN0LndlYl9w
cm9jZXNzX2NyYXNoLCBjcmFzaGVkX3Byb2Nlc3NfbmFtZT1jcmFzaGVkX3Byb2Nlc3NfbmFtZSwK
ICAgICAgICAgICAgIGNyYXNoZWRfcGlkPWNyYXNoZWRfcGlkLCBjcmFzaF9sb2c9Y3Jhc2hfbG9n
LAotICAgICAgICAgICAgdGVzdF90aW1lPXRpbWUudGltZSgpIC0gc3RhcnRfdGltZSwgdGltZW91
dD10ZXN0LnRpbWVvdXQsIGVycm9yPXRlc3QuZXJyb3IpCi0KLSAgICBkZWYgc3RhcnQoc2VsZiwg
cGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpOgotICAgICAgICBwYXNzCisgICAgICAgICAgICB0
ZXN0X3RpbWU9dGltZS50aW1lKCkgLSBzdGFydF90aW1lLCB0aW1lb3V0PXRlc3QudGltZW91dCwg
ZXJyb3I9dGVzdC5lcnJvciwgcGlkPXNlbGYucGlkKQogCiAgICAgZGVmIHN0b3Aoc2VsZik6Ci0g
ICAgICAgIHBhc3MKKyAgICAgICAgc2VsZi5zdGFydGVkID0gRmFsc2UKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdy
YXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXggYzZiMzIxZjlkOWQ2YjQ1OTFjYzI2
YTYyMzQ5YWQzZjNkMjdhNThlNS4uY2QxNmMzMjZmNDE4ZmUxZGQxMGU1NDdhNzIxOTg5YTI5MDQ5
ZGU1YyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVu
X3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKQEAg
LTI5LDcgKzI5LDYgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IGNvZGVjcwotaW1wb3J0IGl0
ZXJ0b29scwogaW1wb3J0IGpzb24KIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MKQEAgLTExNiw1
NCArMTE1LDQ3IEBAIGRlZiBydW5fYW5kX2NhcHR1cmUocG9ydF9vYmosIG9wdGlvbnMsIHBhcnNl
ZF9hcmdzLCBzaGFyZWRfcG9ydD1UcnVlKToKICAgICByZXR1cm4gKHJ1bl9kZXRhaWxzLmV4aXRf
Y29kZSwgbG9nZ2luZ19zdHJlYW0pCiAKIAotZGVmIGdldF90ZXN0c19ydW4oZXh0cmFfYXJncz1O
b25lLCB0ZXN0c19pbmNsdWRlZD1GYWxzZSwgZmxhdHRlbl9iYXRjaGVzPUZhbHNlLAotICAgICAg
ICAgICAgICAgICAgaG9zdD1Ob25lLCBpbmNsdWRlX3JlZmVyZW5jZV9odG1sPUZhbHNlKToKLSAg
ICBleHRyYV9hcmdzID0gZXh0cmFfYXJncyBvciBbXQotICAgIGlmIG5vdCB0ZXN0c19pbmNsdWRl
ZDoKLSAgICAgICAgIyBOb3QgaW5jbHVkaW5nIGh0dHAgdGVzdHMgc2luY2UgdGhleSBnZXQgcnVu
IG91dCBvZiBvcmRlciAodGhhdAotICAgICAgICAjIGJlaGF2aW9yIGhhcyBpdHMgb3duIHRlc3Qs
IHNlZSB0ZXN0X2dldF90ZXN0X2ZpbGVfcXVldWUpCi0gICAgICAgIGV4dHJhX2FyZ3MgPSBbJ3Bh
c3NlcycsICdmYWlsdXJlcyddICsgZXh0cmFfYXJncwotICAgIG9wdGlvbnMsIHBhcnNlZF9hcmdz
ID0gcGFyc2VfYXJncyhleHRyYV9hcmdzLCB0ZXN0c19pbmNsdWRlZD1UcnVlKQotCi0gICAgaG9z
dCA9IGhvc3Qgb3IgTW9ja0hvc3QoKQotICAgIHRlc3RfYmF0Y2hlcyA9IFtdCitkZWYgZ2V0X3Rl
c3RzX3J1bihhcmdzLCBob3N0PU5vbmUpOgorICAgIHJlc3VsdHMgPSBnZXRfdGVzdF9yZXN1bHRz
KGFyZ3MsIGhvc3QpCisgICAgcmV0dXJuIFtyZXN1bHQudGVzdF9uYW1lIGZvciByZXN1bHQgaW4g
cmVzdWx0c10KIAotICAgIGNsYXNzIFJlY29yZGluZ1Rlc3REcml2ZXIoVGVzdERyaXZlcik6Ci0g
ICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCB3b3JrZXJfbnVtYmVyKToKLSAgICAgICAg
ICAgIFRlc3REcml2ZXIuX19pbml0X18oc2VsZiwgcG9ydCwgd29ya2VyX251bWJlciwgcGl4ZWxf
dGVzdHM9cG9ydC5nZXRfb3B0aW9uKCdwaXhlbF90ZXN0JyksIG5vX3RpbWVvdXQ9RmFsc2UpCi0g
ICAgICAgICAgICBzZWxmLl9jdXJyZW50X3Rlc3RfYmF0Y2ggPSBOb25lCiAKLSAgICAgICAgZGVm
IHN0YXJ0KHNlbGYpOgotICAgICAgICAgICAgcGFzcworZGVmIGdldF90ZXN0X2JhdGNoZXMoYXJn
cywgaG9zdD1Ob25lKToKKyAgICByZXN1bHRzID0gZ2V0X3Rlc3RfcmVzdWx0cyhhcmdzLCBob3N0
KQorICAgIGJhdGNoZXMgPSBbXQorICAgIGJhdGNoID0gW10KKyAgICBjdXJyZW50X3BpZCA9IE5v
bmUKKyAgICBmb3IgcmVzdWx0IGluIHJlc3VsdHM6CisgICAgICAgIGlmIGJhdGNoIGFuZCByZXN1
bHQucGlkICE9IGN1cnJlbnRfcGlkOgorICAgICAgICAgICAgYmF0Y2hlcy5hcHBlbmQoYmF0Y2gp
CisgICAgICAgICAgICBiYXRjaCA9IFtdCisgICAgICAgIGJhdGNoLmFwcGVuZChyZXN1bHQudGVz
dF9uYW1lKQorICAgIGlmIGJhdGNoOgorICAgICAgICBiYXRjaGVzLmFwcGVuZChiYXRjaCkKKyAg
ICByZXR1cm4gYmF0Y2hlcwogCi0gICAgICAgIGRlZiBzdG9wKHNlbGYpOgotICAgICAgICAgICAg
c2VsZi5fY3VycmVudF90ZXN0X2JhdGNoID0gTm9uZQogCi0gICAgICAgIGRlZiBydW5fdGVzdChz
ZWxmLCB0ZXN0X2lucHV0LCBzdG9wX3doZW5fZG9uZSk6Ci0gICAgICAgICAgICBpZiBzZWxmLl9j
dXJyZW50X3Rlc3RfYmF0Y2ggaXMgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLl9jdXJyZW50
X3Rlc3RfYmF0Y2ggPSBbXQotICAgICAgICAgICAgICAgIHRlc3RfYmF0Y2hlcy5hcHBlbmQoc2Vs
Zi5fY3VycmVudF90ZXN0X2JhdGNoKQotICAgICAgICAgICAgdGVzdF9uYW1lID0gdGVzdF9pbnB1
dC50ZXN0X25hbWUKLSAgICAgICAgICAgICMgSW4gY2FzZSBvZiByZWZ0ZXN0LCBvbmUgdGVzdCBj
YWxscyB0aGUgZHJpdmVyJ3MgcnVuX3Rlc3QoKSB0d2ljZS4KLSAgICAgICAgICAgICMgV2Ugc2hv
dWxkIG5vdCBhZGQgYSByZWZlcmVuY2UgaHRtbCB1c2VkIGJ5IHJlZnRlc3RzIHRvIHRlc3RzIHVu
bGVzcyBpbmNsdWRlX3JlZmVyZW5jZV9odG1sIHBhcmFtZXRlcgotICAgICAgICAgICAgIyBpcyBl
eHBsaWNpdGx5IGdpdmVuLgotICAgICAgICAgICAgZmlsZXN5c3RlbSA9IHNlbGYuX3BvcnQuaG9z
dC5maWxlc3lzdGVtCi0gICAgICAgICAgICBkaXJuYW1lLCBmaWxlbmFtZSA9IGZpbGVzeXN0ZW0u
c3BsaXQodGVzdF9uYW1lKQotICAgICAgICAgICAgaWYgaW5jbHVkZV9yZWZlcmVuY2VfaHRtbCBv
ciBub3QgUG9ydC5pc19yZWZlcmVuY2VfaHRtbF9maWxlKGZpbGVzeXN0ZW0sIGRpcm5hbWUsIGZp
bGVuYW1lKToKLSAgICAgICAgICAgICAgICBzZWxmLl9jdXJyZW50X3Rlc3RfYmF0Y2guYXBwZW5k
KHRlc3RfbmFtZSkKLSAgICAgICAgICAgIHJldHVybiBUZXN0RHJpdmVyLnJ1bl90ZXN0KHNlbGYs
IHRlc3RfaW5wdXQsIHN0b3Bfd2hlbl9kb25lKQorZGVmIGdldF90ZXN0X3Jlc3VsdHMoYXJncywg
aG9zdD1Ob25lKToKKyAgICBvcHRpb25zLCBwYXJzZWRfYXJncyA9IHBhcnNlX2FyZ3MoYXJncywg
dGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKIAotICAgIGNsYXNzIFJlY29yZGluZ1Rlc3RQb3J0KFRlc3RQ
b3J0KToKLSAgICAgICAgZGVmIGNyZWF0ZV9kcml2ZXIoc2VsZiwgd29ya2VyX251bWJlcik6Ci0g
ICAgICAgICAgICByZXR1cm4gUmVjb3JkaW5nVGVzdERyaXZlcihzZWxmLCB3b3JrZXJfbnVtYmVy
KQorICAgIGhvc3QgPSBob3N0IG9yIE1vY2tIb3N0KCkKKyAgICBwb3J0X29iaiA9IGhvc3QucG9y
dF9mYWN0b3J5LmdldChwb3J0X25hbWU9b3B0aW9ucy5wbGF0Zm9ybSwgb3B0aW9ucz1vcHRpb25z
KQogCi0gICAgcmVjb3JkaW5nX3BvcnQgPSBSZWNvcmRpbmdUZXN0UG9ydChob3N0LCBvcHRpb25z
PW9wdGlvbnMpCi0gICAgcnVuX2FuZF9jYXB0dXJlKHJlY29yZGluZ19wb3J0LCBvcHRpb25zLCBw
YXJzZWRfYXJncykKKyAgICBvYyA9IG91dHB1dGNhcHR1cmUuT3V0cHV0Q2FwdHVyZSgpCisgICAg
b2MuY2FwdHVyZV9vdXRwdXQoKQorICAgIGxvZ2dpbmdfc3RyZWFtID0gU3RyaW5nSU8uU3RyaW5n
SU8oKQorICAgIHRyeToKKyAgICAgICAgcnVuX2RldGFpbHMgPSBydW5fd2Via2l0X3Rlc3RzLnJ1
bihwb3J0X29iaiwgb3B0aW9ucywgcGFyc2VkX2FyZ3MsIGxvZ2dpbmdfc3RyZWFtPWxvZ2dpbmdf
c3RyZWFtKQorICAgIGZpbmFsbHk6CisgICAgICAgIG9jLnJlc3RvcmVfb3V0cHV0KCkKIAotICAg
IGlmIGZsYXR0ZW5fYmF0Y2hlczoKLSAgICAgICAgcmV0dXJuIGxpc3QoaXRlcnRvb2xzLmNoYWlu
KCp0ZXN0X2JhdGNoZXMpKQorICAgIGFsbF9yZXN1bHRzID0gW10KKyAgICBpZiBydW5fZGV0YWls
cy5yZXN1bHRfc3VtbWFyeToKKyAgICAgICAgYWxsX3Jlc3VsdHMuZXh0ZW5kKHJ1bl9kZXRhaWxz
LnJlc3VsdF9zdW1tYXJ5LmFsbF9yZXN1bHRzKQogCi0gICAgcmV0dXJuIHRlc3RfYmF0Y2hlcwor
ICAgIGlmIHJ1bl9kZXRhaWxzLnJldHJ5X3N1bW1hcnk6CisgICAgICAgIGFsbF9yZXN1bHRzLmV4
dGVuZChydW5fZGV0YWlscy5yZXRyeV9zdW1tYXJ5LmFsbF9yZXN1bHRzKQorICAgIHJldHVybiBh
bGxfcmVzdWx0cwogCiAKICMgVXBkYXRlIHRoaXMgbWFnaWMgbnVtYmVyIGlmIHlvdSBhZGQgYW4g
dW5leHBlY3RlZCB0ZXN0IHRvIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0LnRlc3QKQEAgLTMw
NSw3ICsyOTcsNyBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVz
dGluZ01peGluKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhc3NpbmdfcnVuKCkpCiAKICAg
ICBkZWYgdGVzdF9iYXRjaF9zaXplKHNlbGYpOgotICAgICAgICBiYXRjaF90ZXN0c19ydW4gPSBn
ZXRfdGVzdHNfcnVuKFsnLS1iYXRjaC1zaXplJywgJzInXSkKKyAgICAgICAgYmF0Y2hfdGVzdHNf
cnVuID0gZ2V0X3Rlc3RfYmF0Y2hlcyhbJy0tYmF0Y2gtc2l6ZScsICcyJ10pCiAgICAgICAgIGZv
ciBiYXRjaCBpbiBiYXRjaF90ZXN0c19ydW46CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUo
bGVuKGJhdGNoKSA8PSAyLCAnJXMgaGFkIHRvbyBtYW55IHRlc3RzJyAlICcsICcuam9pbihiYXRj
aCkpCiAKQEAgLTMzOCwxMSArMzMwLDExIEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFu
eShbJ1J1bm5pbmcgMSAnIGluIGxpbmUgZm9yIGxpbmUgaW4gcmVndWxhcl9vdXRwdXQuYnVmbGlz
dF0pKQogCiAgICAgZGVmIHRlc3RfZHJ5cnVuKHNlbGYpOgotICAgICAgICBiYXRjaF90ZXN0c19y
dW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1kcnktcnVuJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoYmF0Y2hfdGVzdHNfcnVuLCBbXSkKKyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1
bihbJy0tZHJ5LXJ1biddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RzX3J1biwgW10p
CiAKLSAgICAgICAgYmF0Y2hfdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy1uJ10pCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmF0Y2hfdGVzdHNfcnVuLCBbXSkKKyAgICAgICAgdGVzdHNf
cnVuID0gZ2V0X3Rlc3RzX3J1bihbJy1uJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVz
dHNfcnVuLCBbXSkKIAogICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbl9yYWlzZWQoc2VsZik6CiAgICAg
ICAgICMgRXhjZXB0aW9ucyByYWlzZWQgYnkgYSB3b3JrZXIgYXJlIHRyZWF0ZWQgZGlmZmVyZW50
bHkgZGVwZW5kaW5nIG9uCkBAIC0zOTQsMzggKzM4NiwzOCBAQCBjbGFzcyBNYWluVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKIAogICAgIGRlZiB0ZXN0X25hdHVy
YWxfb3JkZXIoc2VsZik6CiAgICAgICAgIHRlc3RzX3RvX3J1biA9IFsncGFzc2VzL2F1ZGlvLmh0
bWwnLCAnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL21p
c3NpbmdfdGV4dC5odG1sJywgJ3Bhc3Nlcy9hcmdzLmh0bWwnXQotICAgICAgICB0ZXN0c19ydW4g
PSBnZXRfdGVzdHNfcnVuKFsnLS1vcmRlcj1uYXR1cmFsJ10gKyB0ZXN0c190b19ydW4sIHRlc3Rz
X2luY2x1ZGVkPVRydWUsIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlKQorICAgICAgICB0ZXN0c19ydW4g
PSBnZXRfdGVzdHNfcnVuKFsnLS1vcmRlcj1uYXR1cmFsJ10gKyB0ZXN0c190b19ydW4pCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydmYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX3RleHQuaHRt
bCcsICdmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnLCAncGFzc2VzL2FyZ3MuaHRtbCcsICdw
YXNzZXMvYXVkaW8uaHRtbCddLCB0ZXN0c19ydW4pCiAKICAgICBkZWYgdGVzdF9uYXR1cmFsX29y
ZGVyX3Rlc3Rfc3BlY2lmaWVkX211bHRpcGxlX3RpbWVzKHNlbGYpOgogICAgICAgICB0ZXN0c190
b19ydW4gPSBbJ3Bhc3Nlcy9hcmdzLmh0bWwnLCAncGFzc2VzL2F1ZGlvLmh0bWwnLCAncGFzc2Vz
L2F1ZGlvLmh0bWwnLCAncGFzc2VzL2FyZ3MuaHRtbCddCi0gICAgICAgIHRlc3RzX3J1biA9IGdl
dF90ZXN0c19ydW4oWyctLW9yZGVyPW5hdHVyYWwnXSArIHRlc3RzX3RvX3J1biwgdGVzdHNfaW5j
bHVkZWQ9VHJ1ZSwgZmxhdHRlbl9iYXRjaGVzPVRydWUpCisgICAgICAgIHRlc3RzX3J1biA9IGdl
dF90ZXN0c19ydW4oWyctLW9yZGVyPW5hdHVyYWwnXSArIHRlc3RzX3RvX3J1bikKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChbJ3Bhc3Nlcy9hcmdzLmh0bWwnLCAncGFzc2VzL2FyZ3MuaHRtbCcs
ICdwYXNzZXMvYXVkaW8uaHRtbCcsICdwYXNzZXMvYXVkaW8uaHRtbCddLCB0ZXN0c19ydW4pCiAK
ICAgICBkZWYgdGVzdF9yYW5kb21fb3JkZXIoc2VsZik6CiAgICAgICAgIHRlc3RzX3RvX3J1biA9
IFsncGFzc2VzL2F1ZGlvLmh0bWwnLCAnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywgJ2Zh
aWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfdGV4dC5odG1sJywgJ3Bhc3Nlcy9hcmdzLmh0bWwnXQot
ICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1vcmRlcj1yYW5kb20nXSArIHRl
c3RzX3RvX3J1biwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmxhdHRlbl9iYXRjaGVzPVRydWUpCisg
ICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLW9yZGVyPXJhbmRvbSddICsgdGVz
dHNfdG9fcnVuKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZCh0ZXN0c190b19ydW4p
LCBzb3J0ZWQodGVzdHNfcnVuKSkKIAogICAgIGRlZiB0ZXN0X3JhbmRvbV9vcmRlcl90ZXN0X3Nw
ZWNpZmllZF9tdWx0aXBsZV90aW1lcyhzZWxmKToKICAgICAgICAgdGVzdHNfdG9fcnVuID0gWydw
YXNzZXMvYXJncy5odG1sJywgJ3Bhc3Nlcy9hdWRpby5odG1sJywgJ3Bhc3Nlcy9hdWRpby5odG1s
JywgJ3Bhc3Nlcy9hcmdzLmh0bWwnXQotICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVu
KFsnLS1vcmRlcj1yYW5kb20nXSArIHRlc3RzX3RvX3J1biwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwg
ZmxhdHRlbl9iYXRjaGVzPVRydWUpCisgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4o
WyctLW9yZGVyPXJhbmRvbSddICsgdGVzdHNfdG9fcnVuKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHRlc3RzX3J1bi5jb3VudCgncGFzc2VzL2F1ZGlvLmh0bWwnKSwgMikKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCh0ZXN0c19ydW4uY291bnQoJ3Bhc3Nlcy9hcmdzLmh0bWwnKSwgMikKIAog
ICAgIGRlZiB0ZXN0X25vX29yZGVyKHNlbGYpOgogICAgICAgICB0ZXN0c190b19ydW4gPSBbJ3Bh
c3Nlcy9hdWRpby5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcsICdmYWlsdXJl
cy9leHBlY3RlZC9taXNzaW5nX3RleHQuaHRtbCcsICdwYXNzZXMvYXJncy5odG1sJ10KLSAgICAg
ICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9f
cnVuLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAg
dGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9fcnVu
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RzX3RvX3J1biwgdGVzdHNfcnVuKQogCiAg
ICAgZGVmIHRlc3Rfbm9fb3JkZXJfdGVzdF9zcGVjaWZpZWRfbXVsdGlwbGVfdGltZXMoc2VsZik6
CiAgICAgICAgIHRlc3RzX3RvX3J1biA9IFsncGFzc2VzL2FyZ3MuaHRtbCcsICdwYXNzZXMvYXVk
aW8uaHRtbCcsICdwYXNzZXMvYXVkaW8uaHRtbCcsICdwYXNzZXMvYXJncy5odG1sJ10KLSAgICAg
ICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9f
cnVuLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAg
dGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9fcnVu
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RzX3RvX3J1biwgdGVzdHNfcnVuKQogCiAg
ICAgZGVmIHRlc3Rfbm9fb3JkZXJfd2l0aF9kaXJlY3RvcnlfZW50cmllc19pbl9uYXR1cmFsX29y
ZGVyKHNlbGYpOgogICAgICAgICB0ZXN0c190b19ydW4gPSBbJ2h0dHAvdGVzdHMvc3NsJywgJ3Bl
cmYvZm9vJywgJ2h0dHAvdGVzdHMvcGFzc2VzJ10KLSAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rl
c3RzX3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9fcnVuLCB0ZXN0c19pbmNsdWRlZD1U
cnVlLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3Rz
X3J1bihbJy0tb3JkZXI9bm9uZSddICsgdGVzdHNfdG9fcnVuKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHRlc3RzX3J1biwgWydodHRwL3Rlc3RzL3NzbC90ZXh0Lmh0bWwnLCAncGVyZi9mb28v
dGVzdC5odG1sJywgJ2h0dHAvdGVzdHMvcGFzc2VzL2ltYWdlLmh0bWwnLCAnaHR0cC90ZXN0cy9w
YXNzZXMvdGV4dC5odG1sJ10pCiAKICAgICBkZWYgdGVzdF9nY19iZXR3ZWVuX3Rlc3RzKHNlbGYp
OgpAQCAtNDM5LDQwICs0MzEsMzggQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2Us
IFN0cmVhbVRlc3RpbmdNaXhpbik6CiAKICAgICBkZWYgdGVzdF9yZXBlYXRfZWFjaChzZWxmKToK
ICAgICAgICAgdGVzdHNfdG9fcnVuID0gWydwYXNzZXMvaW1hZ2UuaHRtbCcsICdwYXNzZXMvdGV4
dC5odG1sJ10KLSAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tcmVwZWF0LWVh
Y2gnLCAnMiddICsgdGVzdHNfdG9fcnVuLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVuX2Jh
dGNoZXM9VHJ1ZSkKKyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tcmVwZWF0
LWVhY2gnLCAnMiddICsgdGVzdHNfdG9fcnVuKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRl
c3RzX3J1biwgWydwYXNzZXMvaW1hZ2UuaHRtbCcsICdwYXNzZXMvaW1hZ2UuaHRtbCcsICdwYXNz
ZXMvdGV4dC5odG1sJywgJ3Bhc3Nlcy90ZXh0Lmh0bWwnXSkKIAogICAgIGRlZiB0ZXN0X2lnbm9y
ZV9mbGFnKHNlbGYpOgogICAgICAgICAjIE5vdGUgdGhhdCBwYXNzZXMvaW1hZ2UuaHRtbCBpcyBl
eHBlY3RlZCB0byBiZSBydW4gc2luY2Ugd2Ugc3BlY2lmaWVkIGl0IGRpcmVjdGx5LgotICAgICAg
ICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLWknLCAncGFzc2VzJywgJ3Bhc3Nlcy9pbWFn
ZS5odG1sJ10sIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlLCB0ZXN0c19pbmNsdWRlZD1UcnVlKQorICAg
ICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLWknLCAncGFzc2VzJywgJ3Bhc3Nlcy9p
bWFnZS5odG1sJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ3Bhc3Nlcy90ZXh0Lmh0bWwn
IGluIHRlc3RzX3J1bikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdwYXNzZXMvaW1hZ2UuaHRt
bCcgaW4gdGVzdHNfcnVuKQogCiAgICAgZGVmIHRlc3Rfc2tpcHBlZF9mbGFnKHNlbGYpOgotICAg
ICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsncGFzc2VzJ10sIHRlc3RzX2luY2x1ZGVk
PVRydWUsIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlKQorICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVz
dHNfcnVuKFsncGFzc2VzJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ3Bhc3Nlcy9za2lw
cGVkL3NraXAuaHRtbCcgaW4gdGVzdHNfcnVuKQogICAgICAgICBudW1fdGVzdHNfcnVuX2J5X2Rl
ZmF1bHQgPSBsZW4odGVzdHNfcnVuKQogCiAgICAgICAgICMgQ2hlY2sgdGhhdCBub3RoaW5nIGNo
YW5nZXMgd2hlbiB3ZSBzcGVjaWZ5IHNraXBwZWQ9ZGVmYXVsdC4KLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChsZW4oZ2V0X3Rlc3RzX3J1bihbJy0tc2tpcHBlZD1kZWZhdWx0JywgJ3Bhc3Nlcydd
LCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkpLAorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxlbihnZXRfdGVzdHNfcnVuKFsnLS1za2lwcGVkPWRlZmF1bHQnLCAn
cGFzc2VzJ10pKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtX3Rlc3RzX3J1bl9ieV9k
ZWZhdWx0KQogCiAgICAgICAgICMgTm93IGNoZWNrIHRoYXQgd2UgcnVuIG9uZSBtb3JlIHRlc3Qg
KHRoZSBza2lwcGVkIG9uZSkuCi0gICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyct
LXNraXBwZWQ9aWdub3JlJywgJ3Bhc3NlcyddLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVu
X2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tc2tp
cHBlZD1pZ25vcmUnLCAncGFzc2VzJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgncGFzc2Vz
L3NraXBwZWQvc2tpcC5odG1sJyBpbiB0ZXN0c19ydW4pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwobGVuKHRlc3RzX3J1biksIG51bV90ZXN0c19ydW5fYnlfZGVmYXVsdCArIDEpCiAKICAgICAg
ICAgIyBOb3cgY2hlY2sgdGhhdCB3ZSBvbmx5IHJ1biB0aGUgc2tpcHBlZCB0ZXN0LgotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLXNraXBwZWQ9b25seScsICdwYXNz
ZXMnXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmxhdHRlbl9iYXRjaGVzPVRydWUpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBbJ3Bhc3Nlcy9za2lwcGVkL3NraXAuaHRtbCddKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLXNraXBwZWQ9b25seScsICdwYXNz
ZXMnXSksIFsncGFzc2VzL3NraXBwZWQvc2tpcC5odG1sJ10pCiAKICAgICAgICAgIyBOb3cgY2hl
Y2sgdGhhdCB3ZSBkb24ndCBydW4gYW55dGhpbmcuCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
Z2V0X3Rlc3RzX3J1bihbJy0tc2tpcHBlZD1hbHdheXMnLCAncGFzc2VzL3NraXBwZWQvc2tpcC5o
dG1sJ10sIHRlc3RzX2luY2x1ZGVkPVRydWUsIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rl
c3RzX3J1bihbJy0tc2tpcHBlZD1hbHdheXMnLCAncGFzc2VzL3NraXBwZWQvc2tpcC5odG1sJ10p
LCBbXSkKIAogICAgIGRlZiB0ZXN0X2l0ZXJhdGlvbnMoc2VsZik6CiAgICAgICAgIHRlc3RzX3Rv
X3J1biA9IFsncGFzc2VzL2ltYWdlLmh0bWwnLCAncGFzc2VzL3RleHQuaHRtbCddCi0gICAgICAg
IHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLWl0ZXJhdGlvbnMnLCAnMiddICsgdGVzdHNf
dG9fcnVuLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkKKyAgICAg
ICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0taXRlcmF0aW9ucycsICcyJ10gKyB0ZXN0
c190b19ydW4pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdHNfcnVuLCBbJ3Bhc3Nlcy9p
bWFnZS5odG1sJywgJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCAncGFzc2VzL2ltYWdlLmh0bWwnLCAncGFz
c2VzL3RleHQuaHRtbCddKQogCiAgICAgZGVmIHRlc3RfcmVwZWF0X2VhY2hfaXRlcmF0aW9uc19u
dW1fdGVzdHMoc2VsZik6CkBAIC00ODYsMTMgKzQ3NiwxMyBAQCBjbGFzcyBNYWluVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKIAogICAgIGRlZiB0ZXN0X3J1bl9j
aHVuayhzZWxmKToKICAgICAgICAgIyBUZXN0IHRoYXQgd2UgYWN0dWFsbHkgc2VsZWN0IHRoZSBy
aWdodCBjaHVuawotICAgICAgICBhbGxfdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihmbGF0dGVu
X2JhdGNoZXM9VHJ1ZSkKLSAgICAgICAgY2h1bmtfdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihb
Jy0tcnVuLWNodW5rJywgJzE6NCddLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAgYWxs
X3Rlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWydwYXNzZXMnLCAnZmFpbHVyZXMnXSkKKyAgICAg
ICAgY2h1bmtfdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tcnVuLWNodW5rJywgJzE6NCcs
ICdwYXNzZXMnLCAnZmFpbHVyZXMnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhbGxfdGVz
dHNfcnVuWzQ6OF0sIGNodW5rX3Rlc3RzX3J1bikKIAogICAgICAgICAjIFRlc3QgdGhhdCB3ZSB3
cmFwIGFyb3VuZCBpZiB0aGUgbnVtYmVyIG9mIHRlc3RzIGlzIG5vdCBldmVubHkgZGl2aXNpYmxl
IGJ5IHRoZSBjaHVuayBzaXplCiAgICAgICAgIHRlc3RzX3RvX3J1biA9IFsncGFzc2VzL2Vycm9y
Lmh0bWwnLCAncGFzc2VzL2ltYWdlLmh0bWwnLCAncGFzc2VzL3BsYXRmb3JtX2ltYWdlLmh0bWwn
LCAncGFzc2VzL3RleHQuaHRtbCddCi0gICAgICAgIGNodW5rX3Rlc3RzX3J1biA9IGdldF90ZXN0
c19ydW4oWyctLXJ1bi1jaHVuaycsICcxOjMnXSArIHRlc3RzX3RvX3J1biwgdGVzdHNfaW5jbHVk
ZWQ9VHJ1ZSwgZmxhdHRlbl9iYXRjaGVzPVRydWUpCisgICAgICAgIGNodW5rX3Rlc3RzX3J1biA9
IGdldF90ZXN0c19ydW4oWyctLXJ1bi1jaHVuaycsICcxOjMnXSArIHRlc3RzX3RvX3J1bikKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCAncGFzc2VzL2Vycm9y
Lmh0bWwnLCAncGFzc2VzL2ltYWdlLmh0bWwnXSwgY2h1bmtfdGVzdHNfcnVuKQogCiAgICAgZGVm
IHRlc3RfcnVuX2ZvcmNlKHNlbGYpOgpAQCAtNTA0LDE3ICs0OTQsMTcgQEAgY2xhc3MgTWFpblRl
c3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgZGVmIHRlc3Rf
cnVuX3BhcnQoc2VsZik6CiAgICAgICAgICMgVGVzdCB0aGF0IHdlIGFjdHVhbGx5IHNlbGVjdCB0
aGUgcmlnaHQgcGFydAogICAgICAgICB0ZXN0c190b19ydW4gPSBbJ3Bhc3Nlcy9lcnJvci5odG1s
JywgJ3Bhc3Nlcy9pbWFnZS5odG1sJywgJ3Bhc3Nlcy9wbGF0Zm9ybV9pbWFnZS5odG1sJywgJ3Bh
c3Nlcy90ZXh0Lmh0bWwnXQotICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1y
dW4tcGFydCcsICcxOjInXSArIHRlc3RzX3RvX3J1biwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmxh
dHRlbl9iYXRjaGVzPVRydWUpCisgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyct
LXJ1bi1wYXJ0JywgJzE6MiddICsgdGVzdHNfdG9fcnVuKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKFsncGFzc2VzL2Vycm9yLmh0bWwnLCAncGFzc2VzL2ltYWdlLmh0bWwnXSwgdGVzdHNfcnVu
KQogCiAgICAgICAgICMgVGVzdCB0aGF0IHdlIHdyYXAgYXJvdW5kIGlmIHRoZSBudW1iZXIgb2Yg
dGVzdHMgaXMgbm90IGV2ZW5seSBkaXZpc2libGUgYnkgdGhlIGNodW5rIHNpemUKICAgICAgICAg
IyAoaGVyZSB3ZSBlbmQgdXAgd2l0aCAzIHBhcnRzLCBlYWNoIHdpdGggMiB0ZXN0cywgYW5kIHdl
IG9ubHkgaGF2ZSA0IHRlc3RzIHRvdGFsLCBzbyB0aGUKICAgICAgICAgIyBsYXN0IHBhcnQgcmVw
ZWF0cyB0aGUgZmlyc3QgdHdvIHRlc3RzKS4KLSAgICAgICAgY2h1bmtfdGVzdHNfcnVuID0gZ2V0
X3Rlc3RzX3J1bihbJy0tcnVuLXBhcnQnLCAnMzozJ10gKyB0ZXN0c190b19ydW4sIHRlc3RzX2lu
Y2x1ZGVkPVRydWUsIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlKQorICAgICAgICBjaHVua190ZXN0c19y
dW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1ydW4tcGFydCcsICczOjMnXSArIHRlc3RzX3RvX3J1bikK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ3Bhc3Nlcy9lcnJvci5odG1sJywgJ3Bhc3Nlcy9p
bWFnZS5odG1sJ10sIGNodW5rX3Rlc3RzX3J1bikKIAogICAgIGRlZiB0ZXN0X3J1bl9zaW5nbHko
c2VsZik6Ci0gICAgICAgIGJhdGNoX3Rlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLXJ1bi1z
aW5nbHknXSkKKyAgICAgICAgYmF0Y2hfdGVzdHNfcnVuID0gZ2V0X3Rlc3RfYmF0Y2hlcyhbJy0t
cnVuLXNpbmdseSddKQogICAgICAgICBmb3IgYmF0Y2ggaW4gYmF0Y2hfdGVzdHNfcnVuOgogICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oYmF0Y2gpLCAxLCAnJXMgaGFkIHRvbyBtYW55
IHRlc3RzJyAlICcsICcuam9pbihiYXRjaCkpCiAKQEAgLTUyNCw3ICs1MTQsNyBAQCBjbGFzcyBN
YWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAg
aG9zdCA9IE1vY2tIb3N0KCkKICAgICAgICAgaG9zdC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmls
ZSgnL3RtcC9vdmVycmlkZXMudHh0JywgJ0J1Zyh4KSBwYXNzZXMvaW1hZ2UuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgUGFzcyBdXG4nKQogCi0gICAgICAgIGJhdGNoZXMgPSBnZXRfdGVzdHNfcnVu
KFsnLS1za2lwLWZhaWxpbmctdGVzdHMnLCAnLS1hZGRpdGlvbmFsLWV4cGVjdGF0aW9ucycsICcv
dG1wL292ZXJyaWRlcy50eHQnXSwgaG9zdD1ob3N0KQorICAgICAgICBiYXRjaGVzID0gZ2V0X3Rl
c3RfYmF0Y2hlcyhbJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywgJy0tYWRkaXRpb25hbC1leHBlY3Rh
dGlvbnMnLCAnL3RtcC9vdmVycmlkZXMudHh0J10sIGhvc3Q9aG9zdCkKICAgICAgICAgaGFzX3Bh
c3Nlc190ZXh0ID0gRmFsc2UKICAgICAgICAgZm9yIGJhdGNoIGluIGJhdGNoZXM6CiAgICAgICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKCdmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnIGluIGJh
dGNoKQpAQCAtNTM3LDE5ICs1MjcsMTUgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENh
c2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLCB1
bmV4cGVjdGVkX2ZhaWx1cmVzKQogCiAgICAgZGVmIHRlc3Rfc2luZ2xlX2ZpbGUoc2VsZik6Ci0g
ICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciByZXBsYWNpbmcgbW9yZSBvZiB0aGUg
Z2V0X3Rlc3RzX3J1bigpLXN0eWxlIHRlc3RzCi0gICAgICAgICMgd2l0aCB0ZXN0cyB0aGF0IHJl
YWQgdGhlIHRlc3RzX3J1biogZmlsZXMsIGxpa2UgdGhpcyBvbmUuCi0gICAgICAgIGhvc3QgPSBN
b2NrSG9zdCgpCi0gICAgICAgIHRlc3RzX3J1biA9IHBhc3NpbmdfcnVuKFsncGFzc2VzL3RleHQu
aHRtbCddLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3QpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoaG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKCcvdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvdGVzdHNfcnVuMC50eHQnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bh
c3Nlcy90ZXh0Lmh0bWxcbicpCisgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWydw
YXNzZXMvdGV4dC5odG1sJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdHNfcnVuLCBb
J3Bhc3Nlcy90ZXh0Lmh0bWwnXSkKIAogICAgIGRlZiB0ZXN0X3NpbmdsZV9maWxlX3dpdGhfcHJl
Zml4KHNlbGYpOgotICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnTGF5b3V0VGVz
dHMvcGFzc2VzL3RleHQuaHRtbCddLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVuX2JhdGNo
ZXM9VHJ1ZSkKKyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJ0xheW91dFRlc3Rz
L3Bhc3Nlcy90ZXh0Lmh0bWwnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ3Bhc3Nlcy90
ZXh0Lmh0bWwnXSwgdGVzdHNfcnVuKQogCiAgICAgZGVmIHRlc3Rfc2luZ2xlX3NraXBwZWRfZmls
ZShzZWxmKToKLSAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJ2ZhaWx1cmVzL2V4
cGVjdGVkL2tleWJhb3JkLmh0bWwnXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmxhdHRlbl9iYXRj
aGVzPVRydWUpCisgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWydmYWlsdXJlcy9l
eHBlY3RlZC9rZXliYW9yZC5odG1sJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW10sIHRl
c3RzX3J1bikKIAogICAgIGRlZiB0ZXN0X3N0ZGVycl9pc19zYXZlZChzZWxmKToKQEAgLTU2Miw3
ICs1NDgsNyBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGlu
Z01peGluKToKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKICAgICAgICAgZmlsZW5hbWUgPSAn
L3RtcC9mb28udHh0JwogICAgICAgICBob3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKGZp
bGVuYW1lLCAncGFzc2VzL3RleHQuaHRtbCcpCi0gICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0
c19ydW4oWyctLXRlc3QtbGlzdD0lcycgJSBmaWxlbmFtZV0sIHRlc3RzX2luY2x1ZGVkPVRydWUs
IGZsYXR0ZW5fYmF0Y2hlcz1UcnVlLCBob3N0PWhvc3QpCisgICAgICAgIHRlc3RzX3J1biA9IGdl
dF90ZXN0c19ydW4oWyctLXRlc3QtbGlzdD0lcycgJSBmaWxlbmFtZV0sIGhvc3Q9aG9zdCkKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ3Bhc3Nlcy90ZXh0Lmh0bWwnXSwgdGVzdHNfcnVuKQog
ICAgICAgICBob3N0LmZpbGVzeXN0ZW0ucmVtb3ZlKGZpbGVuYW1lKQogICAgICAgICByZXMsIGVy
ciwgdXNlciA9IGxvZ2dpbmdfcnVuKFsnLS10ZXN0LWxpc3Q9JXMnICUgZmlsZW5hbWVdLCB0ZXN0
c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3QpCkBAIC01NzMsNyArNTU5LDcgQEAgY2xhc3MgTWFp
blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgIGhv
c3QgPSBNb2NrSG9zdCgpCiAgICAgICAgIGZpbGVuYW1lID0gJy90bXAvZm9vLnR4dCcKICAgICAg
ICAgaG9zdC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZShmaWxlbmFtZSwgJ0xheW91dFRlc3Rz
L3Bhc3Nlcy90ZXh0Lmh0bWwnKQotICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsn
LS10ZXN0LWxpc3Q9JXMnICUgZmlsZW5hbWVdLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVu
X2JhdGNoZXM9VHJ1ZSwgaG9zdD1ob3N0KQorICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNf
cnVuKFsnLS10ZXN0LWxpc3Q9JXMnICUgZmlsZW5hbWVdLCBob3N0PWhvc3QpCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoWydwYXNzZXMvdGV4dC5odG1sJ10sIHRlc3RzX3J1bikKIAogICAgIGRl
ZiB0ZXN0X3VuZXhwZWN0ZWRfZmFpbHVyZXMoc2VsZik6CkBAIC02OTIsNTQgKzY3OCwyNCBAQCBj
bGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKIAog
ICAgIGRlZiB0ZXN0X2V4aXRfYWZ0ZXJfbl9mYWlsdXJlcyhzZWxmKToKICAgICAgICAgIyBVbmV4
cGVjdGVkIGZhaWx1cmVzIHNob3VsZCByZXN1bHQgaW4gdGVzdHMgc3RvcHBpbmcuCi0gICAgICAg
IHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWwotICAgICAgICAgICAgICAgICdmYWlsdXJlcy91
bmV4cGVjdGVkL3RleHQtaW1hZ2UtY2hlY2tzdW0uaHRtbCcsCi0gICAgICAgICAgICAgICAgJ3Bh
c3Nlcy90ZXh0Lmh0bWwnLAotICAgICAgICAgICAgICAgICctLWV4aXQtYWZ0ZXItbi1mYWlsdXJl
cycsICcxJywKLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVl
LAotICAgICAgICAgICAgZmxhdHRlbl9iYXRjaGVzPVRydWUpCisgICAgICAgIHRlc3RzX3J1biA9
IGdldF90ZXN0c19ydW4oWydmYWlsdXJlcy91bmV4cGVjdGVkL3RleHQtaW1hZ2UtY2hlY2tzdW0u
aHRtbCcsICdwYXNzZXMvdGV4dC5odG1sJywgJy0tZXhpdC1hZnRlci1uLWZhaWx1cmVzJywgJzEn
XSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvdGV4dC1p
bWFnZS1jaGVja3N1bS5odG1sJ10sIHRlc3RzX3J1bikKIAogICAgICAgICAjIEJ1dCB3ZSdsbCBr
ZWVwIGdvaW5nIGZvciBleHBlY3RlZCBvbmVzLgotICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVz
dHNfcnVuKFsKLSAgICAgICAgICAgICAgICAnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywK
LSAgICAgICAgICAgICAgICAncGFzc2VzL3RleHQuaHRtbCcsCi0gICAgICAgICAgICAgICAgJy0t
ZXhpdC1hZnRlci1uLWZhaWx1cmVzJywgJzEnLAotICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
IHRlc3RzX2luY2x1ZGVkPVRydWUsCi0gICAgICAgICAgICBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkK
KyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJ2ZhaWx1cmVzL2V4cGVjdGVkL3Rl
eHQuaHRtbCcsICdwYXNzZXMvdGV4dC5odG1sJywgJy0tZXhpdC1hZnRlci1uLWZhaWx1cmVzJywg
JzEnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQu
aHRtbCcsICdwYXNzZXMvdGV4dC5odG1sJ10sIHRlc3RzX3J1bikKIAogICAgIGRlZiB0ZXN0X2V4
aXRfYWZ0ZXJfbl9jcmFzaGVzKHNlbGYpOgogICAgICAgICAjIFVuZXhwZWN0ZWQgY3Jhc2hlcyBz
aG91bGQgcmVzdWx0IGluIHRlc3RzIHN0b3BwaW5nLgotICAgICAgICB0ZXN0c19ydW4gPSBnZXRf
dGVzdHNfcnVuKFsKLSAgICAgICAgICAgICAgICAnZmFpbHVyZXMvdW5leHBlY3RlZC9jcmFzaC5o
dG1sJywKLSAgICAgICAgICAgICAgICAncGFzc2VzL3RleHQuaHRtbCcsCi0gICAgICAgICAgICAg
ICAgJy0tZXhpdC1hZnRlci1uLWNyYXNoZXMtb3ItdGltZW91dHMnLCAnMScsCi0gICAgICAgICAg
ICBdLAotICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwKLSAgICAgICAgICAgIGZsYXR0
ZW5fYmF0Y2hlcz1UcnVlKQorICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnZmFp
bHVyZXMvdW5leHBlY3RlZC9jcmFzaC5odG1sJywgJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCAnLS1leGl0
LWFmdGVyLW4tY3Jhc2hlcy1vci10aW1lb3V0cycsICcxJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoWydmYWlsdXJlcy91bmV4cGVjdGVkL2NyYXNoLmh0bWwnXSwgdGVzdHNfcnVuKQogCiAg
ICAgICAgICMgU2FtZSB3aXRoIHRpbWVvdXRzLgotICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVz
dHNfcnVuKFsKLSAgICAgICAgICAgICAgICAnZmFpbHVyZXMvdW5leHBlY3RlZC90aW1lb3V0Lmh0
bWwnLAotICAgICAgICAgICAgICAgICdwYXNzZXMvdGV4dC5odG1sJywKLSAgICAgICAgICAgICAg
ICAnLS1leGl0LWFmdGVyLW4tY3Jhc2hlcy1vci10aW1lb3V0cycsICcxJywKLSAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLAotICAgICAgICAgICAgZmxhdHRl
bl9iYXRjaGVzPVRydWUpCisgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWydmYWls
dXJlcy91bmV4cGVjdGVkL3RpbWVvdXQuaHRtbCcsICdwYXNzZXMvdGV4dC5odG1sJywgJy0tZXhp
dC1hZnRlci1uLWNyYXNoZXMtb3ItdGltZW91dHMnLCAnMSddKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKFsnZmFpbHVyZXMvdW5leHBlY3RlZC90aW1lb3V0Lmh0bWwnXSwgdGVzdHNfcnVuKQog
CiAgICAgICAgICMgQnV0IHdlJ2xsIGtlZXAgZ29pbmcgZm9yIGV4cGVjdGVkIG9uZXMuCi0gICAg
ICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWwotICAgICAgICAgICAgICAgICdmYWlsdXJl
cy9leHBlY3RlZC9jcmFzaC5odG1sJywKLSAgICAgICAgICAgICAgICAncGFzc2VzL3RleHQuaHRt
bCcsCi0gICAgICAgICAgICAgICAgJy0tZXhpdC1hZnRlci1uLWNyYXNoZXMtb3ItdGltZW91dHMn
LCAnMScsCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwK
LSAgICAgICAgICAgIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlKQorICAgICAgICB0ZXN0c19ydW4gPSBn
ZXRfdGVzdHNfcnVuKFsnZmFpbHVyZXMvZXhwZWN0ZWQvY3Jhc2guaHRtbCcsICdwYXNzZXMvdGV4
dC5odG1sJywgJy0tZXhpdC1hZnRlci1uLWNyYXNoZXMtb3ItdGltZW91dHMnLCAnMSddKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKFsnZmFpbHVyZXMvZXhwZWN0ZWQvY3Jhc2guaHRtbCcsICdw
YXNzZXMvdGV4dC5odG1sJ10sIHRlc3RzX3J1bikKIAogICAgIGRlZiB0ZXN0X3Jlc3VsdHNfZGly
ZWN0b3J5X2Fic29sdXRlKHNlbGYpOgpAQCAtNzkxLDEwICs3NDcsMTAgQEAgY2xhc3MgTWFpblRl
c3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgICMgVGhl
c2UgbmV4dCB0ZXN0cyB0ZXN0IHRoYXQgd2UgcnVuIHRoZSB0ZXN0cyBpbiBhc2NlbmRpbmcgYWxw
aGFiZXRpY2FsCiAgICAgICAgICMgb3JkZXIgcGVyIGRpcmVjdG9yeS4gSFRUUCB0ZXN0cyBhcmUg
c2hhcmRlZCBzZXBhcmF0ZWx5IGZyb20gb3RoZXIgdGVzdHMsCiAgICAgICAgICMgc28gd2UgaGF2
ZSB0byB0ZXN0IGJvdGguCi0gICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctaScs
ICdwYXNzZXMvcGFzc2VzJywgJ3Bhc3NlcyddLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVu
X2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy1pJywg
J3Bhc3Nlcy9wYXNzZXMnLCAncGFzc2VzJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVz
dHNfcnVuLCBzb3J0ZWQodGVzdHNfcnVuKSkKIAotICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVz
dHNfcnVuKFsnaHR0cC90ZXN0cy9wYXNzZXMnXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmxhdHRl
bl9iYXRjaGVzPVRydWUpCisgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWydodHRw
L3Rlc3RzL3Bhc3NlcyddKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RzX3J1biwgc29y
dGVkKHRlc3RzX3J1bikpCiAKICAgICBkZWYgdGVzdF90b2xlcmFuY2Uoc2VsZik6CkBAIC04Mjks
MzAgKzc4NSwzMCBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVz
dGluZ01peGluKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmlydHVh
bC9wYXNzZXMvdGV4dC5odG1sJywgJ3ZpcnR1YWwvcGFzc2VzL2FyZ3MuaHRtbCddKSkKIAogICAg
IGRlZiB0ZXN0X3JlZnRlc3RfcnVuKHNlbGYpOgotICAgICAgICB0ZXN0c19ydW4gPSBnZXRfdGVz
dHNfcnVuKFsncGFzc2VzL3JlZnRlc3QuaHRtbCddLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0
dGVuX2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJ3Bh
c3Nlcy9yZWZ0ZXN0Lmh0bWwnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ3Bhc3Nlcy9y
ZWZ0ZXN0Lmh0bWwnXSwgdGVzdHNfcnVuKQogCiAgICAgZGVmIHRlc3RfcmVmdGVzdF9ydW5fcmVm
dGVzdHNfaWZfcGl4ZWxfdGVzdHNfYXJlX2Rpc2FibGVkKHNlbGYpOgotICAgICAgICB0ZXN0c19y
dW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1uby1waXhlbC10ZXN0cycsICdwYXNzZXMvcmVmdGVzdC5o
dG1sJ10sIHRlc3RzX2luY2x1ZGVkPVRydWUsIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlKQorICAgICAg
ICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1uby1waXhlbC10ZXN0cycsICdwYXNzZXMv
cmVmdGVzdC5odG1sJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydwYXNzZXMvcmVmdGVz
dC5odG1sJ10sIHRlc3RzX3J1bikKIAogICAgIGRlZiB0ZXN0X3JlZnRlc3Rfc2tpcF9yZWZ0ZXN0
c19pZl9ub19yZWZfdGVzdHMoc2VsZik6Ci0gICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19y
dW4oWyctLW5vLXJlZi10ZXN0cycsICdwYXNzZXMvcmVmdGVzdC5odG1sJ10sIHRlc3RzX2luY2x1
ZGVkPVRydWUsIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlKQorICAgICAgICB0ZXN0c19ydW4gPSBnZXRf
dGVzdHNfcnVuKFsnLS1uby1yZWYtdGVzdHMnLCAncGFzc2VzL3JlZnRlc3QuaHRtbCddKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKFtdLCB0ZXN0c19ydW4pCi0gICAgICAgIHRlc3RzX3J1biA9
IGdldF90ZXN0c19ydW4oWyctLW5vLXJlZi10ZXN0cycsICctLW5vLXBpeGVsLXRlc3RzJywgJ3Bh
c3Nlcy9yZWZ0ZXN0Lmh0bWwnXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgZmxhdHRlbl9iYXRjaGVz
PVRydWUpCisgICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLW5vLXJlZi10ZXN0
cycsICctLW5vLXBpeGVsLXRlc3RzJywgJ3Bhc3Nlcy9yZWZ0ZXN0Lmh0bWwnXSkKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChbXSwgdGVzdHNfcnVuKQogCiAgICAgZGVmIHRlc3RfcmVmdGVzdF9l
eHBlY3RlZF9odG1sX3Nob3VsZF9iZV9pZ25vcmVkKHNlbGYpOgotICAgICAgICB0ZXN0c19ydW4g
PSBnZXRfdGVzdHNfcnVuKFsncGFzc2VzL3JlZnRlc3QtZXhwZWN0ZWQuaHRtbCddLCB0ZXN0c19p
bmNsdWRlZD1UcnVlLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAgdGVzdHNfcnVuID0g
Z2V0X3Rlc3RzX3J1bihbJ3Bhc3Nlcy9yZWZ0ZXN0LWV4cGVjdGVkLmh0bWwnXSkKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChbXSwgdGVzdHNfcnVuKQogCiAgICAgZGVmIHRlc3RfcmVmdGVzdF9k
cml2ZXJfc2hvdWxkX3J1bl9leHBlY3RlZF9odG1sKHNlbGYpOgotICAgICAgICB0ZXN0c19ydW4g
PSBnZXRfdGVzdHNfcnVuKFsncGFzc2VzL3JlZnRlc3QuaHRtbCddLCB0ZXN0c19pbmNsdWRlZD1U
cnVlLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSwgaW5jbHVkZV9yZWZlcmVuY2VfaHRtbD1UcnVlKQot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsncGFzc2VzL3JlZnRlc3QuaHRtbCcsICdwYXNzZXMv
cmVmdGVzdC1leHBlY3RlZC5odG1sJ10sIHRlc3RzX3J1bikKKyAgICAgICAgdGVzdHNfcnVuID0g
Z2V0X3Rlc3RfcmVzdWx0cyhbJ3Bhc3Nlcy9yZWZ0ZXN0Lmh0bWwnXSkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCh0ZXN0c19ydW5bMF0ucmVmZXJlbmNlcywgWydwYXNzZXMvcmVmdGVzdC1leHBl
Y3RlZC5odG1sJ10pCiAKICAgICBkZWYgdGVzdF9yZWZ0ZXN0X2RyaXZlcl9zaG91bGRfcnVuX2V4
cGVjdGVkX21pc21hdGNoX2h0bWwoc2VsZik6Ci0gICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0
c19ydW4oWydwYXNzZXMvbWlzbWF0Y2guaHRtbCddLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0
dGVuX2JhdGNoZXM9VHJ1ZSwgaW5jbHVkZV9yZWZlcmVuY2VfaHRtbD1UcnVlKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKFsncGFzc2VzL21pc21hdGNoLmh0bWwnLCAncGFzc2VzL21pc21hdGNo
LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwnXSwgdGVzdHNfcnVuKQorICAgICAgICB0ZXN0c19ydW4g
PSBnZXRfdGVzdF9yZXN1bHRzKFsncGFzc2VzL21pc21hdGNoLmh0bWwnXSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCh0ZXN0c19ydW5bMF0ucmVmZXJlbmNlcywgWydwYXNzZXMvbWlzbWF0Y2gt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCddKQogCiAgICAgZGVmIHRlc3RfcmVmdGVzdF9zaG91bGRf
bm90X3VzZV9uYW1pbmdfY29udmVudGlvbl9pZl9ub3RfbGlzdGVkX2luX3JlZnRlc3RsaXN0KHNl
bGYpOgogICAgICAgICBob3N0ID0gTW9ja0hvc3QoKQpAQCAtODg1LDIwICs4NDEsMjAgQEAgY2xh
c3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAg
ICAgIHJldHVybiBbdGVzdCBmb3IgdGVzdCBpbiB0ZXN0cyBpZiB0eXBlIGluIHRlc3RdCiAKICAg
ICBkZWYgdGVzdF9ub19odHRwX3Rlc3RzKHNlbGYpOgotICAgICAgICBiYXRjaF90ZXN0c19kcnly
dW4gPSBnZXRfdGVzdHNfcnVuKFsnTGF5b3V0VGVzdHMvaHR0cCcsICd3ZWJzb2NrZXQvJ10sIGZs
YXR0ZW5fYmF0Y2hlcz1UcnVlKQorICAgICAgICBiYXRjaF90ZXN0c19kcnlydW4gPSBnZXRfdGVz
dHNfcnVuKFsnTGF5b3V0VGVzdHMvaHR0cCcsICd3ZWJzb2NrZXQvJ10pCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShNYWluVGVzdC5oYXNfdGVzdF9vZl90eXBlKGJhdGNoX3Rlc3RzX2RyeXJ1biwg
J2h0dHAnKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKE1haW5UZXN0Lmhhc190ZXN0X29mX3R5
cGUoYmF0Y2hfdGVzdHNfZHJ5cnVuLCAnd2Vic29ja2V0JykpCiAKLSAgICAgICAgYmF0Y2hfdGVz
dHNfcnVuX25vX2h0dHAgPSBnZXRfdGVzdHNfcnVuKFsnLS1uby1odHRwJywgJ0xheW91dFRlc3Rz
L2h0dHAnLCAnd2Vic29ja2V0LyddLCBmbGF0dGVuX2JhdGNoZXM9VHJ1ZSkKKyAgICAgICAgYmF0
Y2hfdGVzdHNfcnVuX25vX2h0dHAgPSBnZXRfdGVzdHNfcnVuKFsnLS1uby1odHRwJywgJ0xheW91
dFRlc3RzL2h0dHAnLCAnd2Vic29ja2V0LyddKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKE1h
aW5UZXN0Lmhhc190ZXN0X29mX3R5cGUoYmF0Y2hfdGVzdHNfcnVuX25vX2h0dHAsICdodHRwJykp
CiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoTWFpblRlc3QuaGFzX3Rlc3Rfb2ZfdHlwZShiYXRj
aF90ZXN0c19ydW5fbm9faHR0cCwgJ3dlYnNvY2tldCcpKQogCi0gICAgICAgIGJhdGNoX3Rlc3Rz
X3J1bl9odHRwID0gZ2V0X3Rlc3RzX3J1bihbJy0taHR0cCcsICdMYXlvdXRUZXN0cy9odHRwJywg
J3dlYnNvY2tldC8nXSwgZmxhdHRlbl9iYXRjaGVzPVRydWUpCisgICAgICAgIGJhdGNoX3Rlc3Rz
X3J1bl9odHRwID0gZ2V0X3Rlc3RzX3J1bihbJy0taHR0cCcsICdMYXlvdXRUZXN0cy9odHRwJywg
J3dlYnNvY2tldC8nXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKE1haW5UZXN0Lmhhc190ZXN0
X29mX3R5cGUoYmF0Y2hfdGVzdHNfcnVuX2h0dHAsICdodHRwJykpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShNYWluVGVzdC5oYXNfdGVzdF9vZl90eXBlKGJhdGNoX3Rlc3RzX3J1bl9odHRwLCAn
d2Vic29ja2V0JykpCiAKICAgICBkZWYgdGVzdF9wbGF0Zm9ybV90ZXN0c19hcmVfZm91bmQoc2Vs
Zik6Ci0gICAgICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLXBsYXRmb3JtJywgJ3Rl
c3QtbWFjLWxlb3BhcmQnLCAnaHR0cCddLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBmbGF0dGVuX2Jh
dGNoZXM9VHJ1ZSkKKyAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0tcGxhdGZv
cm0nLCAndGVzdC1tYWMtbGVvcGFyZCcsICdodHRwJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZSgncGxhdGZvcm0vdGVzdC1tYWMtbGVvcGFyZC9odHRwL3Rlc3QuaHRtbCcgaW4gdGVzdHNfcnVu
KQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCdwbGF0Zm9ybS90ZXN0LXdpbi13aW43L2h0dHAv
dGVzdC5odG1sJyBpbiB0ZXN0c19ydW4pCiAK
</data>
<flag name="review"
          id="194157"
          type_id="1"
          status="+"
          setter="ojan"
    />
    <flag name="commit-queue"
          id="194160"
          type_id="3"
          status="-"
          setter="gtk-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>