<?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>76142</bug_id>
          
          <creation_ts>2012-01-11 19:42:31 -0800</creation_ts>
          <short_desc>test-webkitpy: clean up logging and provide a real --help message</short_desc>
          <delta_ts>2012-01-12 11:57:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>76022</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>534521</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-11 19:42:31 -0800</bug_when>
    <thetext>test-webkitpy: clean up logging and provide a real --help message</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534535</commentid>
    <comment_count>1</comment_count>
      <attachid>122161</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-11 20:01:22 -0800</bug_when>
    <thetext>Created attachment 122161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534543</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-11 20:25:08 -0800</bug_when>
    <thetext>If you&apos;re not careful, you&apos;ll make this script actually work in a sensible way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535020</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-12 11:55:45 -0800</bug_when>
    <thetext>Committed r104841: &lt;http://trac.webkit.org/changeset/104841&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535024</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-12 11:57:23 -0800</bug_when>
    <thetext>I ended up reworking the --help text a bit and changing the default logging to log the info messages (like the fact that we were skipping scm_unittest by default); I figured that would be less surprising to non-experts who might run the tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122161</attachid>
            <date>2012-01-11 20:01:22 -0800</date>
            <delta_ts>2012-01-11 20:24:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76142-20120111200120.patch</filename>
            <type>text/plain</type>
            <size>17721</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NzY4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2FkZDY5N2UyOTRmODU5YzQ0YWY4MjBiZDAwY2M3YzY4
