<?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>83847</bug_id>
          
          <creation_ts>2012-04-12 18:38:42 -0700</creation_ts>
          <short_desc>Extract PerfTest class from PerfTestRunner</short_desc>
          <delta_ts>2012-04-12 20:11:28 -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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77037</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>601728</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-12 18:38:42 -0700</bug_when>
    <thetext>Extract PerfTest class from PerfTestRunner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601738</commentid>
    <comment_count>1</comment_count>
      <attachid>137020</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-12 18:48:28 -0700</bug_when>
    <thetext>Created attachment 137020
Extract PerfTest class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601747</commentid>
    <comment_count>2</comment_count>
      <attachid>137020</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-04-12 18:56:47 -0700</bug_when>
    <thetext>Comment on attachment 137020
Extract PerfTest class

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

&gt; Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py:301
&gt; +        return True if new_results else False

It looks you can just new_results != None.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601786</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-12 20:11:28 -0700</bug_when>
    <thetext>Committed r114076: &lt;http://trac.webkit.org/changeset/114076&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137020</attachid>
            <date>2012-04-12 18:48:28 -0700</date>
            <delta_ts>2012-04-12 18:56:47 -0700</delta_ts>
            <desc>Extract PerfTest class</desc>
            <filename>bug-83847-20120412184827.patch</filename>
            <type>text/plain</type>
            <size>20291</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExNDA2OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ0IEBACisyMDEyLTA0LTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIEV4dHJhY3QgUGVyZlRlc3QgY2xhc3MgZnJvbSBQZXJmVGVzdFJ1bm5lcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4NDcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRyYWN0ZWQgUGVy
