<?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>78127</bug_id>
          
          <creation_ts>2012-02-08 09:55:09 -0800</creation_ts>
          <short_desc>REGRESSION (NRWT): Results for new non-text-only tests are always put in the most-specific platform directory</short_desc>
          <delta_ts>2012-06-19 11:27:41 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>88680</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>mjs</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>552223</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-02-08 09:55:09 -0800</bug_when>
    <thetext>To reproduce:

1. cat &gt; LayoutTests/fast/new-test.html
Hi!
^D
2. run-webkit-tests fast/new-test.html

NRWT will put the new results in platform/mac-lion/fast, while ORWT will put the results in platform/mac/fast.

NRWT always puts results for new non-text-only tests in the most-specific platform directory. This doesn&apos;t match ORWT, which had the following policy:

&gt; For cross-platform tests, text-only results should go in the cross-platform directory,
&gt; while render tree dumps should go in the least-specific platform directory.
http://trac.webkit.org/browser/trunk/Tools/Scripts/old-run-webkit-tests?rev=105162#L1728

ORWT&apos;s policy was to assume that new tests were as cross-platform as possible (i.e., that the results would be valid on all variants of the base platform), while NRWT&apos;s policy seems to assume that new tests are as platform-specific as possible. We should be encouraging people to write cross-platform tests, so I think ORWT&apos;s policy is better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552225</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-02-08 09:56:28 -0800</bug_when>
    <thetext>The guilty code in NRWT:

http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py?rev=106224#L163

port.baseline_path() ends up returning the most-specific platform directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552231</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-08 10:05:26 -0800</bug_when>
    <thetext>Hm. There seem to be plusses and minuses to ORWT&apos;s logic. I agree that tests should be as generic as possible. However, is there no way to put baselines in the most-specific directory with ORWT? If not, that would mean baseline locations would have to be managed by hand, right?

The advantage to NRWT&apos;s behavior is that all platforms will put baselines in safe locations, and then a simple &apos;optimize&apos; pass can eliminate duplicates.

That said, I don&apos;t feel that strongly about it one way or another, and it&apos;s certainly easy to change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552239</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-08 10:12:30 -0800</bug_when>
    <thetext>We could include the optimize logic in NRWT.  Requiring people to run webkit-patch optimize-baselines after running NRWT seems cumbersome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552260</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-08 10:27:59 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; We could include the optimize logic in NRWT.  Requiring people to run webkit-patch optimize-baselines after running NRWT seems cumbersome.

I&apos;m not sure how useful that would be, since NRWT will only generate one port&apos;s results, as opposed to something like garden-o-matic or webkit-patch rebaseline, which is likely to pull all of the baselines for a test. I would be somewhat concerned that optimizing the baselines might produce some amount of thrashing if we&apos;re doing one port at a time. Maybe not, though.

I do agree that running a separate optimize step is a hassle, though. Maybe we should default to least-specific, and just have a separate flag for most-specific for the rare times when you need it? (Although I&apos;m not sure when you would know it was needed and yet not just optimize or move things by hand).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552280</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-02-08 10:43:43 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Maybe we should default to least-specific, and just have a separate flag for most-specific for the rare times when you need it? (Although I&apos;m not sure when you would know it was needed and yet not just optimize or move things by hand).

ORWT has such a flag: --add-platform-exceptions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552367</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-08 12:04:19 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Maybe we should default to least-specific, and just have a separate flag for most-specific for the rare times when you need it? (Although I&apos;m not sure when you would know it was needed and yet not just optimize or move things by hand).
&gt; 
&gt; ORWT has such a flag: --add-platform-exceptions