MDllZTBmMS4uMjZiZjI4ZWZlOGIwZGZhOGY4MmQzMzAyM2UxYTA1NTQ1NTBkYTY1YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMz
IEBACisyMDEyLTAxLTExICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIHRlc3Qtd2Via2l0cHk6IGNsZWFuIHVwIGxvZ2dpbmcgYW5kIHByb3ZpZGUgYSByZWFs
IC0taGVscCBtZXNzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NjE0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgdGVzdCBpcyBtb3N0bHkgbW9yZSByZWZhY3RvcmluZyAtIGl0IGNhbGxzIG9i
amVjdHMgaW4KKyAgICAgICAgdW5pdHRlc3QgZGlyZWN0bHkgaW5zdGVhZCBvZiByb3V0aW5nIHRo
cm91Z2ggdW5pdHRlc3QubWFpbigpIC0tCisgICAgICAgIGluIG9yZGVyIHRvIGdhaW4gbW9yZSBj
b250cm9sIG92ZXIgdGhlIGxvZ2dpbmcgYW5kIHRvIHByb3ZpZGUgYQorICAgICAgICBjb3JyZWN0
IC0taGVscCBtZXNzYWdlLiBUaGlzIHdpbGwgYWxzbyBnaXZlIHVzIGEgYmV0dGVyCisgICAgICAg
IGZvdW5kYXRpb24gZm9yIGFkZGluZyBtb3JlIGZlYXV0dXJlcyBkb3duIHRoZSByb2FkLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBkaWZmZXJlbnQgbGV2ZWxzIG9mIGxvZ2dpbmcgY29udHJv
bGxlZCBieSB0aGUKKyAgICAgICAgbnVtYmVyIG9mIHRpbWVzIHlvdSBwYXNzICctdicgKHNlZSB0
aGUgdXNhZ2UgZm9yIGRldGFpbHMpLCBhbmQKKyAgICAgICAgcmVtb3ZlcyB0aGUgLS12ZXJib3Nl
LWxvZ2dpbmcgb3B0aW9uLgorCisgICAgICAgICogU2NyaXB0cy90ZXN0LXdlYmtpdHB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluLnB5OgorICAgICAgICAoVGVzdGVyKToK
KyAgICAgICAgKFRlc3Rlci5jbGVhbl9wYWNrYWdlcyk6CisgICAgICAgIChUZXN0ZXIuX19pbml0
X18pOgorICAgICAgICAoVGVzdGVyLnBhcnNlX2FyZ3MpOgorICAgICAgICAoVGVzdGVyLmNvbmZp
Z3VyZSk6CisgICAgICAgIChUZXN0ZXIuX2NvbmZpZ3VyZV9sb2dnaW5nKToKKyAgICAgICAgKFRl
c3Rlci5maW5kX21vZHVsZXMpOgorICAgICAgICAoVGVzdGVyLl9leGNsdWRlKToKKyAgICAgICAg
KFRlc3Rlci5fbW9kdWxlc19mcm9tX3BhdGhzKToKKyAgICAgICAgKFRlc3Rlci5ydW5fdGVzdHMp
OgorCiAyMDEyLTAxLTEwICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIHRlc3Qtd2Via2l0cHk6IHB1c2ggbW9yZSBsb2dpYyBpbnRvIHdlYmtpdHB5LnRlc3Qu
bWFpbiwgY2xlYW4gdXAgY29kZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtp
dHB5IGIvVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CmluZGV4IDllMjllMjA5OGQzZGI2NmEz
Y2UyYTIxMzMwMzcxZjZhNWQxMGZmOWEuLmYwMTJkMTJlYTUwZjQyMzczOTU1ODdmZDQ2M2FlNDRi
YjZiODIyYjYgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQorKysgYi9U
b29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKQEAgLTQ0LDE2ICs0NCwxMyBAQCBfbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoInRlc3Qtd2Via2l0cHkiKQogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9f
IjoKICAgICB3ZWJraXRfcm9vdCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUob3Mu
cGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkpCiAKLSAgICB0ZXN0ZXIgPSBtYWluLlRlc3RlcigpCi0g
ICAgdGVzdGVyLmluaXQoc3lzLmFyZ3ZbMTpdKQotCiAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIHBy
b2JhYmx5IHRlc3QgZWFjaCBwYWNrYWdlIHNlcGFyYXRlbHkgdG8gYXZvaWQgbmFtaW5nIGNvbmZs
aWN0cy4KICAgICBkaXJzID0gWwogICAgICAgICBvcy5wYXRoLmpvaW4od2Via2l0X3Jvb3QsICdU
b29scycsICdTY3JpcHRzJywgJ3dlYmtpdHB5JyksCiAgICAgICAgIG9zLnBhdGguam9pbih3ZWJr
aXRfcm9vdCwgJ1NvdXJjZScsICdXZWJLaXQyJywgJ1NjcmlwdHMnLCAnd2Via2l0MicpLAogICAg
IF0KIAotICAgICMgRklYTUU6IE1ha2UgdGhpcyB3b3JrIG9uIHdpbmRvd3MgYXMgd2VsbD8KKyAg
ICAjIEZJWE1FOiBEbyB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gdGVzdCBRdWV1ZVN0YXR1c1NlcnZl
ciBvbiBXaW5kb3dzIGFzIHdlbGw/CiAgICAgYXBwZW5naW5lX3Nka19wYXRoID0gJy91c3IvbG9j
YWwvZ29vZ2xlX2FwcGVuZ2luZScKICAgICBpZiBvcy5wYXRoLmV4aXN0cyhhcHBlbmdpbmVfc2Rr
X3BhdGgpIGFuZCBub3QgYXBwZW5naW5lX3Nka19wYXRoIGluIHN5cy5wYXRoOgogICAgICAgICBz
eXMucGF0aC5hcHBlbmQoYXBwZW5naW5lX3Nka19wYXRoKQpAQCAtNjMsNSArNjAsMTAgQEAgaWYg
X19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAg
IF9sb2cuaW5mbygnU2tpcHBpbmcgUXVldWVTdGF0dXNTZXJ2ZXIgdGVzdHM7IHRoZSBHb29nbGUg
QXBwRW5naW5lIFB5dGhvbiBTREsgaXMgbm90IGluc3RhbGxlZC4nKQogCi0gICAgdGVzdGVyLmNs
ZWFuX3BhY2thZ2VzKGRpcnMpCi0gICAgdGVzdGVyLnJ1bl90ZXN0cyhzeXMuYXJndiwgZGlycykK
KyAgICBtYWluLlRlc3Rlci5jbGVhbl9wYWNrYWdlcyhkaXJzKQorCisgICAgdGVzdGVyID0gbWFp
bi5UZXN0ZXIoKQorICAgIG9wdGlvbnMsIGFyZ3MgPSB0ZXN0ZXIucGFyc2VfYXJncyhzeXMuYXJn
dikKKyAgICB0ZXN0ZXIuY29uZmlndXJlKG9wdGlvbnMpCisgICAgbW9kdWxlcyA9IHRlc3Rlci5m
aW5kX21vZHVsZXMoZGlycywgYXJncykKKyAgICBzeXMuZXhpdChub3QgdGVzdGVyLnJ1bl90ZXN0
cyhtb2R1bGVzKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWlu
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW4ucHkKaW5kZXggZDkyMTQ2OTFl
MGY4MGJkMTJjZWRkMjRjZjg5OTA4NzI1YTRkMmEwMC4uNDI3NDA1ZDBmODZlMjIxZWQ2MWI4ZTg5
YjFjODk5MmEzZGFiZjM1MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0
L21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW4ucHkKQEAgLTIz
LDYgKzIzLDcgQEAKICIiInVuaXQgdGVzdGluZyBjb2RlIGZvciB3ZWJraXRweS4iIiIKIAogaW1w
b3J0IGxvZ2dpbmcKK2ltcG9ydCBvcHRwYXJzZQogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBpbXBv
cnQgdW5pdHRlc3QKQEAgLTMzLDQwICszNCw2NyBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIo
X19uYW1lX18pCiAKIAogY2xhc3MgVGVzdGVyKG9iamVjdCk6Ci0gICAgIiIid2Via2l0cHkgdW5p
dCB0ZXN0cyBkcml2ZXIgKGZpbmRzIGFuZCBydW5zIHRlc3RzKS4iIiIKLQotICAgIGRlZiBpbml0
KHNlbGYsIGNvbW1hbmRfYXJncyk6Ci0gICAgICAgICIiIkV4ZWN1dGUgY29kZSBwcmlvciB0byBp
bXBvcnRpbmcgZnJvbSB3ZWJraXRweS51bml0dGVzdHMuCi0KLSAgICAgICAgQXJnczoKLSAgICAg
ICAgICAgIGNvbW1hbmRfYXJnczogVGhlIGxpc3Qgb2YgY29tbWFuZC1saW5lIGFyZ3VtZW50cyAt
LSB1c3VhbGx5Ci0gICAgICAgICAgICAgICAgICAgICAgICBzeXMuYXJndlsxOl0uCi0KLSAgICAg
ICAgIiIiCi0gICAgICAgIHZlcmJvc2VfbG9nZ2luZ19mbGFnID0gIi0tdmVyYm9zZS1sb2dnaW5n
IgotICAgICAgICBpc192ZXJib3NlX2xvZ2dpbmcgPSB2ZXJib3NlX2xvZ2dpbmdfZmxhZyBpbiBj
b21tYW5kX2FyZ3MKLSAgICAgICAgaWYgaXNfdmVyYm9zZV9sb2dnaW5nOgotICAgICAgICAgICAg
IyBSZW1vdmUgdGhlIGZsYWcgc28gaXQgZG9lc24ndCBjYXVzZSB1bml0dGVzdC5tYWluKCkgdG8g
ZXJyb3Igb3V0LgotICAgICAgICAgICAgIwotICAgICAgICAgICAgIyBGSVhNRTogR2V0IGRvY3Vt
ZW50YXRpb24gZm9yIHRoZSAtLXZlcmJvc2UtbG9nZ2luZyBmbGFnIHRvIHNob3cKLSAgICAgICAg
ICAgICMgICAgICAgIHVwIGluIHRoZSB1c2FnZSBpbnN0cnVjdGlvbnMsIHdoaWNoIGFyZSBjdXJy
ZW50bHkgZ2VuZXJhdGVkCi0gICAgICAgICAgICAjICAgICAgICBieSB1bml0dGVzdC5tYWluKCku
ICBJdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyB3aWxsIHJlcXVpcmUKLSAgICAgICAgICAgICMgICAg
ICAgIHJlLWltcGxlbWVudGluZyB0aGUgb3B0aW9uIHBhcnNlciBmb3IgdW5pdHRlc3QubWFpbigp
Ci0gICAgICAgICAgICAjICAgICAgICBzaW5jZSB0aGVyZSBtYXkgbm90IGJlIGFuIGVhc3kgd2F5
IHRvIG1vZGlmeSBpdHMgZXhpc3RpbmcKLSAgICAgICAgICAgICMgICAgICAgIG9wdGlvbiBwYXJz
ZXIuCi0gICAgICAgICAgICBzeXMuYXJndi5yZW1vdmUodmVyYm9zZV9sb2dnaW5nX2ZsYWcpCi0K
LSAgICAgICAgaWYgaXNfdmVyYm9zZV9sb2dnaW5nOgotICAgICAgICAgICAgc2VsZi5jb25maWd1
cmVfbG9nZ2luZyhsb2dnaW5nLkRFQlVHKQotICAgICAgICAgICAgX2xvZy5kZWJ1ZygiVmVyYm9z
ZSBXZWJLaXQgbG9nZ2luZyBlbmFibGVkLiIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBz
ZWxmLmNvbmZpZ3VyZV9sb2dnaW5nKGxvZ2dpbmcuSU5GTykKKyAgICBAc3RhdGljbWV0aG9kCisg
ICAgZGVmIGNsZWFuX3BhY2thZ2VzKGRpcnMpOgorICAgICAgICAiIiJEZWxldGUgYWxsIC5weWMg
ZmlsZXMgdW5kZXIgZGlycyB0aGF0IGhhdmUgbm8gLnB5IGZpbGUuIiIiCisgICAgICAgIGZvciBk
aXJfdG9fY2xlYW4gaW4gZGlyczoKKyAgICAgICAgICAgIF9sb2cuZGVidWcoIkNsZWFuaW5nIG9y
cGhhbmVkICoucHljIGZpbGVzIGZyb206ICVzIiAlIGRpcl90b19jbGVhbikKKyAgICAgICAgICAg
IGZvciBkaXJfcGF0aCwgZGlyX25hbWVzLCBmaWxlX25hbWVzIGluIG9zLndhbGsoZGlyX3RvX2Ns
ZWFuKToKKyAgICAgICAgICAgICAgICBmb3IgZmlsZV9uYW1lIGluIGZpbGVfbmFtZXM6CisgICAg
ICAgICAgICAgICAgICAgIGlmIGZpbGVfbmFtZS5lbmRzd2l0aCgiLnB5YyIpIGFuZCBmaWxlX25h
bWVbOi0xXSBub3QgaW4gZmlsZV9uYW1lczoKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVf
cGF0aCA9IG9zLnBhdGguam9pbihkaXJfcGF0aCwgZmlsZV9uYW1lKQorICAgICAgICAgICAgICAg
ICAgICAgICAgX2xvZy5pbmZvKCJEZWxldGluZyBvcnBoYW4gKi5weWMgZmlsZTogJXMiICUgZmls
ZV9wYXRoKQorICAgICAgICAgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGZpbGVfcGF0aCkKIAot
ICAgICMgVmVyYm9zZSBsb2dnaW5nIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nIHRlc3Qtd2Via2l0
cHkgY29kZSB0aGF0IHJ1bnMKLSAgICAjIGJlZm9yZSB0aGUgYWN0dWFsIHVuaXQgdGVzdHMgLS0g
dGhpbmdzIGxpa2UgYXV0b2luc3RhbGwgZG93bmxvYWRpbmcgYW5kCi0gICAgIyB1bml0LXRlc3Qg
YXV0by1kZXRlY3Rpb24gbG9naWMuICBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHZlcmJvc2UgbG9n
Z2luZwotICAgICMgb2YgdGhlIHVuaXQgdGVzdHMgdGhlbXNlbHZlcyAoaS5lLiB0aGUgdW5pdHRl
c3QgbW9kdWxlJ3MgLS12ZXJib3NlIGZsYWcpLgotICAgIGRlZiBjb25maWd1cmVfbG9nZ2luZyhz
ZWxmLCBsb2dfbGV2ZWwpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5f
dmVyYm9zaXR5ID0gMQorCisgICAgZGVmIHBhcnNlX2FyZ3Moc2VsZiwgYXJndik6CisgICAgICAg
IHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZT0ndXNhZ2U6ICVwcm9nIFtvcHRp
b25zXSBbbW9kdWxlcy4uLl0nKQorICAgICAgICBwYXJzZXIuYWRkX29wdGlvbignLWEnLCAnLS1h
bGwnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSdydW4gYWxsIHRoZSB0ZXN0cycpLAorICAgICAgICBwYXJzZXIuYWRk
X29wdGlvbignLW4nLCAnLS1kcnlydW4nLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZh
bHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdkbyBub3QgYWN0dWFsbHkgcnVu
IHRoZSB0ZXN0cycpLAorICAgICAgICBwYXJzZXIuYWRkX29wdGlvbignLXEnLCAnLS1xdWlldCcs
IGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9J3J1biBzaWxlbnRseScpLAorICAgICAgICBwYXJzZXIuYWRkX29wdGlvbign
LXgnLCAnLS14bWwnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSdvdXRwdXQgeFVuaXQtc3R5bGUgWE1MIG91dHB1dCcp
CisgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKCctdicsICctLXZlcmJvc2UnLCBhY3Rpb249J2Nv
dW50JywgZGVmYXVsdD0wLAorICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSd2ZXJib3Nl
IG91dHB1dCAoc3BlY2lmeSByZXBlYXRlZGx5IGZvciBldmVyLWdyZWF0ZXIgZGV0YWlsLCBzZWUg
YmVsb3cpJykKKyAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy0tc2tpcC1pbnRlZ3JhdGlvbnRl
c3RzJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0nZG8gbm90IHJ1biB0aGUgaW50ZWdyYXRpb24gdGVzdHMnKQorCisg
ICAgICAgICMgRklYTUU6IFRoZXJlJ3MgZ290dGEgYmUgYSBiZXR0ZXIgd2F5IHRvIGdldCB0ZXh0
IGRpc3BsYXllZCBhdCB0aGUgYm90dG9tIG9mCisgICAgICAgICMgdGhlIGhlbHAgbWVzc2FnZS4K
KyAgICAgICAgZ3JvdXAgPSBvcHRwYXJzZS5PcHRpb25Hcm91cChwYXJzZXIsICdWZXJib3NlIG9w
dGlvbnMnLAorICAgICAgICAgICAgKCJObyAtdidzIGdldHMgeW91IHRoZSBwcm9ncmVzcyBiYXIg
b2YgYWxvbmcgd2l0aCBhbnkgZXJyb3JzIG9yIHdhcm5pbmdzLiAiCisgICAgICAgICAgICAgIk9u
ZSAtdiBhZGRzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMuICIKKyAgICAgICAgICAgICAiVHdvIC12
J3MgZ2l2ZXMgeW91IGluZGl2aWR1YWwgdGVzdCBuYW1lcyBhbmQgcmVzdWx0cyBhbG9uZyB3aXRo
IHRoZSBvdGhlciBtZXNzYWdlcy4gIgorICAgICAgICAgICAgICJUaHJlZSAtdidzIGFkZHMgZGVi
dWdnaW5nIG1lc3NhZ2VzLiIpKQorICAgICAgICBwYXJzZXIuYWRkX29wdGlvbl9ncm91cChncm91
cCkKKyAgICAgICAgc2VsZi5wcm9nTmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoYXJndlswXSkKKyAg
ICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZV9hcmdzKGFyZ3ZbMTpdKQorCisgICAgZGVmIGNvbmZp
Z3VyZShzZWxmLCBvcHRpb25zKToKKyAgICAgICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKKwor
ICAgICAgICBpZiBvcHRpb25zLnF1aWV0OgorICAgICAgICAgICAgc2VsZi5fdmVyYm9zaXR5ID0g
MAorICAgICAgICAgICAgc2VsZi5fY29uZmlndXJlX2xvZ2dpbmcobG9nZ2luZy5XQVJOSU5HKQor
ICAgICAgICBlbGlmIG9wdGlvbnMudmVyYm9zZSA9PSAwOgorICAgICAgICAgICAgc2VsZi5fdmVy
Ym9zaXR5ID0gMQorICAgICAgICAgICAgc2VsZi5fY29uZmlndXJlX2xvZ2dpbmcobG9nZ2luZy5X
QVJOSU5HKQorICAgICAgICBlbGlmIG9wdGlvbnMudmVyYm9zZSA9PSAxOgorICAgICAgICAgICAg
c2VsZi5fdmVyYm9zaXR5ID0gMQorICAgICAgICAgICAgc2VsZi5fY29uZmlndXJlX2xvZ2dpbmco
bG9nZ2luZy5JTkZPKQorICAgICAgICBlbGlmIG9wdGlvbnMudmVyYm9zZSA9PSAyOgorICAgICAg
ICAgICAgc2VsZi5fdmVyYm9zaXR5ID0gMgorICAgICAgICAgICAgc2VsZi5fY29uZmlndXJlX2xv
Z2dpbmcobG9nZ2luZy5JTkZPKQorICAgICAgICBlbGlmIG9wdGlvbnMudmVyYm9zZSA9PSAzOgor
ICAgICAgICAgICAgc2VsZi5fdmVyYm9zaXR5ID0gMgorICAgICAgICAgICAgc2VsZi5fY29uZmln
dXJlX2xvZ2dpbmcobG9nZ2luZy5ERUJVRykKKworICAgIGRlZiBfY29uZmlndXJlX2xvZ2dpbmco
c2VsZiwgbG9nX2xldmVsKToKICAgICAgICAgIiIiQ29uZmlndXJlIHRoZSByb290IGxvZ2dlci4K
IAogICAgICAgICBDb25maWd1cmUgdGhlIHJvb3QgbG9nZ2VyIG5vdCB0byBsb2cgYW55IG1lc3Nh
Z2VzIGZyb20gd2Via2l0cHkgLS0KQEAgLTExNCw0MSArMTQyLDUwIEBAIGNsYXNzIFRlc3Rlcihv
YmplY3QpOgogICAgICAgICBfbG9nLmluZm8oIlN1cHByZXNzaW5nIG1vc3Qgd2Via2l0cHkgbG9n
Z2luZyB3aGlsZSBydW5uaW5nIHVuaXQgdGVzdHMuIikKICAgICAgICAgaGFuZGxlci5hZGRGaWx0
ZXIodGVzdGluZ19maWx0ZXIpCiAKLSAgICBkZWYgY2xlYW5fcGFja2FnZXMoc2VsZiwgZGlycyk6
Ci0gICAgICAgICIiIkRlbGV0ZSBhbGwgLnB5YyBmaWxlcyB1bmRlciBkaXJzIHRoYXQgaGF2ZSBu
byAucHkgZmlsZS4iIiIKLSAgICAgICAgIyBXZSBjbGVhbiBvcnBoYW5lZCAqLnB5YyBmaWxlcyBm
cm9tIHRoZSBwYWNrYWdlcyBwcmlvciB0byBpbXBvcnRpbmcgZnJvbQotICAgICAgICAjIHRoZW0g
dG8gbWFrZSBzdXJlIHRoYXQgbm8gaW1wb3J0IHN0YXRlbWVudHMgZmFsc2VseSBzdWNjZWVkLgot
ICAgICAgICAjIFRoaXMgaGVscHMgdG8gY2hlY2sgdGhhdCBpbXBvcnQgc3RhdGVtZW50cyBoYXZl
IGJlZW4gdXBkYXRlZCBjb3JyZWN0bHkKLSAgICAgICAgIyBhZnRlciBhbnkgZmlsZSBtb3Zlcy4g
IE90aGVyd2lzZSwgaW5jb3JyZWN0IGltcG9ydCBzdGF0ZW1lbnRzIGNhbgotICAgICAgICAjIGJl
IG1hc2tlZC4KLSAgICAgICAgIwotICAgICAgICAjIEZvciBleGFtcGxlLCBpZiB3ZWJraXRweS9j
b21tb24vaG9zdC5weSB3ZXJlIG1vdmVkIHRvIGEKLSAgICAgICAgIyBkaWZmZXJlbnQgbG9jYXRp
b24gd2l0aG91dCBjaGFuZ2luZyBhbnkgaW1wb3J0IHN0YXRlbWVudHMsIGFuZCBpZgotICAgICAg
ICAjIHRoZSBjb3JyZXNwb25kaW5nIC5weWMgZmlsZSB3ZXJlIGxlZnQgYmVoaW5kIHdpdGhvdXQg
ZGVsZXRpbmcgaXQsCi0gICAgICAgICMgdGhlbiAiaW1wb3J0IHdlYmtpdHB5LmNvbW1vbi5ob3N0
IiB3b3VsZCBjb250aW51ZSB0byBzdWNjZWVkCi0gICAgICAgICMgZXZlbiB0aG91Z2ggaXQgd291
bGQgZmFpbCBmb3Igc29tZW9uZSBjaGVja2luZyBvdXQgYSBmcmVzaCBjb3B5Ci0gICAgICAgICMg
b2YgdGhlIHNvdXJjZSB0cmVlLiAgVGhpcyBpcyBiZWNhdXNlIG9mIGEgUHl0aG9uIGZlYXR1cmU6
Ci0gICAgICAgICMKLSAgICAgICAgIyAiSXQgaXMgcG9zc2libGUgdG8gaGF2ZSBhIGZpbGUgY2Fs
bGVkIHNwYW0ucHljIChvciBzcGFtLnB5byB3aGVuIC1PCi0gICAgICAgICMgaXMgdXNlZCkgd2l0
aG91dCBhIGZpbGUgc3BhbS5weSBmb3IgdGhlIHNhbWUgbW9kdWxlLiBUaGlzIGNhbiBiZSB1c2Vk
Ci0gICAgICAgICMgdG8gZGlzdHJpYnV0ZSBhIGxpYnJhcnkgb2YgUHl0aG9uIGNvZGUgaW4gYSBm
b3JtIHRoYXQgaXMgbW9kZXJhdGVseQotICAgICAgICAjIGhhcmQgdG8gcmV2ZXJzZSBlbmdpbmVl
ci4iCi0gICAgICAgICMKLSAgICAgICAgIyAoIGh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvdHV0b3Jp
YWwvbW9kdWxlcy5odG1sI2NvbXBpbGVkLXB5dGhvbi1maWxlcyApCi0gICAgICAgICMKLSAgICAg
ICAgIyBEZWxldGluZyB0aGUgb3JwaGFuZWQgLnB5YyBmaWxlIHByaW9yIHRvIGltcG9ydGluZywg
aG93ZXZlciwgd291bGQKLSAgICAgICAgIyBjYXVzZSBhbiBJbXBvcnRFcnJvciB0byBvY2N1ciBv
biBpbXBvcnQgYXMgZGVzaXJlZC4KLSAgICAgICAgZm9yIGRpcl90b19jbGVhbiBpbiBkaXJzOgot
ICAgICAgICAgICAgX2xvZy5kZWJ1ZygiQ2xlYW5pbmcgb3JwaGFuZWQgKi5weWMgZmlsZXMgZnJv
bTogJXMiICUgZGlyX3RvX2NsZWFuKQotICAgICAgICAgICAgZm9yIGRpcl9wYXRoLCBkaXJfbmFt
ZXMsIGZpbGVfbmFtZXMgaW4gb3Mud2FsayhkaXJfdG9fY2xlYW4pOgotICAgICAgICAgICAgICAg
IGZvciBmaWxlX25hbWUgaW4gZmlsZV9uYW1lczoKLSAgICAgICAgICAgICAgICAgICAgaWYgZmls
ZV9uYW1lLmVuZHN3aXRoKCIucHljIikgYW5kIGZpbGVfbmFtZVs6LTFdIG5vdCBpbiBmaWxlX25h
bWVzOgotICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKGRp
cl9wYXRoLCBmaWxlX25hbWUpCi0gICAgICAgICAgICAgICAgICAgICAgICBfbG9nLmluZm8oIkRl
bGV0aW5nIG9ycGhhbiAqLnB5YyBmaWxlOiAlcyIgJSBmaWxlX3BhdGgpCi0gICAgICAgICAgICAg
ICAgICAgICAgICBvcy5yZW1vdmUoZmlsZV9wYXRoKQorICAgIGRlZiBmaW5kX21vZHVsZXMoc2Vs
ZiwgZGlycywgbW9kdWxlcyk6CisgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciBt
b3Zpbmcgd2Via2l0cHkgb2ZmIG9mIHVzaW5nICJ3ZWJraXRweS4iIHRvIHByZWZpeAorICAgICAg
ICAjIGFsbCBpbmNsdWRlcy4gIElmIHdlIGRpZCB0aGF0LCB0aGVuIHRoaXMgd291bGQgdXNlIHBh
dGggaW5zdGVhZCBvZiBkaXJuYW1lKHBhdGgpLgorICAgICAgICAjIFF1ZXVlU3RhdHVzU2VydmVy
Ll9faW5pdF9fIGhhcyBhIHN5cy5wYXRoIGltcG9ydCBoYWNrIGR1ZSB0byB0aGlzIGNvZGUuCisg
ICAgICAgIHN5cy5wYXRoLmV4dGVuZChzZXQob3MucGF0aC5kaXJuYW1lKHBhdGgpIGZvciBwYXRo
IGluIGRpcnMpKQorICAgICAgICBpZiBtb2R1bGVzOgorICAgICAgICAgICAgcmV0dXJuIG1vZHVs
ZXMKKworICAgICAgICBtb2R1bGVzID0gW10KKyAgICAgICAgZm9yIGRpcl90b19zZWFyY2ggaW4g
ZGlyczoKKyAgICAgICAgICAgIG1vZHVsZXMuZXh0ZW5kKHNlbGYuX21vZHVsZXNfZnJvbV9wYXRo
cyhkaXJfdG9fc2VhcmNoLCBzZWxmLl9maW5kX3VuZGVyKGRpcl90b19zZWFyY2gsICJfdW5pdHRl
c3QucHkiKSkpCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fb3B0aW9ucy5za2lwX2ludGVncmF0
aW9udGVzdHM6CisgICAgICAgICAgICAgICAgbW9kdWxlcy5leHRlbmQoc2VsZi5fbW9kdWxlc19m
cm9tX3BhdGhzKGRpcl90b19zZWFyY2gsIHNlbGYuX2ZpbmRfdW5kZXIoZGlyX3RvX3NlYXJjaCwg
Il9pbnRlZ3JhdGlvbnRlc3QucHkiKSkpCisgICAgICAgIG1vZHVsZXMuc29ydCgpCisKKyAgICAg
ICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgorICAgICAgICAgICAgX2xvZy5kZWJ1ZygiRm91bmQ6
ICVzIiAlIG1vZHVsZSkKKworICAgICAgICBpZiBub3Qgc2VsZi5fb3B0aW9ucy5hbGw6CisgICAg
ICAgICAgICBzbG93X3Rlc3RzID0gKCd3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2NtLnNjbV91
bml0dGVzdCcsKQorICAgICAgICAgICAgc2VsZi5fZXhjbHVkZShtb2R1bGVzLCBzbG93X3Rlc3Rz
LCAnYXJlIHJlYWxseSByZWFsbHkgc2xvdycsIDMxODE4KQorCisgICAgICAgICAgICBpZiBzeXMu
cGxhdGZvcm0gPT0gJ3dpbjMyJzoKKyAgICAgICAgICAgICAgICB3aW4zMl9ibGFja2xpc3QgPSAo
J3dlYmtpdHB5LmNvbW1vbi5jaGVja291dCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICd3ZWJraXRweS5jb21tb24uY29uZmlnJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3dlYmtpdHB5LnRvb2wnKQorICAgICAgICAgICAgICAgIHNlbGYuX2V4Y2x1
ZGUobW9kdWxlcywgd2luMzJfYmxhY2tsaXN0LCAnZmFpbCBob3JyaWJseSBvbiB3aW4zMicsIDU0
NTI2KQorCisgICAgICAgIHJldHVybiBtb2R1bGVzCisKKyAgICBkZWYgX2V4Y2x1ZGUoc2VsZiwg
bW9kdWxlcywgbW9kdWxlX3ByZWZpeGVzLCByZWFzb24sIGJ1Z2lkKToKKyAgICAgICAgX2xvZy5p
bmZvKCdTa2lwcGluZyB0ZXN0cyBpbiB0aGUgZm9sbG93aW5nIG1vZHVsZXMgb3IgcGFja2FnZXMg
YmVjYXVzZSB0aGV5ICVzOicgJSByZWFzb24pCisgICAgICAgIGZvciBwcmVmaXggaW4gbW9kdWxl
X3ByZWZpeGVzOgorICAgICAgICAgICAgX2xvZy5pbmZvKCcgICAgJXMnICUgcHJlZml4KQorICAg
ICAgICAgICAgbW9kdWxlc190b19leGNsdWRlID0gZmlsdGVyKGxhbWJkYSBtOiBtLnN0YXJ0c3dp
dGgocHJlZml4KSwgbW9kdWxlcykKKyAgICAgICAgICAgIGZvciBtIGluIG1vZHVsZXNfdG9fZXhj
bHVkZToKKyAgICAgICAgICAgICAgICBpZiBsZW4obW9kdWxlc190b19leGNsdWRlKSA+IDE6Cisg
ICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJyAgICAgICAgJXMnICUgbSkKKyAgICAgICAg
ICAgICAgICBtb2R1bGVzLnJlbW92ZShtKQorICAgICAgICBfbG9nLmluZm8oJyAgICAoaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPSVkOyB1c2UgLS1hbGwgdG8gaW5jbHVk
ZSknICUgYnVnaWQpCisgICAgICAgIF9sb2cuaW5mbygnJykKKwogCiAgICAgZGVmIF9maW5kX3Vu
ZGVyKHNlbGYsIGRpcl90b19zZWFyY2gsIHN1ZmZpeCk6Ci0gICAgICAgICIiIlJldHVybiBhIGxp
c3Qgb2YgcGF0aHMgdG8gYWxsIGZpbGVzIHVuZGVyIGRpcl90b19zZWFyY2ggZW5kaW5nIGluIHN1
ZmZpeC4iIiIKICAgICAgICAgcGF0aHMgPSBbXQogICAgICAgICBmb3IgZGlyX3BhdGgsIGRpcl9u
YW1lcywgZmlsZV9uYW1lcyBpbiBvcy53YWxrKGRpcl90b19zZWFyY2gpOgogICAgICAgICAgICAg
Zm9yIGZpbGVfbmFtZSBpbiBmaWxlX25hbWVzOgpAQCAtMTU3LDcgKzE5NCw3IEBAIGNsYXNzIFRl
c3RlcihvYmplY3QpOgogICAgICAgICByZXR1cm4gcGF0aHMKIAogICAgIGRlZiBfbW9kdWxlc19m
cm9tX3BhdGhzKHNlbGYsIHBhY2thZ2Vfcm9vdCwgcGF0aHMpOgotICAgICAgICAiIiJSZXR1cm4g
YSBsaXN0IG9mIGZ1bGx5LXF1YWxpZmllZCBtb2R1bGUgbmFtZXMgZ2l2ZW4gcGF0aHMuIiIiCisg
ICAgICAgICIiIlJldHVybiBhIGxpc3Qgb2YgZnVsbHktcXVhbGlmaWVkIG1vZHVsZSBuYW1lcyBn
aXZlbiBwYXRocyB0byB0ZXN0IGZpbGVzLiIiIgogICAgICAgICBwYWNrYWdlX3BhdGggPSBvcy5w
YXRoLmFic3BhdGgocGFja2FnZV9yb290KQogICAgICAgICByb290X3BhY2thZ2VfbmFtZSA9IG9z
LnBhdGguc3BsaXQocGFja2FnZV9wYXRoKVsxXSAgIyBFcXVhbHMgIndlYmtpdHB5Ii4KIApAQCAt
MTg1LDgzICsyMjIsMjEgQEAgY2xhc3MgVGVzdGVyKG9iamVjdCk6CiAKICAgICAgICAgcmV0dXJu
IG1vZHVsZXMKIAotICAgIGRlZiBfd2luMzJfYmxhY2tsaXN0KHNlbGYsIG1vZHVsZV9wYXRoKToK
LSAgICAgICAgIyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTQ1MjYgaXMgcmVzb2x2ZWQuCi0gICAgICAgIGlmIGFueShbbW9k
dWxlX3BhdGguc3RhcnRzd2l0aChwYWNrYWdlKSBmb3IgcGFja2FnZSBpbiBbCi0gICAgICAgICAg
ICAnd2Via2l0cHkudG9vbCcsCi0gICAgICAgICAgICAnd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0
JywKLSAgICAgICAgICAgICd3ZWJraXRweS5jb21tb24uY29uZmlnJywKLSAgICAgICAgICAgIF1d
KToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgICAgIHJldHVybiBtb2R1bGVfcGF0
aCBub3QgaW4gWwotICAgICAgICAgICAgIyBGSVhNRTogVGhpcyBmaWxlIGFsc28gcmVxdWlyZXMg
Y29tbW9uLmNoZWNrb3V0IHRvIHdvcmsKLSAgICAgICAgICAgICd3ZWJraXRweS50b19iZV9tb3Zl
ZC5kZWR1cGxpY2F0ZV90ZXN0c191bml0dGVzdCcsCi0gICAgICAgIF0KLQotICAgIGRlZiBydW5f
dGVzdHMoc2VsZiwgYXJndiwgZGlycyk6Ci0gICAgICAgICIiIlJ1biBhbGwgdGhlIHRlc3RzIGZv
dW5kIHVuZGVyIGRpcnMuIiIiCi0gICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciBt
b3Zpbmcgd2Via2l0cHkgb2ZmIG9mIHVzaW5nICJ3ZWJraXRweS4iIHRvIHByZWZpeAotICAgICAg
ICAjIGFsbCBpbmNsdWRlcy4gIElmIHdlIGRpZCB0aGF0LCB0aGVuIHRoaXMgd291bGQgdXNlIHBh
dGggaW5zdGVhZCBvZiBkaXJuYW1lKHBhdGgpLgotICAgICAgICAjIFF1ZXVlU3RhdHVzU2VydmVy
Ll9faW5pdF9fIGhhcyBhIHN5cy5wYXRoIGltcG9ydCBoYWNrIGR1ZSB0byB0aGlzIGNvZGUuCi0g
ICAgICAgIHN5cy5wYXRoLmV4dGVuZChzZXQob3MucGF0aC5kaXJuYW1lKHBhdGgpIGZvciBwYXRo
IGluIGRpcnMpKQotCi0gICAgICAgIGlmICctLXhtbCcgaW4gYXJndjoKLSAgICAgICAgICAgIGFy
Z3YucmVtb3ZlKCctLXhtbCcpCi0gICAgICAgICAgICBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHku
YXV0b2luc3RhbGxlZC54bWxydW5uZXIgaW1wb3J0IFhNTFRlc3RSdW5uZXIKLSAgICAgICAgICAg
IHRlc3RfcnVubmVyID0gWE1MVGVzdFJ1bm5lcihvdXRwdXQ9J3Rlc3Qtd2Via2l0cHkteG1sLXJl
cG9ydHMnKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgdGVzdF9ydW5uZXIgPSB1bml0dGVz
dC5UZXh0VGVzdFJ1bm5lcgotCi0gICAgICAgIGlmIGxlbihhcmd2KSA+IDEgYW5kIG5vdCBhcmd2
Wy0xXS5zdGFydHN3aXRoKCItIik6Ci0gICAgICAgICAgICAjIFRoZW4gZXhwbGljaXQgbW9kdWxl
cyBvciB0ZXN0IG5hbWVzIHdlcmUgcHJvdmlkZWQsIHdoaWNoCi0gICAgICAgICAgICAjIHRoZSB1
bml0dGVzdCBtb2R1bGUgaXMgZXF1aXBwZWQgdG8gaGFuZGxlLgotICAgICAgICAgICAgdW5pdHRl
c3QubWFpbihhcmd2PWFyZ3YsIG1vZHVsZT1Ob25lLCB0ZXN0UnVubmVyPXRlc3RfcnVubmVyKQot
ICAgICAgICAgICAgIyBObyBuZWVkIHRvIHJldHVybiBzaW5jZSB1bml0dHRlc3QubWFpbigpIGV4
aXRzLgotCi0gICAgICAgICMgT3RoZXJ3aXNlLCBhdXRvLWRldGVjdCBhbGwgdW5pdCB0ZXN0cy4K
LQotICAgICAgICBza2lwX2ludGVncmF0aW9uX3Rlc3RzID0gRmFsc2UKLSAgICAgICAgaWYgbGVu
KGFyZ3YpID4gMSBhbmQgYXJndlsxXSA9PSAiLS1za2lwLWludGVncmF0aW9udGVzdHMiOgotICAg
ICAgICAgICAgYXJndi5yZW1vdmUoIi0tc2tpcC1pbnRlZ3JhdGlvbnRlc3RzIikKLSAgICAgICAg
ICAgIHNraXBfaW50ZWdyYXRpb25fdGVzdHMgPSBUcnVlCi0KLSAgICAgICAgbW9kdWxlcyA9IFtd
Ci0gICAgICAgIGZvciBkaXJfdG9fc2VhcmNoIGluIGRpcnM6Ci0gICAgICAgICAgICBtb2R1bGVz
LmV4dGVuZChzZWxmLl9tb2R1bGVzX2Zyb21fcGF0aHMoZGlyX3RvX3NlYXJjaCwgc2VsZi5fZmlu
ZF91bmRlcihkaXJfdG9fc2VhcmNoLCAiX3VuaXR0ZXN0LnB5IikpKQotICAgICAgICAgICAgaWYg
bm90IHNraXBfaW50ZWdyYXRpb25fdGVzdHM6Ci0gICAgICAgICAgICAgICAgbW9kdWxlcy5leHRl
bmQoc2VsZi5fbW9kdWxlc19mcm9tX3BhdGhzKGRpcl90b19zZWFyY2gsIHNlbGYuX2ZpbmRfdW5k
ZXIoZGlyX3RvX3NlYXJjaCwgIl9pbnRlZ3JhdGlvbnRlc3QucHkiKSkpCi0gICAgICAgIG1vZHVs
ZXMuc29ydCgpCi0KLSAgICAgICAgIyBUaGlzIGlzIGEgc2FuaXR5IGNoZWNrIHRvIGVuc3VyZSB0
aGF0IHRoZSB1bml0LXRlc3QgZGlzY292ZXJ5IG1ldGhvZHMgYXJlIHdvcmtpbmcuCi0gICAgICAg
IGlmIGxlbihtb2R1bGVzKSA8IDE6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIHVu
aXQtdGVzdCBtb2R1bGVzIGZvdW5kLiIpCi0KLSAgICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVz
OgotICAgICAgICAgICAgX2xvZy5kZWJ1ZygiRm91bmQ6ICVzIiAlIG1vZHVsZSkKLQotICAgICAg
ICAjIEZJWE1FOiBUaGlzIGlzIGEgaGFjaywgYnV0IEknbSB0aXJlZCBvZiBjb21tZW50aW5nIG91
dCB0aGUgdGVzdC4KLSAgICAgICAgIyAgICAgICAgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMTgxOAotICAgICAgICBpZiBsZW4oYXJndikgPiAxIGFuZCBhcmd2
WzFdID09ICItLWFsbCI6Ci0gICAgICAgICAgICBhcmd2LnJlbW92ZSgiLS1hbGwiKQotICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgZXhjbHVkZWRfbW9kdWxlID0gIndlYmtpdHB5LmNvbW1vbi5j
aGVja291dC5zY20uc2NtX3VuaXR0ZXN0IgotICAgICAgICAgICAgX2xvZy5pbmZvKCJFeGNsdWRp
bmc6ICVzICh1c2UgLS1hbGwgdG8gaW5jbHVkZSkiICUgZXhjbHVkZWRfbW9kdWxlKQotICAgICAg
ICAgICAgbW9kdWxlcy5yZW1vdmUoZXhjbHVkZWRfbW9kdWxlKQotCi0gICAgICAgIGlmIHN5cy5w
bGF0Zm9ybSA9PSAnd2luMzInOgotICAgICAgICAgICAgbW9kdWxlcyA9IGZpbHRlcihzZWxmLl93
aW4zMl9ibGFja2xpc3QsIG1vZHVsZXMpCisgICAgZGVmIHJ1bl90ZXN0cyhzZWxmLCBtb2R1bGVz
KToKKyAgICAgICAgIyBGSVhNRTogaW1wbGVtZW50IGEgbW9yZSB1c2VmdWwgZHJ5cnVuIHRoYXQg
cmVjdXJzZXMgaW50byB0aGUgdGVzdCBzdWl0ZS4KKyAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5k
cnlydW46CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgICMgdW5pdHRlc3QubWFp
biBoYXMgaG9ycmlibGUgZXJyb3IgcmVwb3J0aW5nIHdoZW4gbW9kdWxlIGltcG9ydHMgYXJlIGJh
ZAotICAgICAgICAjIHNvIHdlIHRlc3QgaW1wb3J0IGhlcmUgdG8gbWFrZSBkZWJ1Z2dpbmcgYmFk
IGltcG9ydHMgbXVjaCBlYXNpZXIuCisgICAgICAgICMgdW5pdHRlc3QgaGFzIGhvcnJpYmxlIGVy
cm9yIHJlcG9ydGluZyB3aGVuIG1vZHVsZSBpbXBvcnRzIGFyZSBiYWQKKyAgICAgICAgIyBzbyB3
ZSBpbXBvcnRzIHRoZW0gZmlyc3QgdG8gbWFrZSBkZWJ1Z2dpbmcgYmFkIGltcG9ydHMgbXVjaCBl
YXNpZXIuCiAgICAgICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKICAgICAgICAgICAgIF9faW1w
b3J0X18obW9kdWxlKQogCi0gICAgICAgIGFyZ3YuZXh0ZW5kKG1vZHVsZXMpCisgICAgICAgIHRl
c3Rfc3VpdGUgPSB1bml0dGVzdC5kZWZhdWx0VGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMo
bW9kdWxlcywgTm9uZSkKKyAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy54bWw6CisgICAgICAgICAg
ICBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2luc3RhbGxlZC54bWxydW5uZXIgaW1wb3J0
IFhNTFRlc3RSdW5uZXIKKyAgICAgICAgICAgIHRlc3RfcnVubmVyID0gWE1MVGVzdFJ1bm5lcihv
dXRwdXQ9J3Rlc3Qtd2Via2l0cHkteG1sLXJlcG9ydHMnKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgdGVzdF9ydW5uZXIgPSB1bml0dGVzdC5UZXh0VGVzdFJ1bm5lcih2ZXJib3NpdHk9c2Vs
Zi5fdmVyYm9zaXR5KQogCi0gICAgICAgICMgV2UgcGFzcyBOb25lIGZvciB0aGUgbW9kdWxlIGJl
Y2F1c2Ugd2UgZG8gbm90IHdhbnQgdGhlIHVuaXR0ZXN0Ci0gICAgICAgICMgbW9kdWxlIHRvIHJl
c29sdmUgbW9kdWxlIG5hbWVzIHJlbGF0aXZlIHRvIGEgZ2l2ZW4gbW9kdWxlLgotICAgICAgICAj
IChUaGlzIHdvdWxkIHJlcXVpcmUgaW1wb3J0aW5nIGFsbCBvZiB0aGUgdW5pdHRlc3QgbW9kdWxl
cyBmcm9tCi0gICAgICAgICMgdGhpcyBtb2R1bGUuKSAgU2VlIHRoZSBsb2FkVGVzdHNGcm9tTmFt
ZSgpIG1ldGhvZCBvZiB0aGUKLSAgICAgICAgIyB1bml0dGVzdC5UZXN0TG9hZGVyIGNsYXNzIGZv
ciBtb3JlIGRldGFpbHMgb24gdGhpcyBwYXJhbWV0ZXIuCi0gICAgICAgIHVuaXR0ZXN0Lm1haW4o
YXJndj1hcmd2LCBtb2R1bGU9Tm9uZSwgdGVzdFJ1bm5lcj10ZXN0X3J1bm5lcikKKyAgICAgICAg
cmV0dXJuIHRlc3RfcnVubmVyLnJ1bih0ZXN0X3N1aXRlKS53YXNTdWNjZXNzZnVsKCkK
</data>
<flag name="review"
          id="122885"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>