ZlRlc3QgYW5kIENocm9taXVtU3R5bGVQZXJmVGVzdCBmcm9tIFBlcmZUZXN0UnVubmVyLiBUaGlz
IGNsYXNzIGFic3RyYWN0cyBhIHRlc3QKKyAgICAgICAgdGhhdCB3YXMgcHJldmlvdXNseSByZXBy
ZXNlbnRlZCBieSBhIHR1cGxlLgorCisgICAgICAgIEFsc28gbW92ZWQgdGhlIGxvZ2ljIHRvIGRl
dGVybWluZSB3aGV0aGVyIGEgZ2l2ZW4gdGVzdCBpcyBjaHJvbWl1bSBzdHlsZSBvciBub3QgZnJv
bSBydW4oKSB0bworICAgICAgICBfY29sbGVjdF90ZXN0cygpLiBBbmQgbW92ZWQgdGhlIG91dHB1
dCBwYXJzaW5nIGFsZ29yaXRobXMgZm9yIHBhcnNlciBzdHlsZSBhbmQgY2hyb21pdW0gc3R5bGUK
KyAgICAgICAgdGVzdHMgZnJvbSBQZXJmVGVzdFJ1bm5lciB0byBQZXJmVGVzdCBhbmQgQ2hyb21p
dW1TdHlsZVBlcmZUZXN0IHJlc3BlY3RpdmVseSBzbyB0aGF0IHdlIG1heQorICAgICAgICBhZGQg
bmV3IHR5cGVzIG9mIHRlc3RzIG1vcmUgZWFzaWx5LgorCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdC5weTogQWRkZWQuCisgICAgICAgIChQZXJm
VGVzdCk6CisgICAgICAgIChQZXJmVGVzdC5fX2luaXRfXyk6CisgICAgICAgIChQZXJmVGVzdC50
ZXN0X25hbWUpOgorICAgICAgICAoUGVyZlRlc3QuZGlybmFtZSk6CisgICAgICAgIChQZXJmVGVz
dC5wYXRoX29yX3VybCk6CisgICAgICAgIChQZXJmVGVzdC5fc2hvdWxkX2lnbm9yZV9saW5lX2lu
X3BhcnNlcl90ZXN0X3Jlc3VsdCk6CisgICAgICAgIChQZXJmVGVzdC5wYXJzZV9vdXRwdXQpOgor
ICAgICAgICAoQ2hyb21pdW1TdHlsZVBlcmZUZXN0KToKKyAgICAgICAgKENocm9taXVtU3R5bGVQ
ZXJmVGVzdC5fX2luaXRfXyk6CisgICAgICAgIChDaHJvbWl1bVN0eWxlUGVyZlRlc3QucGFyc2Vf
b3V0cHV0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3Bl
cmZ0ZXN0c3J1bm5lci5weToKKyAgICAgICAgKFBlcmZUZXN0c1J1bm5lci5fY29sbGVjdF90ZXN0
cyk6CisgICAgICAgIChQZXJmVGVzdHNSdW5uZXIucnVuKToKKyAgICAgICAgKFBlcmZUZXN0c1J1
bm5lci5fcnVuX3Rlc3RzX3NldCk6CisgICAgICAgIChQZXJmVGVzdHNSdW5uZXIuX3J1bl9zaW5n
bGVfdGVzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9w
ZXJmdGVzdHNydW5uZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChydW5fdGVzdCk6CisgICAgICAg
IChfdGVzdHNfZm9yX3J1bm5lcik6CisgICAgICAgICh0ZXN0X3J1bl90ZXN0X3NldF93aXRoX2pz
b25fb3V0cHV0KToKKyAgICAgICAgKHRlc3RfcnVuX3Rlc3Rfc2V0X3dpdGhfanNvbl9zb3VyY2Up
OgorICAgICAgICAodGVzdF9ydW5fdGVzdF9zZXRfd2l0aF9tdWx0aXBsZV9yZXBvc2l0b3JpZXMp
OgorICAgICAgICAoX2NvbGxlY3RfdGVzdHNfYW5kX3NvcnRfdGVzdF9uYW1lKToKKyAgICAgICAg
KHRlc3RfY29sbGVjdF90ZXN0cyk6CisgICAgICAgICh0ZXN0X2NvbGxlY3RfdGVzdHNfd2l0aF9z
a2lwcGVkX2xpc3QpOgorCiAyMDEyLTA0LTEyICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbUXRdIEZpeCBXZWJLaXQxIGJ1aWxkIHdpdGggVjgKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3QucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJm
dGVzdC5weQkocmV2aXNpb24gMCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFu
Y2VfdGVzdHMvcGVyZnRlc3QucHkJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTE4IEBACisjIS91
c3IvYmluL2VudiBweXRob24KKyMgQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoK
KyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2ltcG9ydCByZQorCisKK2Ns
YXNzIFBlcmZUZXN0KG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfbmFtZSwg
ZGlybmFtZSwgcGF0aF9vcl91cmwpOgorICAgICAgICBzZWxmLl90ZXN0X25hbWUgPSB0ZXN0X25h
bWUKKyAgICAgICAgc2VsZi5fZGlybmFtZSA9IGRpcm5hbWUKKyAgICAgICAgc2VsZi5fcGF0aF9v
cl91cmwgPSBwYXRoX29yX3VybAorCisgICAgZGVmIHRlc3RfbmFtZShzZWxmKToKKyAgICAgICAg
cmV0dXJuIHNlbGYuX3Rlc3RfbmFtZQorCisgICAgZGVmIGRpcm5hbWUoc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLl9kaXJuYW1lCisKKyAgICBkZWYgcGF0aF9vcl91cmwoc2VsZik6CisgICAg
ICAgIHJldHVybiBzZWxmLl9wYXRoX29yX3VybAorCisgICAgX2xpbmVzX3RvX2lnbm9yZV9pbl9w
YXJzZXJfcmVzdWx0ID0gWworICAgICAgICByZS5jb21waWxlKHInXlJ1bm5pbmcgXGQrIHRpbWVz
JCcpLAorICAgICAgICByZS5jb21waWxlKHInXklnbm9yaW5nIHdhcm0tdXAgJyksCisgICAgICAg
IHJlLmNvbXBpbGUocideSW5mbzonKSwKKyAgICAgICAgcmUuY29tcGlsZShyJ15cZCsoLlxkKyk/
JCcpLAorICAgICAgICAjIEZvbGxvd2luZyBhcmUgZm9yIGhhbmRsZSBleGlzdGluZyB0ZXN0IGxp
a2UgRHJvbWFlbworICAgICAgICByZS5jb21waWxlKHJlLmVzY2FwZSgiIiJtYWluIGZyYW1lIC0g
aGFzIDEgb251bmxvYWQgaGFuZGxlcihzKSIiIikpLAorICAgICAgICByZS5jb21waWxlKHJlLmVz
Y2FwZSgiIiJmcmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4iIC0gaGFzIDEg
b251bmxvYWQgaGFuZGxlcihzKSIiIikpLAorICAgICAgICByZS5jb21waWxlKHJlLmVzY2FwZSgi
IiJmcmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4vPCEtLWZyYW1lMC0tPi0tPiIg
LSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpIiIiKSldCisKKyAgICBkZWYgX3Nob3VsZF9pZ25v
cmVfbGluZV9pbl9wYXJzZXJfdGVzdF9yZXN1bHQoc2VsZiwgbGluZSk6CisgICAgICAgIGlmIG5v
dCBsaW5lOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZm9yIHJlZ2V4IGluIHNl
bGYuX2xpbmVzX3RvX2lnbm9yZV9pbl9wYXJzZXJfcmVzdWx0OgorICAgICAgICAgICAgaWYgcmVn
ZXguc2VhcmNoKGxpbmUpOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJl
dHVybiBGYWxzZQorCisgICAgZGVmIHBhcnNlX291dHB1dChzZWxmLCBvdXRwdXQsIHByaW50ZXIs
IGJ1aWxkYm90X291dHB1dCk6CisgICAgICAgIGdvdF9hX3Jlc3VsdCA9IEZhbHNlCisgICAgICAg
IHRlc3RfZmFpbGVkID0gRmFsc2UKKyAgICAgICAgcmVzdWx0cyA9IHt9CisgICAgICAgIGtleXMg
PSBbJ2F2ZycsICdtZWRpYW4nLCAnc3RkZXYnLCAnbWluJywgJ21heCddCisgICAgICAgIHNjb3Jl
X3JlZ2V4ID0gcmUuY29tcGlsZShyJ14oP1A8a2V5PicgKyByJ3wnLmpvaW4oa2V5cykgKyByJylc
cysoP1A8dmFsdWU+WzAtOVwuXSspXHMqKD9QPHVuaXQ+LiopJykKKyAgICAgICAgdW5pdCA9ICJt
cyIKKworICAgICAgICBmb3IgbGluZSBpbiByZS5zcGxpdCgnXG4nLCBvdXRwdXQudGV4dCk6Cisg
ICAgICAgICAgICBzY29yZSA9IHNjb3JlX3JlZ2V4Lm1hdGNoKGxpbmUpCisgICAgICAgICAgICBp
ZiBzY29yZToKKyAgICAgICAgICAgICAgICByZXN1bHRzW3Njb3JlLmdyb3VwKCdrZXknKV0gPSBm
bG9hdChzY29yZS5ncm91cCgndmFsdWUnKSkKKyAgICAgICAgICAgICAgICBpZiBzY29yZS5ncm91
cCgndW5pdCcpOgorICAgICAgICAgICAgICAgICAgICB1bml0ID0gc2NvcmUuZ3JvdXAoJ3VuaXQn
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9z
aG91bGRfaWdub3JlX2xpbmVfaW5fcGFyc2VyX3Rlc3RfcmVzdWx0KGxpbmUpOgorICAgICAgICAg
ICAgICAgIHRlc3RfZmFpbGVkID0gVHJ1ZQorICAgICAgICAgICAgICAgIHByaW50ZXIud3JpdGUo
IiVzIiAlIGxpbmUpCisKKyAgICAgICAgaWYgdGVzdF9mYWlsZWQgb3Igc2V0KGtleXMpICE9IHNl
dChyZXN1bHRzLmtleXMoKSk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHJl
c3VsdHNbJ3VuaXQnXSA9IHVuaXQKKworICAgICAgICB0ZXN0X25hbWUgPSByZS5zdWIocidcLlx3
KyQnLCAnJywgc2VsZi5fdGVzdF9uYW1lKQorICAgICAgICBidWlsZGJvdF9vdXRwdXQud3JpdGUo
J1JFU1VMVCAlcz0gJXMgJXNcbicgJSAodGVzdF9uYW1lLnJlcGxhY2UoJy8nLCAnOiAnKSwgcmVz
dWx0c1snYXZnJ10sIHVuaXQpKQorICAgICAgICBidWlsZGJvdF9vdXRwdXQud3JpdGUoJywgJy5q
b2luKFsnJXM9ICVzICVzJyAlIChrZXksIHJlc3VsdHNba2V5XSwgdW5pdCkgZm9yIGtleSBpbiBr
ZXlzWzE6XV0pICsgJ1xuJykKKworICAgICAgICByZXR1cm4ge3Rlc3RfbmFtZTogcmVzdWx0c30K
KworCitjbGFzcyBDaHJvbWl1bVN0eWxlUGVyZlRlc3QoUGVyZlRlc3QpOgorICAgIF9jaHJvbWl1
bV9zdHlsZV9yZXN1bHRfcmVnZXggPSByZS5jb21waWxlKHInXlJFU1VMVFxzKyg/UDxuYW1lPlte
PV0rKVxzKj1ccysoP1A8dmFsdWU+XGQrKFwuXGQrKT8pXHMqKD9QPHVuaXQ+XHcrKSQnKQorCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfbmFtZSwgZGlybmFtZSwgcGF0aF9vcl91cmwpOgor
ICAgICAgICBzdXBlcihDaHJvbWl1bVN0eWxlUGVyZlRlc3QsIHNlbGYpLl9faW5pdF9fKHRlc3Rf
bmFtZSwgZGlybmFtZSwgcGF0aF9vcl91cmwpCisKKyAgICBkZWYgcGFyc2Vfb3V0cHV0KHNlbGYs
IG91dHB1dCwgcHJpbnRlciwgYnVpbGRib3Rfb3V0cHV0KToKKyAgICAgICAgdGVzdF9mYWlsZWQg
PSBGYWxzZQorICAgICAgICBnb3RfYV9yZXN1bHQgPSBGYWxzZQorICAgICAgICByZXN1bHRzID0g
e30KKyAgICAgICAgZm9yIGxpbmUgaW4gcmUuc3BsaXQoJ1xuJywgb3V0cHV0LnRleHQpOgorICAg
ICAgICAgICAgcmVzdWx0TGluZSA9IENocm9taXVtU3R5bGVQZXJmVGVzdC5fY2hyb21pdW1fc3R5
bGVfcmVzdWx0X3JlZ2V4Lm1hdGNoKGxpbmUpCisgICAgICAgICAgICBpZiByZXN1bHRMaW5lOgor
ICAgICAgICAgICAgICAgICMgRklYTUU6IFN0b3JlIHRoZSB1bml0CisgICAgICAgICAgICAgICAg
cmVzdWx0c1tzZWxmLnRlc3RfbmFtZSgpICsgJzonICsgcmVzdWx0TGluZS5ncm91cCgnbmFtZScp
LnJlcGxhY2UoJyAnLCAnJyldID0gZmxvYXQocmVzdWx0TGluZS5ncm91cCgndmFsdWUnKSkKKyAg
ICAgICAgICAgICAgICBidWlsZGJvdF9vdXRwdXQud3JpdGUoIiVzXG4iICUgbGluZSkKKyAgICAg
ICAgICAgIGVsaWYgbm90IGxlbihsaW5lKSA9PSAwOgorICAgICAgICAgICAgICAgIHRlc3RfZmFp
bGVkID0gVHJ1ZQorICAgICAgICAgICAgICAgIHByaW50ZXIud3JpdGUoIiVzIiAlIGxpbmUpCisg
ICAgICAgIHJldHVybiByZXN1bHRzIGlmIG5vdCB0ZXN0X2ZhaWxlZCBlbHNlIE5vbmUKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVy
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVz
dHMvcGVyZnRlc3RzcnVubmVyLnB5CShyZXZpc2lvbiAxMTM5MjIpCisrKyBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lci5weQkod29ya2luZyBj
b3B5KQpAQCAtNDEsNiArNDEsOCBAQCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5ob3N0IGltcG9ydCBI
b3N0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuZmlsZV91cGxvYWRlciBpbXBvcnQgRmlsZVVw
bG9hZGVyCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0LmRyaXZlciBpbXBvcnQgRHJp
dmVySW5wdXQKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzIGltcG9ydCBwcmludGlu
ZworZnJvbSB3ZWJraXRweS5wZXJmb3JtYW5jZV90ZXN0cy5wZXJmdGVzdCBpbXBvcnQgQ2hyb21p
dW1TdHlsZVBlcmZUZXN0Citmcm9tIHdlYmtpdHB5LnBlcmZvcm1hbmNlX3Rlc3RzLnBlcmZ0ZXN0
IGltcG9ydCBQZXJmVGVzdAogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAK
QEAgLTExMiwyMSArMTE0LDI5IEBAIGNsYXNzIFBlcmZUZXN0c1J1bm5lcihvYmplY3QpOgogICAg
ICAgICBkZWYgX2lzX3Rlc3RfZmlsZShmaWxlc3lzdGVtLCBkaXJuYW1lLCBmaWxlbmFtZSk6CiAg
ICAgICAgICAgICByZXR1cm4gZmlsZW5hbWUuZW5kc3dpdGgoJy5odG1sJykKIAorICAgICAgICBm
aWxlc3lzdGVtID0gc2VsZi5faG9zdC5maWxlc3lzdGVtCisKICAgICAgICAgcGF0aHMgPSBbXQog
ICAgICAgICBmb3IgYXJnIGluIHNlbGYuX2FyZ3M6CiAgICAgICAgICAgICBwYXRocy5hcHBlbmQo
YXJnKQotICAgICAgICAgICAgcmVscGF0aCA9IHNlbGYuX2hvc3QuZmlsZXN5c3RlbS5yZWxwYXRo
KGFyZywgc2VsZi5fYmFzZV9wYXRoKQorICAgICAgICAgICAgcmVscGF0aCA9IGZpbGVzeXN0ZW0u
cmVscGF0aChhcmcsIHNlbGYuX2Jhc2VfcGF0aCkKICAgICAgICAgICAgIGlmIHJlbHBhdGg6CiAg
ICAgICAgICAgICAgICAgcGF0aHMuYXBwZW5kKHJlbHBhdGgpCiAKICAgICAgICAgc2tpcHBlZF9k
aXJlY3RvcmllcyA9IHNldChbJy5zdm4nLCAncmVzb3VyY2VzJ10pCi0gICAgICAgIHRlc3RfZmls
ZXMgPSBmaW5kX2ZpbGVzLmZpbmQoc2VsZi5faG9zdC5maWxlc3lzdGVtLCBzZWxmLl9iYXNlX3Bh
dGgsIHBhdGhzLCBza2lwcGVkX2RpcmVjdG9yaWVzLCBfaXNfdGVzdF9maWxlKQorICAgICAgICB0
ZXN0X2ZpbGVzID0gZmluZF9maWxlcy5maW5kKGZpbGVzeXN0ZW0sIHNlbGYuX2Jhc2VfcGF0aCwg
cGF0aHMsIHNraXBwZWRfZGlyZWN0b3JpZXMsIF9pc190ZXN0X2ZpbGUpCiAgICAgICAgIHRlc3Rz
ID0gW10KICAgICAgICAgZm9yIHBhdGggaW4gdGVzdF9maWxlczoKLSAgICAgICAgICAgIHRlc3Rf
bmFtZSA9IHNlbGYuX3BvcnQucmVsYXRpdmVfcGVyZl90ZXN0X2ZpbGVuYW1lKHBhdGgpCi0gICAg
ICAgICAgICBpZiBzZWxmLl9wb3J0LnNraXBzX3BlcmZfdGVzdCh0ZXN0X25hbWUpOgorICAgICAg
ICAgICAgcmVsYXRpdmVfcGF0aCA9IHNlbGYuX3BvcnQucmVsYXRpdmVfcGVyZl90ZXN0X2ZpbGVu
YW1lKHBhdGgpCisgICAgICAgICAgICBpZiBzZWxmLl9wb3J0LnNraXBzX3BlcmZfdGVzdChyZWxh
dGl2ZV9wYXRoKToKICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgdGVzdHMu
YXBwZW5kKCh0ZXN0X25hbWUucmVwbGFjZSgnXFwnLCAnLycpLCBwYXRoKSkKKyAgICAgICAgICAg
IHRlc3RfbmFtZSA9IHJlbGF0aXZlX3BhdGgucmVwbGFjZSgnXFwnLCAnLycpCisgICAgICAgICAg
ICBkaXJuYW1lID0gZmlsZXN5c3RlbS5kaXJuYW1lKHBhdGgpCisgICAgICAgICAgICBpZiBzZWxm
Ll9ob3N0LmZpbGVzeXN0ZW0uZGlybmFtZShyZWxhdGl2ZV9wYXRoKSBpbiBzZWxmLl90ZXN0X2Rp
cmVjdG9yaWVzX2Zvcl9jaHJvbWl1bV9zdHlsZV90ZXN0czoKKyAgICAgICAgICAgICAgICB0ZXN0
cy5hcHBlbmQoQ2hyb21pdW1TdHlsZVBlcmZUZXN0KHRlc3RfbmFtZSwgZGlybmFtZSwgcGF0aCkp
CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHRlc3RzLmFwcGVuZChQZXJmVGVz
dCh0ZXN0X25hbWUsIGRpcm5hbWUsIHBhdGgpKQorCiAgICAgICAgIHJldHVybiB0ZXN0cwogCiAg
ICAgZGVmIHJ1bihzZWxmKToKQEAgLTE0NCw3ICsxNTQsNyBAQCBjbGFzcyBQZXJmVGVzdHNSdW5u
ZXIob2JqZWN0KToKICAgICAgICAgdW5leHBlY3RlZCA9IC0xCiAgICAgICAgIHRyeToKICAgICAg
ICAgICAgIHRlc3RzID0gc2VsZi5fY29sbGVjdF90ZXN0cygpCi0gICAgICAgICAgICB1bmV4cGVj
dGVkID0gc2VsZi5fcnVuX3Rlc3RzX3NldChzb3J0ZWQobGlzdCh0ZXN0cykpLCBzZWxmLl9wb3J0
KQorICAgICAgICAgICAgdW5leHBlY3RlZCA9IHNlbGYuX3J1bl90ZXN0c19zZXQoc29ydGVkKGxp
c3QodGVzdHMpLCBrZXk9bGFtYmRhIHRlc3Q6IHRlc3QudGVzdF9uYW1lKCkpLCBzZWxmLl9wb3J0
KQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgc2VsZi5fcHJpbnRlci5jbGVhbnVwKCkK
IApAQCAtMjI0LDcgKzIzNCw3IEBAIGNsYXNzIFBlcmZUZXN0c1J1bm5lcihvYmplY3QpOgogICAg
ICAgICB1bmV4cGVjdGVkID0gMAogICAgICAgICBkcml2ZXIgPSBOb25lCiAKLSAgICAgICAgZm9y
ICh0ZXN0X25hbWUsIHRlc3RfcGF0aCkgaW4gdGVzdHM6CisgICAgICAgIGZvciB0ZXN0IGluIHRl
c3RzOgogICAgICAgICAgICAgZHJpdmVyID0gcG9ydC5jcmVhdGVfZHJpdmVyKHdvcmtlcl9udW1i
ZXI9MSwgbm9fdGltZW91dD1UcnVlKQogCiAgICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnBh
dXNlX2JlZm9yZV90ZXN0aW5nOgpAQCAtMjMzLDEwICsyNDMsOCBAQCBjbGFzcyBQZXJmVGVzdHNS
dW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgZHJpdmVyLnN0b3AoKQogICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gdW5leHBlY3RlZAogCi0gICAgICAgICAgICBzZWxmLl9wcmlu
dGVyLndyaXRlKCdSdW5uaW5nICVzICglZCBvZiAlZCknICUgKHRlc3RfbmFtZSwgZXhwZWN0ZWQg
KyB1bmV4cGVjdGVkICsgMSwgbGVuKHRlc3RzKSkpCi0KLSAgICAgICAgICAgIGlzX2Nocm9taXVt
X3N0eWxlID0gc2VsZi5faG9zdC5maWxlc3lzdGVtLmRpcm5hbWUodGVzdF9uYW1lKSBpbiBzZWxm
Ll90ZXN0X2RpcmVjdG9yaWVzX2Zvcl9jaHJvbWl1bV9zdHlsZV90ZXN0cwotICAgICAgICAgICAg
aWYgc2VsZi5fcnVuX3NpbmdsZV90ZXN0KHRlc3RfbmFtZSwgdGVzdF9wYXRoLCBkcml2ZXIsIGlz
X2Nocm9taXVtX3N0eWxlKToKKyAgICAgICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGUoJ1J1bm5p
bmcgJXMgKCVkIG9mICVkKScgJSAodGVzdC50ZXN0X25hbWUoKSwgZXhwZWN0ZWQgKyB1bmV4cGVj
dGVkICsgMSwgbGVuKHRlc3RzKSkpCisgICAgICAgICAgICBpZiBzZWxmLl9ydW5fc2luZ2xlX3Rl
c3QodGVzdCwgZHJpdmVyKToKICAgICAgICAgICAgICAgICBleHBlY3RlZCA9IGV4cGVjdGVkICsg
MQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICB1bmV4cGVjdGVkID0gdW5leHBl
Y3RlZCArIDEKQEAgLTI2NCw4MyArMjcyLDMwIEBAIGNsYXNzIFBlcmZUZXN0c1J1bm5lcihvYmpl
Y3QpOgogICAgICAgICAgICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGUoIiVzIiAlIGxpbmUpCiAg
ICAgICAgIHJldHVybiB0ZXN0X2ZhaWxlZCBvciBub3QgZ290X2FfcmVzdWx0CiAKLSAgICBfbGlu
ZXNfdG9faWdub3JlX2luX3BhcnNlcl9yZXN1bHQgPSBbCi0gICAgICAgIHJlLmNvbXBpbGUocide
UnVubmluZyBcZCsgdGltZXMkJyksCi0gICAgICAgIHJlLmNvbXBpbGUocideSWdub3Jpbmcgd2Fy
bS11cCAnKSwKLSAgICAgICAgcmUuY29tcGlsZShyJ15JbmZvOicpLAotICAgICAgICByZS5jb21w
aWxlKHInXlxkKyguXGQrKT8kJyksCi0gICAgICAgICMgRm9sbG93aW5nIGFyZSBmb3IgaGFuZGxl
IGV4aXN0aW5nIHRlc3QgbGlrZSBEcm9tYWVvCi0gICAgICAgIHJlLmNvbXBpbGUocmUuZXNjYXBl
KCIiIm1haW4gZnJhbWUgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpIiIiKSksCi0gICAgICAg
IHJlLmNvbXBpbGUocmUuZXNjYXBlKCIiImZyYW1lICI8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1l
MC0tPi0tPiIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpIiIiKSksCi0gICAgICAgIHJlLmNv
bXBpbGUocmUuZXNjYXBlKCIiImZyYW1lICI8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi88
IS0tZnJhbWUwLS0+LS0+IiAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykiIiIpKV0KLQotICAg
IGRlZiBfc2hvdWxkX2lnbm9yZV9saW5lX2luX3BhcnNlcl90ZXN0X3Jlc3VsdChzZWxmLCBsaW5l
KToKLSAgICAgICAgaWYgbm90IGxpbmU6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAg
ICBmb3IgcmVnZXggaW4gc2VsZi5fbGluZXNfdG9faWdub3JlX2luX3BhcnNlcl9yZXN1bHQ6Ci0g
ICAgICAgICAgICBpZiByZWdleC5zZWFyY2gobGluZSk6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IFRydWUKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBkZWYgX3Byb2Nlc3NfcGFyc2VyX3Rl
c3RfcmVzdWx0KHNlbGYsIHRlc3RfbmFtZSwgb3V0cHV0KToKLSAgICAgICAgZ290X2FfcmVzdWx0
ID0gRmFsc2UKLSAgICAgICAgdGVzdF9mYWlsZWQgPSBGYWxzZQotICAgICAgICBmaWxlc3lzdGVt
ID0gc2VsZi5faG9zdC5maWxlc3lzdGVtCi0gICAgICAgIHJlc3VsdHMgPSB7fQotICAgICAgICBr
ZXlzID0gWydhdmcnLCAnbWVkaWFuJywgJ3N0ZGV2JywgJ21pbicsICdtYXgnXQotICAgICAgICBz
Y29yZV9yZWdleCA9IHJlLmNvbXBpbGUocideKD9QPGtleT4nICsgcid8Jy5qb2luKGtleXMpICsg
cicpXHMrKD9QPHZhbHVlPlswLTlcLl0rKVxzKig/UDx1bml0Pi4qKScpCi0gICAgICAgIHVuaXQg
PSAibXMiCi0KLSAgICAgICAgZm9yIGxpbmUgaW4gcmUuc3BsaXQoJ1xuJywgb3V0cHV0LnRleHQp
OgotICAgICAgICAgICAgc2NvcmUgPSBzY29yZV9yZWdleC5tYXRjaChsaW5lKQotICAgICAgICAg
ICAgaWYgc2NvcmU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0c1tzY29yZS5ncm91cCgna2V5Jyld
ID0gZmxvYXQoc2NvcmUuZ3JvdXAoJ3ZhbHVlJykpCi0gICAgICAgICAgICAgICAgaWYgc2NvcmUu
Z3JvdXAoJ3VuaXQnKToKLSAgICAgICAgICAgICAgICAgICAgdW5pdCA9IHNjb3JlLmdyb3VwKCd1
bml0JykKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBpZiBub3Qgc2Vs
Zi5fc2hvdWxkX2lnbm9yZV9saW5lX2luX3BhcnNlcl90ZXN0X3Jlc3VsdChsaW5lKToKLSAgICAg
ICAgICAgICAgICB0ZXN0X2ZhaWxlZCA9IFRydWUKLSAgICAgICAgICAgICAgICBzZWxmLl9wcmlu
dGVyLndyaXRlKCIlcyIgJSBsaW5lKQotCi0gICAgICAgIGlmIHRlc3RfZmFpbGVkIG9yIHNldChr
ZXlzKSAhPSBzZXQocmVzdWx0cy5rZXlzKCkpOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLQot
ICAgICAgICByZXN1bHRzWyd1bml0J10gPSB1bml0Ci0KLSAgICAgICAgdGVzdF9uYW1lID0gcmUu
c3ViKHInXC5cdyskJywgJycsIHRlc3RfbmFtZSkKLSAgICAgICAgc2VsZi5fcmVzdWx0c1t0ZXN0
X25hbWVdID0gcmVzdWx0cwotICAgICAgICBzZWxmLl9idWlsZGJvdF9vdXRwdXQud3JpdGUoJ1JF
U1VMVCAlcz0gJXMgJXNcbicgJSAodGVzdF9uYW1lLnJlcGxhY2UoJy8nLCAnOiAnKSwgcmVzdWx0
c1snYXZnJ10sIHVuaXQpKQotICAgICAgICBzZWxmLl9idWlsZGJvdF9vdXRwdXQud3JpdGUoJywg
Jy5qb2luKFsnJXM9ICVzICVzJyAlIChrZXksIHJlc3VsdHNba2V5XSwgdW5pdCkgZm9yIGtleSBp
biBrZXlzWzE6XV0pICsgJ1xuJykKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBkZWYgX3J1
bl9zaW5nbGVfdGVzdChzZWxmLCB0ZXN0X25hbWUsIHRlc3RfcGF0aCwgZHJpdmVyLCBpc19jaHJv
bWl1bV9zdHlsZSk6Ci0gICAgICAgIHRlc3RfZmFpbGVkID0gRmFsc2UKKyAgICBkZWYgX3J1bl9z
aW5nbGVfdGVzdChzZWxmLCB0ZXN0LCBkcml2ZXIpOgogICAgICAgICBzdGFydF90aW1lID0gdGlt
ZS50aW1lKCkKIAotICAgICAgICBvdXRwdXQgPSBkcml2ZXIucnVuX3Rlc3QoRHJpdmVySW5wdXQo
dGVzdF9wYXRoLCBzZWxmLl9vcHRpb25zLnRpbWVfb3V0X21zLCBOb25lLCBGYWxzZSkpCisgICAg
ICAgIG91dHB1dCA9IGRyaXZlci5ydW5fdGVzdChEcml2ZXJJbnB1dCh0ZXN0LnBhdGhfb3JfdXJs
KCksIHNlbGYuX29wdGlvbnMudGltZV9vdXRfbXMsIE5vbmUsIEZhbHNlKSkKKyAgICAgICAgbmV3
X3Jlc3VsdHMgPSBOb25lCiAKICAgICAgICAgaWYgb3V0cHV0LnRleHQgPT0gTm9uZToKLSAgICAg
ICAgICAgIHRlc3RfZmFpbGVkID0gVHJ1ZQorICAgICAgICAgICAgcGFzcwogICAgICAgICBlbGlm
IG91dHB1dC50aW1lb3V0OgotICAgICAgICAgICAgc2VsZi5fcHJpbnRlci53cml0ZSgndGltZW91
dDogJXMnICUgdGVzdF9uYW1lKQotICAgICAgICAgICAgdGVzdF9mYWlsZWQgPSBUcnVlCisgICAg
ICAgICAgICBzZWxmLl9wcmludGVyLndyaXRlKCd0aW1lb3V0OiAlcycgJSB0ZXN0LnRlc3RfbmFt
ZSgpKQogICAgICAgICBlbGlmIG91dHB1dC5jcmFzaDoKLSAgICAgICAgICAgIHNlbGYuX3ByaW50
ZXIud3JpdGUoJ2NyYXNoOiAlcycgJSB0ZXN0X25hbWUpCi0gICAgICAgICAgICB0ZXN0X2ZhaWxl
ZCA9IFRydWUKKyAgICAgICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGUoJ2NyYXNoOiAlcycgJSB0
ZXN0LnRlc3RfbmFtZSgpKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgaXNfY2hyb21p
dW1fc3R5bGU6Ci0gICAgICAgICAgICAgICAgdGVzdF9mYWlsZWQgPSBzZWxmLl9wcm9jZXNzX2No
cm9taXVtX3N0eWxlX3Rlc3RfcmVzdWx0KHRlc3RfbmFtZSwgb3V0cHV0KQotICAgICAgICAgICAg
ZWxzZToKLSAgICAgICAgICAgICAgICB0ZXN0X2ZhaWxlZCA9IHNlbGYuX3Byb2Nlc3NfcGFyc2Vy
X3Rlc3RfcmVzdWx0KHRlc3RfbmFtZSwgb3V0cHV0KQorICAgICAgICAgICAgbmV3X3Jlc3VsdHMg
PSB0ZXN0LnBhcnNlX291dHB1dChvdXRwdXQsIHNlbGYuX3ByaW50ZXIsIHNlbGYuX2J1aWxkYm90
X291dHB1dCkKIAogICAgICAgICBpZiBsZW4ob3V0cHV0LmVycm9yKToKICAgICAgICAgICAgIHNl
bGYuX3ByaW50ZXIud3JpdGUoJ2Vycm9yOlxuJXMnICUgb3V0cHV0LmVycm9yKQotICAgICAgICAg
ICAgdGVzdF9mYWlsZWQgPSBUcnVlCisgICAgICAgICAgICBuZXdfcmVzdWx0cyA9IE5vbmUKIAot
ICAgICAgICBpZiB0ZXN0X2ZhaWxlZDoKKyAgICAgICAgaWYgbmV3X3Jlc3VsdHM6CisgICAgICAg
ICAgICBzZWxmLl9yZXN1bHRzLnVwZGF0ZShuZXdfcmVzdWx0cykKKyAgICAgICAgZWxzZToKICAg
ICAgICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGUoJ0ZBSUxFRCcpCiAKICAgICAgICAgc2VsZi5f
cHJpbnRlci53cml0ZSgiRmluaXNoZWQ6ICVmIHMiICUgKHRpbWUudGltZSgpIC0gc3RhcnRfdGlt
ZSkpCiAKLSAgICAgICAgcmV0dXJuIG5vdCB0ZXN0X2ZhaWxlZAorICAgICAgICByZXR1cm4gVHJ1
ZSBpZiBuZXdfcmVzdWx0cyBlbHNlIEZhbHNlCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lcl91bml0dGVzdC5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1
bm5lcl91bml0dGVzdC5weQkocmV2aXNpb24gMTEzOTIyKQorKysgVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXJfdW5pdHRlc3QucHkJKHdvcmtp
bmcgY29weSkKQEAgLTM5LDYgKzM5LDggQEAgZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLm91
dHB1dGNhcHR1cgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5kcml2ZXIgaW1wb3J0
IERyaXZlcklucHV0LCBEcml2ZXJPdXRwdXQKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBv
cnQudGVzdCBpbXBvcnQgVGVzdFBvcnQKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdz
IGltcG9ydCBwcmludGluZworZnJvbSB3ZWJraXRweS5wZXJmb3JtYW5jZV90ZXN0cy5wZXJmdGVz
dCBpbXBvcnQgQ2hyb21pdW1TdHlsZVBlcmZUZXN0Citmcm9tIHdlYmtpdHB5LnBlcmZvcm1hbmNl
X3Rlc3RzLnBlcmZ0ZXN0IGltcG9ydCBQZXJmVGVzdAogZnJvbSB3ZWJraXRweS5wZXJmb3JtYW5j
ZV90ZXN0cy5wZXJmdGVzdHNydW5uZXIgaW1wb3J0IFBlcmZUZXN0c1J1bm5lcgogCiAKQEAgLTEy
Niw3ICsxMjgsOCBAQCBtYXggMTEyMAogICAgIGRlZiBydW5fdGVzdChzZWxmLCB0ZXN0X25hbWUp
OgogICAgICAgICBydW5uZXIgPSBzZWxmLmNyZWF0ZV9ydW5uZXIoKQogICAgICAgICBkcml2ZXIg
PSBNYWluVGVzdC5UZXN0RHJpdmVyKCkKLSAgICAgICAgcmV0dXJuIHJ1bm5lci5fcnVuX3Npbmds
ZV90ZXN0KHRlc3RfbmFtZSwgdGVzdF9uYW1lLCBkcml2ZXIsIGlzX2Nocm9taXVtX3N0eWxlPVRy
dWUpCisgICAgICAgIHJldHVybiBydW5uZXIuX3J1bl9zaW5nbGVfdGVzdChDaHJvbWl1bVN0eWxl
UGVyZlRlc3QodGVzdF9uYW1lLCAnc29tZS1kaXInLAorICAgICAgICAgICAgcnVubmVyLl9ob3N0
LmZpbGVzeXN0ZW0uam9pbignc29tZS1kaXInLCB0ZXN0X25hbWUpKSwgZHJpdmVyKQogCiAgICAg
ZGVmIHRlc3RfcnVuX3Bhc3NpbmdfdGVzdChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KHNlbGYucnVuX3Rlc3QoJ3Bhc3MuaHRtbCcpKQpAQCAtMTQ2LDggKzE0OSwxNyBAQCBtYXggMTEy
MAogICAgIGRlZiB0ZXN0X3J1bl9jcmFzaF90ZXN0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2Vy
dEZhbHNlKHNlbGYucnVuX3Rlc3QoJ2NyYXNoLmh0bWwnKSkKIAotICAgIGRlZiBfdGVzdHNfZm9y
X3J1bm5lcihzZWxmLCBydW5uZXIsIHRlc3RzKToKLSAgICAgICAgcmV0dXJuIFsodGVzdCwgcnVu
bmVyLl9iYXNlX3BhdGggKyAnLycgKyB0ZXN0KSBmb3IgdGVzdCBpbiB0ZXN0c10KKyAgICBkZWYg
X3Rlc3RzX2Zvcl9ydW5uZXIoc2VsZiwgcnVubmVyLCB0ZXN0X25hbWVzKToKKyAgICAgICAgZmls
ZXN5c3RlbSA9IHJ1bm5lci5faG9zdC5maWxlc3lzdGVtCisgICAgICAgIHRlc3RzID0gW10KKyAg
ICAgICAgZm9yIHRlc3QgaW4gdGVzdF9uYW1lczoKKyAgICAgICAgICAgIHBhdGggPSBmaWxlc3lz
dGVtLmpvaW4ocnVubmVyLl9iYXNlX3BhdGgsIHRlc3QpCisgICAgICAgICAgICBkaXJuYW1lID0g
ZmlsZXN5c3RlbS5kaXJuYW1lKHBhdGgpCisgICAgICAgICAgICBpZiB0ZXN0LnN0YXJ0c3dpdGgo
J2luc3BlY3Rvci8nKToKKyAgICAgICAgICAgICAgICB0ZXN0cy5hcHBlbmQoQ2hyb21pdW1TdHls
ZVBlcmZUZXN0KHRlc3QsIGRpcm5hbWUsIHBhdGgpKQorICAgICAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgICAgICB0ZXN0cy5hcHBlbmQoUGVyZlRlc3QodGVzdCwgZGlybmFtZSwgcGF0aCkpCisg
ICAgICAgIHJldHVybiB0ZXN0cwogCiAgICAgZGVmIHRlc3RfcnVuX3Rlc3Rfc2V0KHNlbGYpOgog
ICAgICAgICBidWlsZGJvdF9vdXRwdXQgPSBTdHJpbmdJTy5TdHJpbmdJTygpCkBAIC0yMjEsNyAr
MjMzLDcgQEAgbWF4IDExMjAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChqc29uLmxvYWRzKHJ1
bm5lci5faG9zdC5maWxlc3lzdGVtLmZpbGVzWycvbW9jay1jaGVja291dC9vdXRwdXQuanNvbidd
KSwgewogICAgICAgICAgICAgInRpbWVzdGFtcCI6IDEyMzQ1Njc4OSwgInJlc3VsdHMiOgogICAg
ICAgICAgICAgeyJCaW5kaW5ncy9ldmVudC10YXJnZXQtd3JhcHBlciI6IHsibWF4IjogMTUxMCwg
ImF2ZyI6IDE0ODkuMDUsICJtZWRpYW4iOiAxNDg3LCAibWluIjogMTQ3MSwgInN0ZGV2IjogMTQu
NDYsICJ1bml0IjogIm1zIn0sCi0gICAgICAgICAgICAiZ3JvdXBfbmFtZTp0ZXN0X25hbWUiOiA0
Mn0sCisgICAgICAgICAgICAiaW5zcGVjdG9yL3Bhc3MuaHRtbDpncm91cF9uYW1lOnRlc3RfbmFt
ZSI6IDQyfSwKICAgICAgICAgICAgICJ3ZWJraXQtcmV2aXNpb24iOiA1Njc4fSkKIAogICAgIGRl
ZiB0ZXN0X3J1bl90ZXN0X3NldF93aXRoX2pzb25fc291cmNlKHNlbGYpOgpAQCAtMjQwLDcgKzI1
Miw3IEBAIG1heCAxMTIwCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoanNvbi5sb2FkcyhydW5u
ZXIuX2hvc3QuZmlsZXN5c3RlbS5maWxlc1snL21vY2stY2hlY2tvdXQvb3V0cHV0Lmpzb24nXSks
IHsKICAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAxMjM0NTY3ODksICJyZXN1bHRzIjoKICAgICAg
ICAgICAgIHsiQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIiOiB7Im1heCI6IDE1MTAsICJh
dmciOiAxNDg5LjA1LCAibWVkaWFuIjogMTQ4NywgIm1pbiI6IDE0NzEsICJzdGRldiI6IDE0LjQ2
LCAidW5pdCI6ICJtcyJ9LAotICAgICAgICAgICAgImdyb3VwX25hbWU6dGVzdF9uYW1lIjogNDJ9
LAorICAgICAgICAgICAgImluc3BlY3Rvci9wYXNzLmh0bWw6Z3JvdXBfbmFtZTp0ZXN0X25hbWUi
OiA0Mn0sCiAgICAgICAgICAgICAid2Via2l0LXJldmlzaW9uIjogNTY3OCwKICAgICAgICAgICAg
ICJrZXkiOiAidmFsdWUifSkKIApAQCAtMjUzLDcgKzI2NSw3IEBAIG1heCAxMTIwCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocnVubmVyLnJ1bigpLCAwKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoanNvbi5sb2FkcyhydW5uZXIuX2hvc3QuZmlsZXN5c3RlbS5maWxlc1snL21vY2stY2hl
Y2tvdXQvb3V0cHV0Lmpzb24nXSksIHsKLSAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAxMjM0NTY3
ODksICJyZXN1bHRzIjogeyJncm91cF9uYW1lOnRlc3RfbmFtZSI6IDQyLjB9LCAid2Via2l0LXJl
dmlzaW9uIjogNTY3OCwgInNvbWUtcmV2aXNpb24iOiA1Njc4fSkKKyAgICAgICAgICAgICJ0aW1l
c3RhbXAiOiAxMjM0NTY3ODksICJyZXN1bHRzIjogeyJpbnNwZWN0b3IvcGFzcy5odG1sOmdyb3Vw
X25hbWU6dGVzdF9uYW1lIjogNDIuMH0sICJ3ZWJraXQtcmV2aXNpb24iOiA1Njc4LCAic29tZS1y
ZXZpc2lvbiI6IDU2Nzh9KQogCiAgICAgZGVmIHRlc3RfcnVuX3dpdGhfdXBsb2FkX2pzb24oc2Vs
Zik6CiAgICAgICAgIHJ1bm5lciA9IHNlbGYuY3JlYXRlX3J1bm5lcihhcmdzPVsnLS1vdXRwdXQt
anNvbi1wYXRoPS9tb2NrLWNoZWNrb3V0L291dHB1dC5qc29uJywKQEAgLTMzMiw2ICszNDQsOSBA
QCBtYXggMTEyMAogICAgICAgICB0ZXN0cyA9IHJ1bm5lci5fY29sbGVjdF90ZXN0cygpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHRlc3RzKSwgMSkKIAorICAgIGRlZiBfY29sbGVjdF90
ZXN0c19hbmRfc29ydF90ZXN0X25hbWUoc2VsZiwgcnVubmVyKToKKyAgICAgICAgcmV0dXJuIHNv
cnRlZChbdGVzdC50ZXN0X25hbWUoKSBmb3IgdGVzdCBpbiBydW5uZXIuX2NvbGxlY3RfdGVzdHMo
KV0pCisKICAgICBkZWYgdGVzdF9jb2xsZWN0X3Rlc3RzKHNlbGYpOgogICAgICAgICBydW5uZXIg
PSBzZWxmLmNyZWF0ZV9ydW5uZXIoYXJncz1bJ1BlcmZvcm1hbmNlVGVzdHMvdGVzdDEuaHRtbCcs
ICd0ZXN0Mi5odG1sJ10pCiAKQEAgLTM0Miw3ICszNTcsNyBAQCBtYXggMTEyMAogICAgICAgICBh
ZGRfZmlsZSgndGVzdDIuaHRtbCcpCiAgICAgICAgIGFkZF9maWxlKCd0ZXN0My5odG1sJykKICAg
ICAgICAgcnVubmVyLl9ob3N0LmZpbGVzeXN0ZW0uY2hkaXIocnVubmVyLl9wb3J0LnBlcmZfdGVz
dHNfZGlyKClbOnJ1bm5lci5fcG9ydC5wZXJmX3Rlc3RzX2RpcigpLnJmaW5kKHJ1bm5lci5faG9z
dC5maWxlc3lzdGVtLnNlcCldKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChbdGVz
dFswXSBmb3IgdGVzdCBpbiBydW5uZXIuX2NvbGxlY3RfdGVzdHMoKV0pLCBbJ3Rlc3QxLmh0bWwn
LCAndGVzdDIuaHRtbCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2NvbGxlY3Rf
dGVzdHNfYW5kX3NvcnRfdGVzdF9uYW1lKHJ1bm5lciksIFsndGVzdDEuaHRtbCcsICd0ZXN0Mi5o
dG1sJ10pCiAKICAgICBkZWYgdGVzdF9jb2xsZWN0X3Rlc3RzX3dpdGhfc2tpcHBlZF9saXN0KHNl
bGYpOgogICAgICAgICBydW5uZXIgPSBzZWxmLmNyZWF0ZV9ydW5uZXIoKQpAQCAtMzU4LDcgKzM3
Myw3IEBAIG1heCAxMTIwCiAgICAgICAgIGFkZF9maWxlKCdpbnNwZWN0b3IvcmVzb3VyY2VzJywg
J3Jlc291cmNlX2ZpbGUuaHRtbCcpCiAgICAgICAgIGFkZF9maWxlKCd1bnN1cHBvcnRlZCcsICd1
bnN1cHBvcnRlZF90ZXN0Mi5odG1sJykKICAgICAgICAgcnVubmVyLl9wb3J0LnNraXBwZWRfcGVy
Zl90ZXN0cyA9IGxhbWJkYTogWydpbnNwZWN0b3IvdW5zdXBwb3J0ZWRfdGVzdDEuaHRtbCcsICd1
bnN1cHBvcnRlZCddCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29ydGVkKFt0ZXN0WzBdIGZv
ciB0ZXN0IGluIHJ1bm5lci5fY29sbGVjdF90ZXN0cygpXSksIFsnaW5zcGVjdG9yL3Rlc3QxLmh0
bWwnLCAnaW5zcGVjdG9yL3Rlc3QyLmh0bWwnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWxmLl9jb2xsZWN0X3Rlc3RzX2FuZF9zb3J0X3Rlc3RfbmFtZShydW5uZXIpLCBbJ2luc3BlY3Rv
ci90ZXN0MS5odG1sJywgJ2luc3BlY3Rvci90ZXN0Mi5odG1sJ10pCiAKICAgICBkZWYgdGVzdF9w
YXJzZV9hcmdzKHNlbGYpOgogICAgICAgICBydW5uZXIgPSBzZWxmLmNyZWF0ZV9ydW5uZXIoKQo=
</data>
<flag name="review"
          id="141988"
          type_id="1"
          status="+"
          setter="morrita"
    />
          </attachment>
      

    </bug>

</bugzilla>