Ah. Alrighty then :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651887</commentid>
    <comment_count>7</comment_count>
      <attachid>148204</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-18 17:08:50 -0700</bug_when>
    <thetext>Created attachment 148204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652181</commentid>
    <comment_count>8</comment_count>
      <attachid>148204</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-19 01:06:27 -0700</bug_when>
    <thetext>Comment on attachment 148204
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:284
&gt; +        optparse.make_option(&quot;--add-platform-exceptions&quot;, action=&quot;store_true&quot;, default=False,

I would have named this flag --use-most-specific-directory or --use-version-directory. I don&apos;t understand what &quot;exceptions&quot; you&apos;re referring here.

&gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:977
&gt; +        # Test that we update the platform expectations in the version-specific dirs

Nit: Please spell out directories.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652629</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-19 11:25:05 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 148204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=148204&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:284
&gt; &gt; +        optparse.make_option(&quot;--add-platform-exceptions&quot;, action=&quot;store_true&quot;, default=False,
&gt; 
&gt; I would have named this flag --use-most-specific-directory or --use-version-directory. I don&apos;t understand what &quot;exceptions&quot; you&apos;re referring here.
&gt; 

Yeah, it&apos;s not a great name. I&apos;m using it for compatibility w/ ORWT. We should probably file a separate bug to rename --reset-results, --new-baseline, and --add-platform-exceptions all at once to something saner.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:977
&gt; &gt; +        # Test that we update the platform expectations in the version-specific dirs
&gt; 
&gt; Nit: Please spell out directories.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652631</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-19 11:27:41 -0700</bug_when>
    <thetext>Committed r120740: &lt;http://trac.webkit.org/changeset/120740&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148204</attachid>
            <date>2012-06-18 17:08:50 -0700</date>
            <delta_ts>2012-06-19 01:06:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78127-20120618170850.patch</filename>
            <type>text/plain</type>
            <size>15752</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjIzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDRjZWQ3OTg1MGQ5ODAyNmE2Njg3OTFhY2VhNTNkYzQ4
MDIwZjA4ZC4uM2RlMGY4ZTk4ZTI3NGM2YmFjMjQ3NDIzNGFjMmQ4MGVkYTYwZDVkOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQw
IEBACisyMDEyLTA2LTE4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJFR1JFU1NJT04gKE5SV1QpOiBSZXN1bHRzIGZvciBuZXcgbm9uLXRleHQtb25seSB0
ZXN0cyBhcmUgYWx3YXlzIHB1dCBpbiB0aGUgbW9zdC1zcGVjaWZpYyBwbGF0Zm9ybSBkaXJlY3Rv
cnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTI3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRo
ZSAtLWFkZC1wbGF0Zm9ybS1leGNlcHRpb25zIGZsYWcgZnJvbSBPUldULCBhbmQgZW5zdXJlCisg
ICAgICAgIHRoYXQgLS1uZXctYmFzZWxpbmUgaXMgZXF1aXZhbGVudCB0byAtLXJlc2V0LXJlc3Vs
dHMKKyAgICAgICAgLS1hZGQtcGxhdGZvcm0tZXhjZXB0aW9ucy4gQWxzbyBmaXggdGhlIGRlZmF1
bHQgbG9naWMgZm9yIHdoZXJlIHRvCisgICAgICAgIHB1dCBQTkdzIGFuZCByZW5kZXIgdHJlZSBk
dW1wcyBpZiAtLW5ldy10ZXN0LXJlc3VsdHMgaXMgdHJ1ZToKKyAgICAgICAgaWYgLS1hZGQtcGxh
dGZvcm0tZXhjZXB0aW9ucyBpcyBGYWxzZSwgYmFzZWxpbmVzIHNob3VsZCBnbyBpbgorICAgICAg
ICB0aGUgbGVhc3Qtc3BlY2lmaWMgcGxhdGZvcm0gZGlyZWN0b3J5IChlLmcuLCBwbGF0Zm9ybS9t
YWMpCisgICAgICAgIHJhdGhlciB0aGFuIHRoZSBtb3N0LXNwZWNpZmljIChwbGF0Zm9ybS9tYWMt
c25vd2xlb3BhcmQpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAoU2luZ2xlVGVzdFJ1
bm5lcik6CisgICAgICAgIChTaW5nbGVUZXN0UnVubmVyLnJ1bik6CisgICAgICAgIChTaW5nbGVU
ZXN0UnVubmVyLl9ydW5fcmViYXNlbGluZSk6CisgICAgICAgIChTaW5nbGVUZXN0UnVubmVyLl9h
ZGRfbWlzc2luZ19iYXNlbGluZXMpOgorICAgICAgICAoU2luZ2xlVGVzdFJ1bm5lci5fbG9jYXRp
b25fZm9yX25ld19iYXNlbGluZSk6CisgICAgICAgIChTaW5nbGVUZXN0UnVubmVyLl9vdmVyd3Jp
dGVfYmFzZWxpbmVzKToKKyAgICAgICAgKFNpbmdsZVRlc3RSdW5uZXIuX3NhdmVfYmFzZWxpbmVf
ZGF0YSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
LnB5OgorICAgICAgICAoUG9ydC5iYXNlbGluZV9wYXRoKToKKyAgICAgICAgKFBvcnQpOgorICAg
ICAgICAoUG9ydC5iYXNlbGluZV9wbGF0Zm9ybV9kaXIpOgorICAgICAgICAoUG9ydC5iYXNlbGlu
ZV92ZXJzaW9uX2Rpcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cnVuX3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAgKF9zZXRfdXBfZGVyaXZlZF9vcHRpb25zKToK
KyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAoUmVi
YXNlbGluZVRlc3QuYXNzZXJ0QmFzZWxpbmVzKToKKyAgICAgICAgKFJlYmFzZWxpbmVUZXN0LnRl
c3RfcmVzZXRfcmVzdWx0cyk6CisgICAgICAgIChSZWJhc2VsaW5lVGVzdC50ZXN0X21pc3Npbmdf
cmVzdWx0cyk6CisgICAgICAgIChSZWJhc2VsaW5lVGVzdC50ZXN0X25ld19iYXNlbGluZSk6CisK
IDIwMTItMDYtMTggIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KIAogICAg
ICAgICBSRUdSRVNTSU9OKHIxMjA1NDYpOiBJdCBtYWRlIDMgd2Via2l0cHkgdGVzdHMgZmFpbApk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5CmluZGV4IDUyOWFlYTIyMjI0
YmQyNDBjMGZkZmQ1NDJhYmY2ZGJlY2ZlMDk0NjIuLmZhMDdlODhmZjU1OWI0MjdhYzk5MTQ4YTc0
OGM2ZDMxZGI0NjdmOWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1bm5lci5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5uZXIu
cHkKQEAgLTQ2LDcgKzQ2LDggQEAgZGVmIHJ1bl9zaW5nbGVfdGVzdChwb3J0LCBvcHRpb25zLCB0
ZXN0X2lucHV0LCBkcml2ZXIsIHdvcmtlcl9uYW1lKToKICAgICByZXR1cm4gcnVubmVyLnJ1bigp
CiAKIAotY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcjoKK2NsYXNzIFNpbmdsZVRlc3RSdW5uZXIob2Jq
ZWN0KToKKyAgICAoQUxPTkdTSURFX1RFU1QsIFBMQVRGT1JNX0RJUiwgVkVSU0lPTl9ESVIsIFVQ
REFURSkgPSAoJ2Fsb25nc2lkZScsICdwbGF0Zm9ybScsICd2ZXJzaW9uJywgJ3VwZGF0ZScpCiAK
ICAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucywgcG9ydCwgZHJpdmVyLCB0ZXN0X2lucHV0
LCB3b3JrZXJfbmFtZSk6CiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCkBAIC05NCwx
MiArOTUsMTIgQEAgY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcjoKIAogICAgIGRlZiBydW4oc2VsZik6
CiAgICAgICAgIGlmIHNlbGYuX3JlZmVyZW5jZV9maWxlczoKLSAgICAgICAgICAgIGlmIHNlbGYu
X3BvcnQuZ2V0X29wdGlvbignbm9fcmVmX3Rlc3RzJykgb3Igc2VsZi5fb3B0aW9ucy5uZXdfYmFz
ZWxpbmUgb3Igc2VsZi5fb3B0aW9ucy5yZXNldF9yZXN1bHRzOgorICAgICAgICAgICAgaWYgc2Vs
Zi5fcG9ydC5nZXRfb3B0aW9uKCdub19yZWZfdGVzdHMnKSBvciBzZWxmLl9vcHRpb25zLnJlc2V0
X3Jlc3VsdHM6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gVGVzdFJlc3VsdChzZWxmLl90ZXN0
X25hbWUpCiAgICAgICAgICAgICAgICAgcmVzdWx0LnR5cGUgPSB0ZXN0X2V4cGVjdGF0aW9ucy5T
S0lQCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAogICAgICAgICAgICAgcmV0dXJuIHNl
bGYuX3J1bl9yZWZ0ZXN0KCkKLSAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5uZXdfYmFzZWxpbmUg
b3Igc2VsZi5fb3B0aW9ucy5yZXNldF9yZXN1bHRzOgorICAgICAgICBpZiBzZWxmLl9vcHRpb25z
LnJlc2V0X3Jlc3VsdHM6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fcnVuX3JlYmFzZWxpbmUo
KQogICAgICAgICByZXR1cm4gc2VsZi5fcnVuX2NvbXBhcmVfdGVzdCgpCiAKQEAgLTEyMSw3ICsx
MjIsNyBAQCBjbGFzcyBTaW5nbGVUZXN0UnVubmVyOgogICAgICAgICBkcml2ZXJfb3V0cHV0ID0g
c2VsZi5fZHJpdmVyLnJ1bl90ZXN0KHNlbGYuX2RyaXZlcl9pbnB1dCgpKQogICAgICAgICBmYWls
dXJlcyA9IHNlbGYuX2hhbmRsZV9lcnJvcihkcml2ZXJfb3V0cHV0KQogICAgICAgICB0ZXN0X3Jl
c3VsdF93cml0ZXIud3JpdGVfdGVzdF9yZXN1bHQoc2VsZi5fZmlsZXN5c3RlbSwgc2VsZi5fcG9y
dCwgc2VsZi5fdGVzdF9uYW1lLCBkcml2ZXJfb3V0cHV0LCBOb25lLCBmYWlsdXJlcykKLSAgICAg
ICAgIyBGSVhNRTogSXQgdGhlIHRlc3QgY3Jhc2hlZCBvciB0aW1lZCBvdXQsIGl0IG1pZ2h0IGJl
IGJldHR0ZXIgdG8gYXZvaWQKKyAgICAgICAgIyBGSVhNRTogSXQgdGhlIHRlc3QgY3Jhc2hlZCBv
ciB0aW1lZCBvdXQsIGl0IG1pZ2h0IGJlIGJldHRlciB0byBhdm9pZAogICAgICAgICAjIHRvIHdy
aXRlIG5ldyBiYXNlbGluZXMuCiAgICAgICAgIHNlbGYuX292ZXJ3cml0ZV9iYXNlbGluZXMoZHJp
dmVyX291dHB1dCkKICAgICAgICAgcmV0dXJuIFRlc3RSZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCBm
YWlsdXJlcywgZHJpdmVyX291dHB1dC50ZXN0X3RpbWUsIGRyaXZlcl9vdXRwdXQuaGFzX3N0ZGVy
cigpKQpAQCAtMTMxLDQ5ICsxMzIsNTAgQEAgY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcjoKICAgICBk
ZWYgX2FkZF9taXNzaW5nX2Jhc2VsaW5lcyhzZWxmLCB0ZXN0X3Jlc3VsdCwgZHJpdmVyX291dHB1
dCk6CiAgICAgICAgIG1pc3NpbmdJbWFnZSA9IHRlc3RfcmVzdWx0Lmhhc19mYWlsdXJlX21hdGNo
aW5nX3R5cGVzKHRlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdJbWFnZSwgdGVzdF9mYWlsdXJl
cy5GYWlsdXJlTWlzc2luZ0ltYWdlSGFzaCkKICAgICAgICAgaWYgdGVzdF9yZXN1bHQuaGFzX2Zh
aWx1cmVfbWF0Y2hpbmdfdHlwZXModGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ1Jlc3VsdCk6
Ci0gICAgICAgICAgICBzZWxmLl9zYXZlX2Jhc2VsaW5lX2RhdGEoZHJpdmVyX291dHB1dC50ZXh0
LCAiLnR4dCIsIFNpbmdsZVRlc3RSdW5uZXIuX3JlbmRlcl90cmVlX2R1bXBfcGF0dGVybi5tYXRj
aChkcml2ZXJfb3V0cHV0LnRleHQpKQorICAgICAgICAgICAgc2VsZi5fc2F2ZV9iYXNlbGluZV9k
YXRhKGRyaXZlcl9vdXRwdXQudGV4dCwgJy50eHQnLCBzZWxmLl9sb2NhdGlvbl9mb3JfbmV3X2Jh
c2VsaW5lKGRyaXZlcl9vdXRwdXQudGV4dCwgJy50eHQnKSkKICAgICAgICAgaWYgdGVzdF9yZXN1
bHQuaGFzX2ZhaWx1cmVfbWF0Y2hpbmdfdHlwZXModGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2lu
Z0F1ZGlvKToKLSAgICAgICAgICAgIHNlbGYuX3NhdmVfYmFzZWxpbmVfZGF0YShkcml2ZXJfb3V0
cHV0LmF1ZGlvLCAiLndhdiIsIGdlbmVyYXRlX25ld19iYXNlbGluZT1GYWxzZSkKKyAgICAgICAg
ICAgIHNlbGYuX3NhdmVfYmFzZWxpbmVfZGF0YShkcml2ZXJfb3V0cHV0LmF1ZGlvLCAnLndhdics
IHNlbGYuX2xvY2F0aW9uX2Zvcl9uZXdfYmFzZWxpbmUoZHJpdmVyX291dHB1dC5hdWRpbywgJy53
YXYnKSkKICAgICAgICAgaWYgbWlzc2luZ0ltYWdlOgotICAgICAgICAgICAgc2VsZi5fc2F2ZV9i
YXNlbGluZV9kYXRhKGRyaXZlcl9vdXRwdXQuaW1hZ2UsICIucG5nIiwgZ2VuZXJhdGVfbmV3X2Jh
c2VsaW5lPVRydWUpCisgICAgICAgICAgICBzZWxmLl9zYXZlX2Jhc2VsaW5lX2RhdGEoZHJpdmVy
X291dHB1dC5pbWFnZSwgJy5wbmcnLCBzZWxmLl9sb2NhdGlvbl9mb3JfbmV3X2Jhc2VsaW5lKGRy
aXZlcl9vdXRwdXQuaW1hZ2UsICcucG5nJykpCisKKyAgICBkZWYgX2xvY2F0aW9uX2Zvcl9uZXdf
YmFzZWxpbmUoc2VsZiwgZGF0YSwgZXh0ZW5zaW9uKToKKyAgICAgICAgaWYgc2VsZi5fb3B0aW9u
cy5hZGRfcGxhdGZvcm1fZXhjZXB0aW9uczoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLlZFUlNJ
T05fRElSCisgICAgICAgIGlmIGV4dGVuc2lvbiA9PSAnLnBuZyc6CisgICAgICAgICAgICByZXR1
cm4gc2VsZi5QTEFURk9STV9ESVIKKyAgICAgICAgaWYgZXh0ZW5zaW9uID09ICcud2F2JzoKKyAg
ICAgICAgICAgIHJldHVybiBzZWxmLkFMT05HU0lERV9URVNUCisgICAgICAgIGlmIGV4dGVuc2lv
biA9PSAnLnR4dCcgYW5kIHNlbGYuX3JlbmRlcl90cmVlX2R1bXBfcGF0dGVybi5tYXRjaChkYXRh
KToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLlBMQVRGT1JNX0RJUgorICAgICAgICByZXR1cm4g
c2VsZi5BTE9OR1NJREVfVEVTVAogCiAgICAgZGVmIF9vdmVyd3JpdGVfYmFzZWxpbmVzKHNlbGYs
IGRyaXZlcl9vdXRwdXQpOgotICAgICAgICAjIEFsdGhvdWdoIGFsbCBEdW1wUmVuZGVyVHJlZSBv
dXRwdXQgc2hvdWxkIGJlIHV0Zi04LAotICAgICAgICAjIHdlIGRvIG5vdCBldmVyIGRlY29kZSBp
dCBpbnNpZGUgcnVuLXdlYmtpdC10ZXN0cy4gIEZvciBzb21lIHRlc3RzCi0gICAgICAgICMgRHVt
cFJlbmRlclRyZWUgbWF5IG5vdCBvdXRwdXQgdXRmLTggdGV4dCAoZS5nLiB3ZWJhcmNoaXZlcyku
Ci0gICAgICAgIHNlbGYuX3NhdmVfYmFzZWxpbmVfZGF0YShkcml2ZXJfb3V0cHV0LnRleHQsICIu
dHh0IiwgZ2VuZXJhdGVfbmV3X2Jhc2VsaW5lPXNlbGYuX29wdGlvbnMubmV3X2Jhc2VsaW5lKQot
ICAgICAgICBzZWxmLl9zYXZlX2Jhc2VsaW5lX2RhdGEoZHJpdmVyX291dHB1dC5hdWRpbywgIi53
YXYiLCBnZW5lcmF0ZV9uZXdfYmFzZWxpbmU9c2VsZi5fb3B0aW9ucy5uZXdfYmFzZWxpbmUpCisg
ICAgICAgIGxvY2F0aW9uID0gc2VsZi5WRVJTSU9OX0RJUiBpZiBzZWxmLl9vcHRpb25zLmFkZF9w
bGF0Zm9ybV9leGNlcHRpb25zIGVsc2Ugc2VsZi5VUERBVEUKKyAgICAgICAgc2VsZi5fc2F2ZV9i
YXNlbGluZV9kYXRhKGRyaXZlcl9vdXRwdXQudGV4dCwgJy50eHQnLCBsb2NhdGlvbikKKyAgICAg
ICAgc2VsZi5fc2F2ZV9iYXNlbGluZV9kYXRhKGRyaXZlcl9vdXRwdXQuYXVkaW8sICcud2F2Jywg
bG9jYXRpb24pCiAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMucGl4ZWxfdGVzdHM6Ci0gICAgICAg
ICAgICBzZWxmLl9zYXZlX2Jhc2VsaW5lX2RhdGEoZHJpdmVyX291dHB1dC5pbWFnZSwgIi5wbmci
LCBnZW5lcmF0ZV9uZXdfYmFzZWxpbmU9c2VsZi5fb3B0aW9ucy5uZXdfYmFzZWxpbmUpCisgICAg
ICAgICAgICBzZWxmLl9zYXZlX2Jhc2VsaW5lX2RhdGEoZHJpdmVyX291dHB1dC5pbWFnZSwgJy5w
bmcnLCBsb2NhdGlvbikKIAotICAgIGRlZiBfc2F2ZV9iYXNlbGluZV9kYXRhKHNlbGYsIGRhdGEs
IG1vZGlmaWVyLCBnZW5lcmF0ZV9uZXdfYmFzZWxpbmU9VHJ1ZSk6Ci0gICAgICAgICIiIlNhdmVz
IGEgbmV3IGJhc2VsaW5lIGZpbGUgaW50byB0aGUgcG9ydCdzIGJhc2VsaW5lIGRpcmVjdG9yeS4K
LQotICAgICAgICBUaGUgZmlsZSB3aWxsIGJlIG5hbWVkIHNpbXBseSAiPHRlc3Q+LWV4cGVjdGVk
PG1vZGlmaWVyPiIsIHN1aXRhYmxlIGZvcgotICAgICAgICB1c2UgYXMgdGhlIGV4cGVjdGVkIHJl
c3VsdHMgaW4gYSBsYXRlciBydW4uCi0KLSAgICAgICAgQXJnczoKLSAgICAgICAgICBkYXRhOiBy
ZXN1bHQgdG8gYmUgc2F2ZWQgYXMgdGhlIG5ldyBiYXNlbGluZQotICAgICAgICAgIG1vZGlmaWVy
OiB0eXBlIG9mIHRoZSByZXN1bHQgZmlsZSwgZS5nLiAiLnR4dCIgb3IgIi5wbmciCi0gICAgICAg
ICAgZ2VuZXJhdGVfbmV3X2Jhc2VsaW5lOiB3aGV0aGVyIHRvIGVuZXJhdGUgYSBuZXcsIHBsYXRm
b3JtLXNwZWNpZmljCi0gICAgICAgICAgICBiYXNlbGluZSwgb3IgdXBkYXRlIHRoZSBleGlzdGlu
ZyBvbmUKLSAgICAgICAgIiIiCisgICAgZGVmIF9zYXZlX2Jhc2VsaW5lX2RhdGEoc2VsZiwgZGF0
YSwgZXh0ZW5zaW9uLCBsb2NhdGlvbik6CiAgICAgICAgIGlmIGRhdGEgaXMgTm9uZToKICAgICAg
ICAgICAgIHJldHVybgogICAgICAgICBwb3J0ID0gc2VsZi5fcG9ydAogICAgICAgICBmcyA9IHNl
bGYuX2ZpbGVzeXN0ZW0KLSAgICAgICAgaWYgZ2VuZXJhdGVfbmV3X2Jhc2VsaW5lOgotICAgICAg
ICAgICAgcmVsYXRpdmVfZGlyID0gZnMuZGlybmFtZShzZWxmLl90ZXN0X25hbWUpCi0gICAgICAg
ICAgICBiYXNlbGluZV9wYXRoID0gcG9ydC5iYXNlbGluZV9wYXRoKCkKLSAgICAgICAgICAgIG91
dHB1dF9kaXIgPSBmcy5qb2luKGJhc2VsaW5lX3BhdGgsIHJlbGF0aXZlX2RpcikKLSAgICAgICAg
ICAgIG91dHB1dF9maWxlID0gZnMuYmFzZW5hbWUoZnMuc3BsaXRleHQoc2VsZi5fdGVzdF9uYW1l
KVswXSArICItZXhwZWN0ZWQiICsgbW9kaWZpZXIpCi0gICAgICAgICAgICBmcy5tYXliZV9tYWtl
X2RpcmVjdG9yeShvdXRwdXRfZGlyKQotICAgICAgICAgICAgb3V0cHV0X3BhdGggPSBmcy5qb2lu
KG91dHB1dF9kaXIsIG91dHB1dF9maWxlKQorICAgICAgICBpZiBsb2NhdGlvbiA9PSBzZWxmLkFM
T05HU0lERV9URVNUOgorICAgICAgICAgICAgb3V0cHV0X2RpciA9IGZzLmRpcm5hbWUocG9ydC5h
YnNwYXRoX2Zvcl90ZXN0KHNlbGYuX3Rlc3RfbmFtZSkpCisgICAgICAgIGVsaWYgbG9jYXRpb24g
PT0gc2VsZi5WRVJTSU9OX0RJUjoKKyAgICAgICAgICAgIG91dHB1dF9kaXIgPSBmcy5qb2luKHBv
cnQuYmFzZWxpbmVfdmVyc2lvbl9kaXIoKSwgZnMuZGlybmFtZShzZWxmLl90ZXN0X25hbWUpKQor
ICAgICAgICBlbGlmIGxvY2F0aW9uID09IHNlbGYuUExBVEZPUk1fRElSOgorICAgICAgICAgICAg
b3V0cHV0X2RpciA9IGZzLmpvaW4ocG9ydC5iYXNlbGluZV9wbGF0Zm9ybV9kaXIoKSwgZnMuZGly
bmFtZShzZWxmLl90ZXN0X25hbWUpKQorICAgICAgICBlbGlmIGxvY2F0aW9uID09IHNlbGYuVVBE
QVRFOgorICAgICAgICAgICAgb3V0cHV0X2RpciA9IGZzLmRpcm5hbWUocG9ydC5leHBlY3RlZF9m
aWxlbmFtZShzZWxmLl90ZXN0X25hbWUsIGV4dGVuc2lvbikpCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBvdXRwdXRfcGF0aCA9IHBvcnQuZXhwZWN0ZWRfZmlsZW5hbWUoc2VsZi5fdGVzdF9u
YW1lLCBtb2RpZmllcikKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCd1bnJlY29n
bml6ZWQgYmFzZWxpbmUgbG9jYXRpb246ICVzJyAlIGxvY2F0aW9uKQogCi0gICAgICAgIHJlc3Vs
dF9uYW1lID0gZnMucmVscGF0aChvdXRwdXRfcGF0aCwgcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkp
Ci0gICAgICAgIF9sb2cuaW5mbygnV3JpdGluZyBuZXcgZXhwZWN0ZWQgcmVzdWx0ICIlcyInICUg
cmVzdWx0X25hbWUpCisgICAgICAgIGZzLm1heWJlX21ha2VfZGlyZWN0b3J5KG91dHB1dF9kaXIp
CisgICAgICAgIG91dHB1dF9iYXNlbmFtZSA9IGZzLmJhc2VuYW1lKGZzLnNwbGl0ZXh0KHNlbGYu
X3Rlc3RfbmFtZSlbMF0gKyAiLWV4cGVjdGVkIiArIGV4dGVuc2lvbikKKyAgICAgICAgb3V0cHV0
X3BhdGggPSBmcy5qb2luKG91dHB1dF9kaXIsIG91dHB1dF9iYXNlbmFtZSkKKyAgICAgICAgX2xv
Zy5pbmZvKCdXcml0aW5nIG5ldyBleHBlY3RlZCByZXN1bHQgIiVzIicgJSBwb3J0LnJlbGF0aXZl
X3Rlc3RfZmlsZW5hbWUob3V0cHV0X3BhdGgpKQogICAgICAgICBwb3J0LnVwZGF0ZV9iYXNlbGlu
ZShvdXRwdXRfcGF0aCwgZGF0YSkKIAogICAgIGRlZiBfaGFuZGxlX2Vycm9yKHNlbGYsIGRyaXZl
cl9vdXRwdXQsIHJlZmVyZW5jZV9maWxlbmFtZT1Ob25lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQppbmRleCA2MmZiZGNlZWQ2MTg3MjRh
MzE2MDQzNTNlOGRjOTA5OTc1NDljZjk1Li5jZjVhMDI3MTU1OTJkZWQyMTc0NWFhOTU2MzIyZjQ5
OWFjNzI4NDEwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9iYXNlLnB5CkBAIC0xNzUsNiArMTc1LDE1IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKIAog
ICAgIGRlZiBiYXNlbGluZV9wYXRoKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIGFic29s
dXRlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB0byBzdG9yZSBuZXcgYmFzZWxpbmVzIGluIGZvciB0
aGlzIHBvcnQuIiIiCisgICAgICAgICMgRklYTUU6IHJlbW92ZSBvbmNlIGFsbCBjYWxsZXJzIGFy
ZSBjYWxsaW5nIGVpdGhlciBiYXNlbGluZV92ZXJzaW9uX2RpcigpIG9yIGJhc2VsaW5lX3BsYXRm
b3JtX2RpcigpCisgICAgICAgIHJldHVybiBzZWxmLmJhc2VsaW5lX3ZlcnNpb25fZGlyKCkKKwor
ICAgIGRlZiBiYXNlbGluZV9wbGF0Zm9ybV9kaXIoc2VsZik6CisgICAgICAgICIiIlJldHVybiB0
aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgZGVmYXVsdCAodmVyc2lvbi1pbmRlcGVuZGVudCkgcGxh
dGZvcm0tc3BlY2lmaWMgcmVzdWx0cy4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0
ZW0uam9pbihzZWxmLmxheW91dF90ZXN0c19kaXIoKSwgJ3BsYXRmb3JtJywgc2VsZi5wb3J0X25h
bWUpCisKKyAgICBkZWYgYmFzZWxpbmVfdmVyc2lvbl9kaXIoc2VsZik6CisgICAgICAgICIiIlJl
dHVybiB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcGxhdGZvcm0tYW5kLXZlcnNpb24tc3BlY2lm
aWMgcmVzdWx0cy4iIiIKICAgICAgICAgYmFzZWxpbmVfc2VhcmNoX3BhdGhzID0gc2VsZi5nZXRf
b3B0aW9uKCdhZGRpdGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeScsIFtdKSArIHNlbGYuYmFzZWxp
bmVfc2VhcmNoX3BhdGgoKQogICAgICAgICByZXR1cm4gYmFzZWxpbmVfc2VhcmNoX3BhdGhzWzBd
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzLnB5CmluZGV4IDBlMjdhMmQ1ZGE0OTkzYTgxMDEyZTNhZjQ1M2U1YjFmYzI4
YTkxM2MuLjJiMWFjMzU5Zjk0ZWIxZGMzNDg4MmYwZjY1MWY1OTE4NTBkOWUzNGYgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weQpAQCAtMTY3LDYgKzE2NywxMCBAQCBkZWYgX3NldF91cF9kZXJpdmVkX29wdGlvbnMo
cG9ydCwgb3B0aW9ucyk6CiAgICAgaWYgb3B0aW9ucy5pZ25vcmVfbWV0cmljcyBhbmQgKG9wdGlv
bnMubmV3X2Jhc2VsaW5lIG9yIG9wdGlvbnMucmVzZXRfcmVzdWx0cyk6CiAgICAgICAgIHdhcm5p
bmdzLmFwcGVuZCgiLS1pZ25vcmUtbWV0cmljcyBoYXMgbm8gZWZmZWN0IHdpdGggLS1uZXctYmFz
ZWxpbmVzIG9yIHdpdGggLS1yZXNldC1yZXN1bHRzIikKIAorICAgIGlmIG9wdGlvbnMubmV3X2Jh
c2VsaW5lOgorICAgICAgICBvcHRpb25zLnJlc2V0X3Jlc3VsdHMgPSBUcnVlCisgICAgICAgIG9w
dGlvbnMuYWRkX3BsYXRmb3JtX2V4Y2VwdGlvbnMgPSBUcnVlCisKICAgICByZXR1cm4gd2Fybmlu
Z3MKIAogCkBAIC0yNzcsMTAgKzI4MSwxMiBAQCBkZWYgcGFyc2VfYXJncyhhcmdzPU5vbmUpOgog
ICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1yZXN1bHRzLWRpcmVjdG9yeSIsIGhlbHA9
IkxvY2F0aW9uIG9mIHRlc3QgcmVzdWx0cyIpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlv
bigiLS1idWlsZC1kaXJlY3RvcnkiLAogICAgICAgICAgICAgaGVscD0iUGF0aCB0byB0aGUgZGly
ZWN0b3J5IHVuZGVyIHdoaWNoIGJ1aWxkIGZpbGVzIGFyZSBrZXB0IChzaG91bGQgbm90IGluY2x1
ZGUgY29uZmlndXJhdGlvbikiKSwKKyAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tYWRk
LXBsYXRmb3JtLWV4Y2VwdGlvbnMiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNl
LAorICAgICAgICAgICAgaGVscD0iU2F2ZSBnZW5lcmF0ZWQgcmVzdWx0cyBpbnRvIHRoZSAqbW9z
dC1zcGVjaWZpYy1wbGF0Zm9ybSogZGlyZWN0b3J5IHJhdGhlciB0aGFuIHRoZSAqZ2VuZXJpYy1w
bGF0Zm9ybSogZGlyZWN0b3J5IiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLW5l
dy1iYXNlbGluZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCiAgICAgICAgICAgICBkZWZhdWx0PUZh
bHNlLCBoZWxwPSJTYXZlIGdlbmVyYXRlZCByZXN1bHRzIGFzIG5ldyBiYXNlbGluZXMgIgotICAg
ICAgICAgICAgICAgICAiaW50byB0aGUgKnBsYXRmb3JtKiBkaXJlY3RvcnksIG92ZXJ3cml0aW5n
IHdoYXRldmVyJ3MgIgotICAgICAgICAgICAgICAgICAiYWxyZWFkeSB0aGVyZS4iKSwKKyAgICAg
ICAgICAgICAgICAgImludG8gdGhlICptb3N0LXNwZWNpZmljLXBsYXRmb3JtKiBkaXJlY3Rvcnks
IG92ZXJ3cml0aW5nIHdoYXRldmVyJ3MgIgorICAgICAgICAgICAgICAgICAiYWxyZWFkeSB0aGVy
ZS4gRXF1aXZhbGVudCB0byAtLXJlc2V0LXJlc3VsdHMgLS1hZGQtcGxhdGZvcm0tZXhjZXB0aW9u
cyIpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1yZXNldC1yZXN1bHRzIiwgYWN0
aW9uPSJzdG9yZV90cnVlIiwKICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGhlbHA9IlJlc2V0
IGV4cGVjdGF0aW9ucyB0byB0aGUgIgogICAgICAgICAgICAgICAgICAiZ2VuZXJhdGVkIHJlc3Vs
dHMgaW4gdGhlaXIgZXhpc3RpbmcgbG9jYXRpb24uIiksCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVz
dHNfaW50ZWdyYXRpb250ZXN0LnB5CmluZGV4IGJkZGFhMWM4MjBiZWU3ODBkMWQ3NjhhZDRhOGZj
NDcxNTdhNzdkODQuLjhjMTZjN2ZhZTM3N2QwMTlmOTEyM2Y5ZDJmMWJjNjFkMGNkOWY2NTEgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC05MzAsNyAr
OTMwLDcgQEAgY2xhc3MgUmViYXNlbGluZVRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRl
c3RpbmdNaXhpbik6CiAgICAgICAgICJhc3NlcnQgdGhhdCB0aGUgZmlsZV9saXN0IGNvbnRhaW5z
IHRoZSBiYXNlbGluZXMuIiIiCiAgICAgICAgIGZvciBleHQgaW4gZXh0ZW5zaW9uczoKICAgICAg
ICAgICAgIGJhc2VsaW5lID0gZmlsZSArICItZXhwZWN0ZWQiICsgZXh0Ci0gICAgICAgICAgICBi
YXNlbGluZV9tc2cgPSAnV3JpdGluZyBuZXcgZXhwZWN0ZWQgcmVzdWx0ICIlcyJcbicgJSBiYXNl
bGluZVsxOl0KKyAgICAgICAgICAgIGJhc2VsaW5lX21zZyA9ICdXcml0aW5nIG5ldyBleHBlY3Rl
ZCByZXN1bHQgIiVzIlxuJyAlIGJhc2VsaW5lCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUo
YW55KGYuZmluZChiYXNlbGluZSkgIT0gLTEgZm9yIGYgaW4gZmlsZV9saXN0KSkKICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0Q29udGFpbnNMaW5lKGVyciwgYmFzZWxpbmVfbXNnKQogCkBAIC05NTEs
OCArOTUxLDggQEAgY2xhc3MgUmViYXNlbGluZVRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVh
bVRlc3RpbmdNaXhpbik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlcywgMCkKICAgICAg
ICAgc2VsZi5hc3NlcnRFbXB0eShvdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZp
bGVfbGlzdCksIDQpCi0gICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwgIi9w
YXNzZXMvaW1hZ2UiLCBbIi50eHQiLCAiLnBuZyJdLCBlcnIpCi0gICAgICAgIHNlbGYuYXNzZXJ0
QmFzZWxpbmVzKGZpbGVfbGlzdCwgIi9mYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2ltYWdlIiwg
WyIudHh0IiwgIi5wbmciXSwgZXJyKQorICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5lcyhmaWxl
X2xpc3QsICJwYXNzZXMvaW1hZ2UiLCBbIi50eHQiLCAiLnBuZyJdLCBlcnIpCisgICAgICAgIHNl
bGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwgImZhaWx1cmVzL2V4cGVjdGVkL21pc3Npbmdf
aW1hZ2UiLCBbIi50eHQiLCAiLnBuZyJdLCBlcnIpCiAKICAgICBkZWYgdGVzdF9taXNzaW5nX3Jl
c3VsdHMoc2VsZik6CiAgICAgICAgICMgVGVzdCB0aGF0IHdlIHVwZGF0ZSBleHBlY3RhdGlvbnMg
aW4gcGxhY2UuIElmIHRoZSBleHBlY3RhdGlvbgpAQCAtOTY5LDEzICs5NjksMTMgQEAgY2xhc3Mg
UmViYXNlbGluZVRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlcywgMCkKICAgICAgICAgc2VsZi5hc3NlcnROb3RF
bXB0eShvdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZpbGVfbGlzdCksIDYpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwgIi9mYWlsdXJlcy91bmV4cGVj
dGVkL21pc3NpbmdfdGV4dCIsIFsiLnR4dCJdLCBlcnIpCi0gICAgICAgIHNlbGYuYXNzZXJ0QmFz
ZWxpbmVzKGZpbGVfbGlzdCwgIi9wbGF0Zm9ybS90ZXN0LW1hYy1sZW9wYXJkL2ZhaWx1cmVzL3Vu
ZXhwZWN0ZWQvbWlzc2luZ19pbWFnZSIsIFsiLnBuZyJdLCBlcnIpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwgIi9wbGF0Zm9ybS90ZXN0LW1hYy1sZW9wYXJkL2ZhaWx1
cmVzL3VuZXhwZWN0ZWQvbWlzc2luZ19yZW5kZXJfdHJlZV9kdW1wIiwgWyIudHh0Il0sIGVycikK
KyAgICAgICAgc2VsZi5hc3NlcnRCYXNlbGluZXMoZmlsZV9saXN0LCAiZmFpbHVyZXMvdW5leHBl
Y3RlZC9taXNzaW5nX3RleHQiLCBbIi50eHQiXSwgZXJyKQorICAgICAgICBzZWxmLmFzc2VydEJh
c2VsaW5lcyhmaWxlX2xpc3QsICJwbGF0Zm9ybS90ZXN0L2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlz
c2luZ19pbWFnZSIsIFsiLnBuZyJdLCBlcnIpCisgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVz
KGZpbGVfbGlzdCwgInBsYXRmb3JtL3Rlc3QvZmFpbHVyZXMvdW5leHBlY3RlZC9taXNzaW5nX3Jl
bmRlcl90cmVlX2R1bXAiLCBbIi50eHQiXSwgZXJyKQogCiAgICAgZGVmIHRlc3RfbmV3X2Jhc2Vs
aW5lKHNlbGYpOgotICAgICAgICAjIFRlc3QgdGhhdCB3ZSB1cGRhdGUgdGhlIHBsYXRmb3JtIGV4
cGVjdGF0aW9ucy4gSWYgdGhlIGV4cGVjdGF0aW9uCi0gICAgICAgICMgaXMgbXNzaW5nLCB0aGVu
IGNyZWF0ZSBhIG5ldyBleHBlY3RhdGlvbiBpbiB0aGUgcGxhdGZvcm0gZGlyLgorICAgICAgICAj
IFRlc3QgdGhhdCB3ZSB1cGRhdGUgdGhlIHBsYXRmb3JtIGV4cGVjdGF0aW9ucyBpbiB0aGUgdmVy
c2lvbi1zcGVjaWZpYyBkaXJzCisgICAgICAgICMgZm9yIGJvdGggZXhpc3RpbmcgYW5kIG5ldyBi
YXNlbGluZXMuCiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgICAgIHJlcywgb3V0LCBl
cnIsIF8gPSBsb2dnaW5nX3J1bihbJy0tcGl4ZWwtdGVzdHMnLAogICAgICAgICAgICAgICAgICAg
ICAgICAgJy0tbmV3LWJhc2VsaW5lJywKQEAgLTk4OCw5ICs5ODgsOSBAQCBjbGFzcyBSZWJhc2Vs
aW5lVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAg
c2VsZi5hc3NlcnRFbXB0eShvdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZpbGVf
bGlzdCksIDQpCiAgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVfbGlzdCwKLSAgICAg
ICAgICAgICIvcGxhdGZvcm0vdGVzdC1tYWMtbGVvcGFyZC9wYXNzZXMvaW1hZ2UiLCBbIi50eHQi
LCAiLnBuZyJdLCBlcnIpCisgICAgICAgICAgICAicGxhdGZvcm0vdGVzdC1tYWMtbGVvcGFyZC9w
YXNzZXMvaW1hZ2UiLCBbIi50eHQiLCAiLnBuZyJdLCBlcnIpCiAgICAgICAgIHNlbGYuYXNzZXJ0
QmFzZWxpbmVzKGZpbGVfbGlzdCwKLSAgICAgICAgICAgICIvcGxhdGZvcm0vdGVzdC1tYWMtbGVv
cGFyZC9mYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2ltYWdlIiwgWyIudHh0IiwgIi5wbmciXSwg
ZXJyKQorICAgICAgICAgICAgInBsYXRmb3JtL3Rlc3QtbWFjLWxlb3BhcmQvZmFpbHVyZXMvZXhw
ZWN0ZWQvbWlzc2luZ19pbWFnZSIsIFsiLnR4dCIsICIucG5nIl0sIGVycikKIAogCiBpZiBfX25h
bWVfXyA9PSAnX19tYWluX18nOgo=
</data>
<flag name="review"
          id="155863"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>