<?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>137441</bug_id>
          
          <creation_ts>2014-10-06 00:29:43 -0700</creation_ts>
          <short_desc>Add a test expectations file specific to W3C web platform tests</short_desc>
          <delta_ts>2014-12-23 07:44:16 -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>WONTFIX</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>bjonesbe</cc>
    
    <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>rhauck</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039663</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-10-06 00:29:43 -0700</bug_when>
    <thetext>Ideally, W3C test expectations would be automatically computed each time the version of the web platform test suite is bumped or each time a new module of the web platform test suite is activated. Between bumps, test expectations would be manually edited by patches as currently done.
To ease the automation of these test expectations, it may be desirable to create a separate file for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039664</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-10-06 00:30:57 -0700</bug_when>
    <thetext>Bug 134767 implements automatic test expectation update computed from conformance results, the update being based on a specific organization of test expectations: test expectations are grouped by submodules (more or less top-level directories of WPT folder).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039682</commentid>
    <comment_count>2</comment_count>
      <attachid>239320</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-10-06 01:58:04 -0700</bug_when>
    <thetext>Created attachment 239320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041944</commentid>
    <comment_count>3</comment_count>
      <attachid>239320</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-10-15 13:41:13 -0700</bug_when>
    <thetext>Comment on attachment 239320
Patch

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

&gt; Tools/Scripts/webkitpy/port/base.py:1032
&gt; -        return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files()
&gt; +        return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files() + [self.path_to_w3c_expectations_file()]

I don&apos;t think W3C test expectations should override port specific test expectations.
That would be super confusing.

&gt; LayoutTests/imported/w3c/TestExpectationsW3C:1
&gt; +#imported/w3c/wpt [ Skip ]

This expectation doesn&apos;t work because it starts with #.
Does this really need to be at /w3c/?  Can&apos;t we move it to imported/w3c/resources/wpt?
If not, we can add it to the list of names we skip instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042097</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-10-16 01:09:14 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 239320 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=239320&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/port/base.py:1032
&gt; &gt; -        return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files()
&gt; &gt; +        return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files() + [self.path_to_w3c_expectations_file()]
&gt; 
&gt; I don&apos;t think W3C test expectations should override port specific test expectations.
&gt; That would be super confusing.

Right.
For port diverging results, handling may be done manually at first, one port (mac, mac-wk2?) being set as the baseline port.
Introducing a specific W3C test expectation file per port may be useful to automate diverging results handling.

&gt; &gt; LayoutTests/imported/w3c/TestExpectationsW3C:1
&gt; &gt; +#imported/w3c/wpt [ Skip ]
&gt; 
&gt; This expectation doesn&apos;t work because it starts with #.

The idea is to uncomment this expectation when doing the first WPT import.
Removing # currently causes a warning because imported/w3c/wpt does not exist yet.

&gt; Does this really need to be at /w3c/?  Can&apos;t we move it to imported/w3c/resources/wpt?
&gt; If not, we can add it to the list of names we skip instead.

There is no particular constraint, except that putting it into w3c folder or any of its subfolder allows using the dedicated ChangeLog.
I am fine with renaming it to imported/w3c/resources/wpt/TestExpectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042356</commentid>
    <comment_count>5</comment_count>
      <attachid>240011</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-10-17 03:33:39 -0700</bug_when>
    <thetext>Created attachment 240011
Moved W3C test expectations next to generic test expectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042567</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-10-17 22:46:05 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt;
&gt; &gt; &gt; LayoutTests/imported/w3c/TestExpectationsW3C:1
&gt; &gt; &gt; +#imported/w3c/wpt [ Skip ]
&gt; &gt; 
&gt; &gt; This expectation doesn&apos;t work because it starts with #.
&gt; 
&gt; The idea is to uncomment this expectation when doing the first WPT import.
&gt; Removing # currently causes a warning because imported/w3c/wpt does not
&gt; exist yet.

For what purpose?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042586</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-10-18 02:25:19 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt;
&gt; &gt; &gt; &gt; LayoutTests/imported/w3c/TestExpectationsW3C:1
&gt; &gt; &gt; &gt; +#imported/w3c/wpt [ Skip ]
&gt; &gt; &gt; 
&gt; &gt; &gt; This expectation doesn&apos;t work because it starts with #.
&gt; &gt; 
&gt; &gt; The idea is to uncomment this expectation when doing the first WPT import.
&gt; &gt; Removing # currently causes a warning because imported/w3c/wpt does not
&gt; &gt; exist yet.
&gt; 
&gt; For what purpose?

Document the scope/reason of this file between its initial check-in and the first import of WPT tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042631</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-10-18 14:27:19 -0700</bug_when>
    <thetext>I don&apos;t understand why we need test expectations for newly imported tests.  They should all pass because all expected results are generated from scratch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042678</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-10-19 01:49:55 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I don&apos;t understand why we need test expectations for newly imported tests. 
&gt; They should all pass because all expected results are generated from scratch.
That is a good point, I should have stated the reason upfront.

The current WPT baseline generator imports all tests from a given WPT folder. In this folder, one will find:
- tests that crash, timeout or fail: these tests are marked as skip. Running these tests (especially the ones that timeout) does not provide much and the total run time becomes very long.
- tests that pass partially (some assertions passing, some not). These tests are put in the test expectations and marked as pass. This allows keeping all tests that need some fixes in the test expectations.

Importing only tests that pass or partially pass is not feasible as some ports have different features and different bugs. http://youennf.github.io/w3c-reports/12092014/w3c_conformance_results.html gives details about that. Issues would also arise when bumping version of thevtest suite.

One will also find additional test expectation lines:
imported/w3c/wpt is marked as skip so that, by default, all tests are skipped. This applies for instance to files in the &apos;tools&apos; folder that should not be run as tests.

Each enabled WPT folder has a line marked explicitly as pass so that tests inside it are run.

At the end, the whole test suite could be regularly imported, each port deciding to enable/skip specific folders.

This process is described with some additional information at https://github.com/canonresearchfrance/webkit/wiki/Running-W3C-Tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045725</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-11-03 06:45:21 -0800</bug_when>
    <thetext>Anyone to review the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045846</commentid>
    <comment_count>11</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-11-03 13:39:04 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Anyone to review the patch?

I&apos;m going to have to defer to rniwa on this one to make sure you&apos;ve satisfied all of his concerns. If he doesn&apos;t get back to you here soon, I&apos;d suggest pinging him on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056715</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-12-17 20:06:35 -0800</bug_when>
    <thetext>I don&apos;t think we should add TestExpectations for subdirectories of LayoutTests/imported/  We already have too many TestExpectations files, and it&apos;s hard to reason about.  We shouldn&apos;t make that even worse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057591</commentid>
    <comment_count>13</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-12-23 07:43:21 -0800</bug_when>
    <thetext>Latest patches that generate baselines directly work on the generic and platform-specific TestExpectations. Closing this bug as wontfix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239320</attachid>
            <date>2014-10-06 01:58:04 -0700</date>
            <delta_ts>2014-10-17 03:33:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137441-20141006105805.patch</filename>
            <type>text/plain</type>
            <size>8208</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzQwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzAyMDA5MjUxZWY0YTkxNmZjZWFlOGI5N2YxNTQwMGM0
NTA4NGQ0OS4uYmE2MDJhNzMxZDcxMmIwMjdlODVjZGNjMTQ4OTAzOWIwZWViOTJjMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDE0LTEwLTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24u
ZnI+CisKKyAgICAgICAgQWRkIGEgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBzcGVjaWZpYyB0byBX
M0Mgd2ViIHBsYXRmb3JtIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzc0NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRzIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9UZXN0RXhwZWN0YXRp
b25zVzNDIGFzIHNvdXJjZSBmb3IgYWRkaXRpb25hbCB0ZXN0IGV4cGVjdGF0aW9ucy4KKyAgICAg
ICAgVGhpcyBmaWxlIHNob3VsZCBjb250YWluIGV4cGVjdGF0aW9ucyBmb3IgdGVzdHMgaW4gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dwdC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC5wYXRoX3RvX3czY19leHBlY3RhdGlvbnNfZmls
ZSk6IFJldHVybnMgdGhlIGZpbGVuYW1lIG9mIHRoZSBXM0MgdGVzdCBleHBlY3RhdGlvbiBmaWxl
LgorICAgICAgICAoUG9ydC5leHBlY3RhdGlvbnNfZmlsZXMpOiBBZGQgdGhlIFczQyB0ZXN0IGVz
cGVjdGF0aW9uIGZpbGUgYXMgYWRkaXRpb25hbCBzb3VyY2UgZm9yIGFkZGl0aW9uYWwgdGVzdCBl
eHBlY3RhdGlvbnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0a191bml0dGVz
dC5weToKKyAgICAgICAgKEd0a1BvcnRUZXN0LnRlc3RfcG9ydF9zcGVjaWZpY19leHBlY3RhdGlv
bnNfZmlsZXMpOiBVcGRhdGVzIHRlc3QgcmVzdWx0cyBhY2NvcmRpbmcgYWRkaXRpb25hbCB0ZXN0
IGV4cGVjdGF0aW9uIGZpbGUuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRf
dGVzdGNhc2UucHk6CisgICAgICAgIChQb3J0VGVzdENhc2UudGVzdF9leHBlY3RhdGlvbnNfZmls
ZXMpOiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luX3VuaXR0ZXN0
LnB5OgorICAgICAgICAoV2luUG9ydFRlc3QudGVzdF9leHBlY3RhdGlvbnNfZmlsZXMpOiBEaXR0
by4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllc191bml0
dGVzdC5weToKKyAgICAgICAgKFByaW50RXhwZWN0YXRpb25zVGVzdC50ZXN0X3BhdGhzKTogRGl0
dG8uCisKIDIwMTQtMTAtMDUgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQGdtYWlsLmNvbT4KIAog
ICAgICAgICBbRUZMXSBJbnRyb2R1Y2UgRVdlYktpdF9FeHRlbnNpb24KZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2Jhc2UucHkKaW5kZXggOTA3NGY3ODFjMWY3YWE3ZjI0MWY2MDNkYmFlNzkyNzRlNTlk
OTg4Zi4uMjc3YzViNWUzZjg0MGQ1MWY2Zjg2MTU4MTMyODUwMDIwMmEyMTQyZiAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTEwMjUsOCArMTAyNSwxMSBAQCBjbGFzcyBQb3J0
KG9iamVjdCk6CiAKICAgICAgICAgcmV0dXJuIFtzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5f
d2Via2l0X2Jhc2VsaW5lX3BhdGgoZCksICdUZXN0RXhwZWN0YXRpb25zJykgZm9yIGQgaW4gc2Vh
cmNoX3BhdGhzXQogCisgICAgZGVmIHBhdGhfdG9fdzNjX2V4cGVjdGF0aW9uc19maWxlKHNlbGYp
OgorICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYubGF5b3V0X3Rlc3Rz
X2RpcigpLCAnaW1wb3J0ZWQnLCAndzNjJywgJ1Rlc3RFeHBlY3RhdGlvbnNXM0MnKQorCiAgICAg
ZGVmIGV4cGVjdGF0aW9uc19maWxlcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIFtzZWxmLnBhdGhf
dG9fZ2VuZXJpY190ZXN0X2V4cGVjdGF0aW9uc19maWxlKCldICsgc2VsZi5fcG9ydF9zcGVjaWZp
Y19leHBlY3RhdGlvbnNfZmlsZXMoKQorICAgICAgICByZXR1cm4gW3NlbGYucGF0aF90b19nZW5l
cmljX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKV0gKyBzZWxmLl9wb3J0X3NwZWNpZmljX2V4cGVj
dGF0aW9uc19maWxlcygpICsgW3NlbGYucGF0aF90b193M2NfZXhwZWN0YXRpb25zX2ZpbGUoKV0K
IAogICAgIGRlZiByZXBvc2l0b3J5X3BhdGhzKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm5zIGEg
bGlzdCBvZiAocmVwb3NpdG9yeV9uYW1lLCByZXBvc2l0b3J5X3BhdGgpIHR1cGxlcyBvZiBpdHMg
ZGVwZW5kaW5nIGNvZGUgYmFzZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9ndGtfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX3Vu
aXR0ZXN0LnB5CmluZGV4IDc4NWI3YjE2NDkxNGY0ZWRiNDVhMDYwZmRlMGU3MmNjY2ZkMzFlNzMu
LjUzNWQyOTMxYmVhMjMyN2UwMzMxNDgyNzUwZmE4MjQ2MTlkY2NhYTMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGtfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2d0a191bml0dGVzdC5weQpAQCAtNTksNyArNTksOCBAQCBjbGFz
cyBHdGtQb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIHBvcnQg
PSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5leHBlY3Rh
dGlvbnNfZmlsZXMoKSwgWycvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zJywKICAgICAgICAgICAgICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
azIvVGVzdEV4cGVjdGF0aW9ucycsCi0gICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMnXSkKKyAgICAgICAgICAgICcvbW9j
ay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucycsCisg
ICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1Rlc3RF
eHBlY3RhdGlvbnNXM0MnXSkKIAogICAgIGRlZiB0ZXN0X3Nob3dfcmVzdWx0c19odG1sX2ZpbGUo
c2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IDMzNTk3ZTkxODJkZDkyNGU4NGYw
NDQwMzllNzJlMWY3MjExNjkxMzQuLjE1NGFmOWRkNzE5ODdjMGI1ZGJkYTlhODRhNGI3OTlkOGRk
MmQzMTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3Rj
YXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5
CkBAIC00NzMsMTcgKzQ3MywxNyBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICBkZWYgcGxhdGZvcm1fZGlycyhwb3J0KToKICAgICAgICAgICAgIHJldHVy
biBbcG9ydC5ob3N0LmZpbGVzeXN0ZW0uYmFzZW5hbWUocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZGly
bmFtZShmKSkgZm9yIGYgaW4gcG9ydC5leHBlY3RhdGlvbnNfZmlsZXMoKV0KIAotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHBsYXRmb3JtX2RpcnMocG9ydCksIFsnTGF5b3V0VGVzdHMnLCAndGVz
dHdlYmtpdHBvcnQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwbGF0Zm9ybV9kaXJzKHBv
cnQpLCBbJ0xheW91dFRlc3RzJywgJ3Rlc3R3ZWJraXRwb3J0JywgJ3czYyddKQogCiAgICAgICAg
IHBvcnQgPSBUZXN0V2ViS2l0UG9ydChwb3J0X25hbWU9InRlc3R3ZWJraXRwb3J0LXZlcnNpb24i
KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBsYXRmb3JtX2RpcnMocG9ydCksIFsnTGF5b3V0
VGVzdHMnLCAndGVzdHdlYmtpdHBvcnQnLCAndGVzdHdlYmtpdHBvcnQtdmVyc2lvbiddKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHBsYXRmb3JtX2RpcnMocG9ydCksIFsnTGF5b3V0VGVzdHMn
LCAndGVzdHdlYmtpdHBvcnQnLCAndGVzdHdlYmtpdHBvcnQtdmVyc2lvbicsICd3M2MnXSkKIAog
ICAgICAgICBwb3J0ID0gVGVzdFdlYktpdFBvcnQocG9ydF9uYW1lPSJ0ZXN0d2Via2l0cG9ydC12
ZXJzaW9uLXdrMiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGxhdGZvcm1fZGlycyhwb3J0
KSwgWydMYXlvdXRUZXN0cycsICd0ZXN0d2Via2l0cG9ydCcsICd0ZXN0d2Via2l0cG9ydC12ZXJz
aW9uJywgJ3drMicsICd0ZXN0d2Via2l0cG9ydC13azInXSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChwbGF0Zm9ybV9kaXJzKHBvcnQpLCBbJ0xheW91dFRlc3RzJywgJ3Rlc3R3ZWJraXRwb3J0
JywgJ3Rlc3R3ZWJraXRwb3J0LXZlcnNpb24nLCAnd2syJywgJ3Rlc3R3ZWJraXRwb3J0LXdrMics
ICd3M2MnXSkKIAogICAgICAgICBwb3J0ID0gVGVzdFdlYktpdFBvcnQocG9ydF9uYW1lPSJ0ZXN0
d2Via2l0cG9ydC12ZXJzaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlv
bnM9TW9ja09wdGlvbnMoYWRkaXRpb25hbF9wbGF0Zm9ybV9kaXJlY3Rvcnk9WyJpbnRlcm5hbC10
ZXN0d2Via2l0cG9ydCJdKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwbGF0Zm9ybV9kaXJz
KHBvcnQpLCBbJ0xheW91dFRlc3RzJywgJ3Rlc3R3ZWJraXRwb3J0JywgJ3Rlc3R3ZWJraXRwb3J0
LXZlcnNpb24nLCAnaW50ZXJuYWwtdGVzdHdlYmtpdHBvcnQnXSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChwbGF0Zm9ybV9kaXJzKHBvcnQpLCBbJ0xheW91dFRlc3RzJywgJ3Rlc3R3ZWJraXRw
b3J0JywgJ3Rlc3R3ZWJraXRwb3J0LXZlcnNpb24nLCAnaW50ZXJuYWwtdGVzdHdlYmtpdHBvcnQn
LCAndzNjJ10pCiAKICAgICBkZWYgdGVzdF9yb290X29wdGlvbihzZWxmKToKICAgICAgICAgcG9y
dCA9IFRlc3RXZWJLaXRQb3J0KCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC93aW5fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luX3Vu
aXR0ZXN0LnB5CmluZGV4IDEwMjQ0NjEyMGYxMmViYmYwODcwZWQyNWUxYjVhMTA2NWJhYjIwMWEu
LjNmMjQwNzM2OTBjMTBjNmYzMTU1YzMxZjBhMTg1MzkyODgzNTVkMWQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW5fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L3dpbl91bml0dGVzdC5weQpAQCAtMTA1LDggKzEwNSw4IEBAIGNs
YXNzIFdpblBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChwb3J0Ll9ydW50aW1lX2ZlYXR1cmVfbGlzdCgpLCBbJ2ZvbycsICdiYXIn
XSkKIAogICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19maWxlcyhzZWxmKToKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChsZW4oc2VsZi5tYWtlX3BvcnQoKS5leHBlY3RhdGlvbnNfZmlsZXMoKSks
IDMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYubWFrZV9wb3J0KG9wdGlvbnM9
TW9ja09wdGlvbnMod2Via2l0X3Rlc3RfcnVubmVyPVRydWUsIGNvbmZpZ3VyYXRpb249J1JlbGVh
c2UnKSkuZXhwZWN0YXRpb25zX2ZpbGVzKCkpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxlbihzZWxmLm1ha2VfcG9ydCgpLmV4cGVjdGF0aW9uc19maWxlcygpKSwgNCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5tYWtlX3BvcnQob3B0aW9ucz1Nb2NrT3B0aW9ucyh3
ZWJraXRfdGVzdF9ydW5uZXI9VHJ1ZSwgY29uZmlndXJhdGlvbj0nUmVsZWFzZScpKS5leHBlY3Rh
dGlvbnNfZmlsZXMoKSksIDYpCiAKICAgICBkZWYgdGVzdF9nZXRfY3Jhc2hfbG9nKHNlbGYpOgog
ICAgICAgICAjIFdpbiBjcmFzaCBsb2dzIGFyZSB0ZXN0ZWQgZWxzZXdoZXJlLCBzbyBoZXJlIHdl
IGp1c3QgbWFrZSBzdXJlIHdlIGRvbid0IGNyYXNoLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllc191bml0dGVzdC5weQppbmRleCAxMzhj
MWVmOWIwMDYyMGExNmY5YjZkZGYzODQ3YTkzNzc1YzU1NDk2Li5iZDY4MzQ3OTlmNTAxZTIwNTkw
NjY5OTJjODEwMjU3YmJlNzdjYjM3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvcXVlcmllc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllc191bml0dGVzdC5weQpAQCAtMjI1LDcgKzIyNSw4
IEBAIGNsYXNzIFByaW50RXhwZWN0YXRpb25zVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIHNlbGYucnVuX3Rlc3QoW10sCiAgICAgICAgICAgICAgICAgICAgICAgKCdMYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICdMYXlvdXRUZXN0
cy9wbGF0Zm9ybS90ZXN0L1Rlc3RFeHBlY3RhdGlvbnNcbicKLSAgICAgICAgICAgICAgICAgICAg
ICAgJ0xheW91dFRlc3RzL3BsYXRmb3JtL3Rlc3Qtd2luLXhwL1Rlc3RFeHBlY3RhdGlvbnNcbicp
LAorICAgICAgICAgICAgICAgICAgICAgICAnTGF5b3V0VGVzdHMvcGxhdGZvcm0vdGVzdC13aW4t
eHAvVGVzdEV4cGVjdGF0aW9uc1xuJworICAgICAgICAgICAgICAgICAgICAgICAnTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL1Rlc3RFeHBlY3RhdGlvbnNXM0NcbicpLAogICAgICAgICAgICAgICAg
ICAgICAgIHBhdGhzPVRydWUpCiAKICAgICBkZWYgdGVzdF9wbGF0Zm9ybShzZWxmKToKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQxY2ZmNGMxZDBkMjliNTc5ZDMxZDkxZWYxMzdh
Yzk4MzFiY2QxYzYuLjg0ODBhOWFiZDM2NTdkZTM4NmMxN2RlYmJhODI2N2YxZjk0NDY2YTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTEwLTA2
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAg
QWRkIGEgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBzcGVjaWZpYyB0byBXM0Mgd2ViIHBsYXRmb3Jt
IHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Mzc0NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RFeHBlY3RhdGlvbnNXM0M6IEFkZGVkIHRvIGhhbmRsZSBXUFQgdGVzdCBleHBlY3RhdGlv
bnMuCisKIDIwMTMtMTItMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgSW1wb3J0IHRoZSBYSFRNTCBwYXJzaW5nIGFuZCBzZXJpYWxpemF0aW9uIHRlc3RzIGZv
ciB0ZW1wbGF0ZSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L1Rlc3RFeHBlY3RhdGlvbnNXM0MgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvVGVzdEV4cGVj
dGF0aW9uc1czQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzE0M2NmM2FjNzlkNzE0OWQ3ODM0ZTkyYTBmYzllNTNl
M2NlNTBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1Rlc3RF
eHBlY3RhdGlvbnNXM0MKQEAgLTAsMCArMSBAQAorI2ltcG9ydGVkL3czYy93cHQgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240011</attachid>
            <date>2014-10-17 03:33:39 -0700</date>
            <delta_ts>2014-12-23 07:43:43 -0800</delta_ts>
            <desc>Moved W3C test expectations next to generic test expectations</desc>
            <filename>bug-137441-20141017123343.patch</filename>
            <type>text/plain</type>
            <size>15077</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NzYxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTRkMmVlYzk5Mjk3YmRlNTAyYTYyNzc4ZjViMmU1YzY2
MWM0MGZjMi4uZTcyMzZhNWVhN2UxOTg3MjdmOGRkOGY5ZWRiY2FmZmI0OGEyYzU2YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4
IEBACisyMDE0LTEwLTE3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24u
ZnI+CisKKyAgICAgICAgQWRkIGEgdGVzdCBleHBlY3RhdGlvbnMgZmlsZSBzcGVjaWZpYyB0byBX
M0Mgd2ViIHBsYXRmb3JtIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzc0NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRzIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvd3B0
L1Rlc3RFeHBlY3RhdGlvbnMgYXMgc291cmNlIGZvciBhZGRpdGlvbmFsIHRlc3QgZXhwZWN0YXRp
b25zLgorICAgICAgICBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gZXhwZWN0YXRpb25zIGZvciB0
ZXN0cyBpbiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd3B0LgorICAgICAgICBJdCBpcyBwbGFj
ZWQganVzdCBhZnRlciB0aGUgZ2VuZXJpYyBUZXN0RXhwZWN0YXRpb25zIGZpbGUgaW4gdGhlIGV4
cGVjdGF0aW9ucyBoaWVyYXJjaHkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9saW50X3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRmFr
ZVBvcnQucGF0aF90b193M2NfdGVzdF9leHBlY3RhdGlvbnNfZmlsZSk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5Ogor
ICAgICAgICAoVGVzdEV4cGVjdGF0aW9ucy5fcGFyc2VfY3VycmVudF9leHBlY3RhdGlvbnNfZGlj
dF9maWxlKTogVXRpbGl0eSBmdW5jdGlvbi4KKyAgICAgICAgKFRlc3RFeHBlY3RhdGlvbnMucGFy
c2VfZ2VuZXJpY19leHBlY3RhdGlvbnMpOiBBZGRpbmcgaGFuZGxpbmcgb2YgVzNDIHRlc3QgZXhw
ZWN0YXRpb24gYXMgZ2VuZXJpYyB0ZXN0IGV4cGVjdGF0aW9uIGZpbGUuCisgICAgICAgIChUZXN0
RXhwZWN0YXRpb25zLnBhcnNlX2RlZmF1bHRfcG9ydF9leHBlY3RhdGlvbnMpOiBVc2luZyBvZiB0
aGUgbmV3IHV0aWxpdHkgZnVuY3Rpb24uCisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zLnBhcnNl
X292ZXJyaWRlX2V4cGVjdGF0aW9ucyk6IFVzaW5nIG9mIHRoZSBuZXcgdXRpbGl0eSBmdW5jdGlv
bi4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBv
cnQucGF0aF90b193M2NfdGVzdF9leHBlY3RhdGlvbnNfZmlsZSk6IFJldHVybnMgdGhlIGZpbGVu
YW1lIG9mIHRoZSBXM0MgdGVzdCBleHBlY3RhdGlvbiBmaWxlLgorICAgICAgICAoUG9ydC5leHBl
Y3RhdGlvbnNfZmlsZXMpOiBBZGQgdGhlIFczQyB0ZXN0IGVzcGVjdGF0aW9uIGZpbGUgYXMgYWRk
aXRpb25hbCBzb3VyY2UgZm9yIGFkZGl0aW9uYWwgdGVzdCBleHBlY3RhdGlvbnMuCisgICAgICAg
IChQb3J0LnRlc3RfZXhwZWN0YXRpb25zX2ZpbGVfcG9zaXRpb24pOiBVcGRhdGVzIHRoZSBwb3Np
dGlvbiBzbyB0aGF0IFczQyBnZW5lcmljIHRlc3QgZXhwZWN0YXRpb24gZmlsZSBpcyBzZWVuIGFz
IGdlbmVyaWMgYW5kIG5vdCBwbGF0Zm9ybSBzcGVjaWZpYy4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3BvcnQvZWZsLnB5OgorICAgICAgICAoRWZsUG9ydC50ZXN0X2V4cGVjdGF0aW9uc19m
aWxlX3Bvc2l0aW9uKTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0
ay5weToKKyAgICAgICAgKEd0a1BvcnQudGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbik6
IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGtfdW5pdHRlc3QucHk6
CisgICAgICAgIChHdGtQb3J0VGVzdC50ZXN0X3BvcnRfc3BlY2lmaWNfZXhwZWN0YXRpb25zX2Zp
bGVzKTogVXBkYXRlcyB0ZXN0IHJlc3VsdHMgYWNjb3JkaW5nIGFkZGl0aW9uYWwgdGVzdCBleHBl
Y3RhdGlvbiBmaWxlLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3Rj
YXNlLnB5OgorICAgICAgICAoUG9ydFRlc3RDYXNlLnRlc3RfZXhwZWN0YXRpb25zX2ZpbGVzKTog
RGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbl91bml0dGVzdC5weToK
KyAgICAgICAgKFdpblBvcnRUZXN0LnRlc3RfZXhwZWN0YXRpb25zX2ZpbGVzKTogRGl0dG8uCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXNfdW5pdHRlc3Qu
cHk6CisgICAgICAgIChQcmludEV4cGVjdGF0aW9uc1Rlc3QudGVzdF9wYXRocyk6IERpdHRvLgor
CiAyMDE0LTEwLTE1ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgYWRkIG15c2VsZiB0byBDb29yZGluYXRlZEdyYXBoaWNzIHdh
dGNoZXJzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bGludF90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2xpbnRfdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKaW5kZXgg
YzM4NGFmNzdkMTYxY2FjZDg3MzFjMDBlNmM4MDAzMjFiZWM2N2QzOC4uYTU5NzMyMWIzMmZmNTJm
M2VjY2E3YmE1NjZhMzFlOTE2NjZlOTNlZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvbGludF90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9saW50X3Rlc3RfZXhwZWN0YXRp
b25zX3VuaXR0ZXN0LnB5CkBAIC02Miw2ICs2Miw5IEBAIGNsYXNzIEZha2VQb3J0KG9iamVjdCk6
CiAgICAgZGVmIHBhdGhfdG9fZ2VuZXJpY190ZXN0X2V4cGVjdGF0aW9uc19maWxlKHNlbGYpOgog
ICAgICAgICByZXR1cm4gJycKIAorICAgIGRlZiBwYXRoX3RvX3czY190ZXN0X2V4cGVjdGF0aW9u
c19maWxlKHNlbGYpOgorICAgICAgICByZXR1cm4gJycKKwogY2xhc3MgRmFrZUZhY3Rvcnkob2Jq
ZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydHMpOgogICAgICAgICBzZWxm
Lmhvc3QgPSBob3N0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKaW5kZXggMDllZjNkNDUx
NGQzZThhZTgxZTMzOWY0MzA5OWY2Mjk4MzAwYzg3OC4uYzRjNjc5ZTFjNGQzYzRmN2E0YzhhZWI5
OGFjN2E2Y2I5MTc1ZThiMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQpAQCAtODQ0
LDI2ICs4NDQsMjkgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9ucyhvYmplY3QpOgogICAgICAgICBz
ZWxmLl9pbmNsdWRlX292ZXJyaWRlcyA9IGluY2x1ZGVfb3ZlcnJpZGVzCiAgICAgICAgIHNlbGYu
X2V4cGVjdGF0aW9uc190b19saW50ID0gZXhwZWN0YXRpb25zX3RvX2xpbnQKIAorICAgIGRlZiBf
cGFyc2VfY3VycmVudF9leHBlY3RhdGlvbnNfZGljdF9maWxlKHNlbGYpOgorICAgICAgICBleHBl
Y3RhdGlvbnMgPSBzZWxmLl9wYXJzZXIucGFyc2Uoc2VsZi5fZXhwZWN0YXRpb25zX2RpY3Qua2V5
cygpW3NlbGYuX2V4cGVjdGF0aW9uc19kaWN0X2luZGV4XSwgc2VsZi5fZXhwZWN0YXRpb25zX2Rp
Y3QudmFsdWVzKClbc2VsZi5fZXhwZWN0YXRpb25zX2RpY3RfaW5kZXhdKQorICAgICAgICBzZWxm
Ll9hZGRfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9ucykKKyAgICAgICAgc2VsZi5fZXhwZWN0YXRp
b25zICs9IGV4cGVjdGF0aW9ucworCiAgICAgZGVmIHBhcnNlX2dlbmVyaWNfZXhwZWN0YXRpb25z
KHNlbGYpOgogICAgICAgICBpZiBzZWxmLl9wb3J0LnBhdGhfdG9fZ2VuZXJpY190ZXN0X2V4cGVj
dGF0aW9uc19maWxlKCkgaW4gc2VsZi5fZXhwZWN0YXRpb25zX2RpY3Q6CiAgICAgICAgICAgICBp
ZiBzZWxmLl9pbmNsdWRlX2dlbmVyaWM6Ci0gICAgICAgICAgICAgICAgZXhwZWN0YXRpb25zID0g
c2VsZi5fcGFyc2VyLnBhcnNlKHNlbGYuX2V4cGVjdGF0aW9uc19kaWN0LmtleXMoKVtzZWxmLl9l
eHBlY3RhdGlvbnNfZGljdF9pbmRleF0sIHNlbGYuX2V4cGVjdGF0aW9uc19kaWN0LnZhbHVlcygp
W3NlbGYuX2V4cGVjdGF0aW9uc19kaWN0X2luZGV4XSkKLSAgICAgICAgICAgICAgICBzZWxmLl9h
ZGRfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9ucykKLSAgICAgICAgICAgICAgICBzZWxmLl9leHBl
Y3RhdGlvbnMgKz0gZXhwZWN0YXRpb25zCisgICAgICAgICAgICAgICAgc2VsZi5fcGFyc2VfY3Vy
cmVudF9leHBlY3RhdGlvbnNfZGljdF9maWxlKCkKKyAgICAgICAgICAgIHNlbGYuX2V4cGVjdGF0
aW9uc19kaWN0X2luZGV4ICs9IDEKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5wYXRoX3RvX3czY190
ZXN0X2V4cGVjdGF0aW9uc19maWxlKCkgaW4gc2VsZi5fZXhwZWN0YXRpb25zX2RpY3Q6CisgICAg
ICAgICAgICBpZiBzZWxmLl9pbmNsdWRlX2dlbmVyaWM6CisgICAgICAgICAgICAgICAgc2VsZi5f
cGFyc2VfY3VycmVudF9leHBlY3RhdGlvbnNfZGljdF9maWxlKCkKICAgICAgICAgICAgIHNlbGYu
X2V4cGVjdGF0aW9uc19kaWN0X2luZGV4ICs9IDEKIAogICAgIGRlZiBwYXJzZV9kZWZhdWx0X3Bv
cnRfZXhwZWN0YXRpb25zKHNlbGYpOgogICAgICAgICBpZiBsZW4oc2VsZi5fZXhwZWN0YXRpb25z
X2RpY3QpID4gc2VsZi5fZXhwZWN0YXRpb25zX2RpY3RfaW5kZXg6Ci0gICAgICAgICAgICBleHBl
Y3RhdGlvbnMgPSBzZWxmLl9wYXJzZXIucGFyc2Uoc2VsZi5fZXhwZWN0YXRpb25zX2RpY3Qua2V5
cygpW3NlbGYuX2V4cGVjdGF0aW9uc19kaWN0X2luZGV4XSwgc2VsZi5fZXhwZWN0YXRpb25zX2Rp
Y3QudmFsdWVzKClbc2VsZi5fZXhwZWN0YXRpb25zX2RpY3RfaW5kZXhdKQotICAgICAgICAgICAg
c2VsZi5fYWRkX2V4cGVjdGF0aW9ucyhleHBlY3RhdGlvbnMpCi0gICAgICAgICAgICBzZWxmLl9l
eHBlY3RhdGlvbnMgKz0gZXhwZWN0YXRpb25zCisgICAgICAgICAgICBzZWxmLl9wYXJzZV9jdXJy
ZW50X2V4cGVjdGF0aW9uc19kaWN0X2ZpbGUoKQogICAgICAgICAgICAgc2VsZi5fZXhwZWN0YXRp
b25zX2RpY3RfaW5kZXggKz0gMQogCiAgICAgZGVmIHBhcnNlX292ZXJyaWRlX2V4cGVjdGF0aW9u
cyhzZWxmKToKICAgICAgICAgd2hpbGUgbGVuKHNlbGYuX2V4cGVjdGF0aW9uc19kaWN0KSA+IHNl
bGYuX2V4cGVjdGF0aW9uc19kaWN0X2luZGV4IGFuZCBzZWxmLl9pbmNsdWRlX292ZXJyaWRlczoK
LSAgICAgICAgICAgIGV4cGVjdGF0aW9ucyA9IHNlbGYuX3BhcnNlci5wYXJzZShzZWxmLl9leHBl
Y3RhdGlvbnNfZGljdC5rZXlzKClbc2VsZi5fZXhwZWN0YXRpb25zX2RpY3RfaW5kZXhdLCBzZWxm
Ll9leHBlY3RhdGlvbnNfZGljdC52YWx1ZXMoKVtzZWxmLl9leHBlY3RhdGlvbnNfZGljdF9pbmRl
eF0pCi0gICAgICAgICAgICBzZWxmLl9hZGRfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9ucykKLSAg
ICAgICAgICAgIHNlbGYuX2V4cGVjdGF0aW9ucyArPSBleHBlY3RhdGlvbnMKKyAgICAgICAgICAg
IHNlbGYuX3BhcnNlX2N1cnJlbnRfZXhwZWN0YXRpb25zX2RpY3RfZmlsZSgpCiAgICAgICAgICAg
ICBzZWxmLl9leHBlY3RhdGlvbnNfZGljdF9pbmRleCArPSAxCiAKICAgICBkZWYgcGFyc2VfYWxs
X2V4cGVjdGF0aW9ucyhzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXgg
OTA3NGY3ODFjMWY3YWE3ZjI0MWY2MDNkYmFlNzkyNzRlNTlkOTg4Zi4uMmE2NTVhMTJlZDE2YzBl
M2ViNWNhZTdmZmE1OGRlNTVjMjlhOGUwZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2Uu
cHkKQEAgLTEwMjUsOCArMTAyNSwxMSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAKICAgICAgICAg
cmV0dXJuIFtzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgo
ZCksICdUZXN0RXhwZWN0YXRpb25zJykgZm9yIGQgaW4gc2VhcmNoX3BhdGhzXQogCisgICAgZGVm
IHBhdGhfdG9fdzNjX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5sYXlvdXRfdGVzdHNfZGlyKCksICdpbXBvcnRl
ZCcsICd3M2MnLCAncmVzb3VyY2VzJywgJ3dwdCcsICdUZXN0RXhwZWN0YXRpb25zJykKKwogICAg
IGRlZiBleHBlY3RhdGlvbnNfZmlsZXMoc2VsZik6Ci0gICAgICAgIHJldHVybiBbc2VsZi5wYXRo
X3RvX2dlbmVyaWNfdGVzdF9leHBlY3RhdGlvbnNfZmlsZSgpXSArIHNlbGYuX3BvcnRfc3BlY2lm
aWNfZXhwZWN0YXRpb25zX2ZpbGVzKCkKKyAgICAgICAgcmV0dXJuIFtzZWxmLnBhdGhfdG9fZ2Vu
ZXJpY190ZXN0X2V4cGVjdGF0aW9uc19maWxlKCksIHNlbGYucGF0aF90b193M2NfdGVzdF9leHBl
Y3RhdGlvbnNfZmlsZSgpXSArIHNlbGYuX3BvcnRfc3BlY2lmaWNfZXhwZWN0YXRpb25zX2ZpbGVz
KCkKIAogICAgIGRlZiByZXBvc2l0b3J5X3BhdGhzKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm5z
IGEgbGlzdCBvZiAocmVwb3NpdG9yeV9uYW1lLCByZXBvc2l0b3J5X3BhdGgpIHR1cGxlcyBvZiBp
dHMgZGVwZW5kaW5nIGNvZGUgYmFzZS4KQEAgLTEzOTgsOCArMTQwMSw4IEBAIGNsYXNzIFBvcnQo
b2JqZWN0KToKICAgICAgICAgcmV0dXJuIFtdCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNf
ZmlsZV9wb3NpdGlvbihzZWxmKToKLSAgICAgICAgIyBCeSBkZWZhdWx0IGJhc2VsaW5lIHNlYXJj
aCBwYXRoIHNjaGVtYSBpcyBpLmUuIHBvcnQtd2syIC0+IHdrMiAtPiBwb3J0IC0+IGdlbmVyaWMs
IHNvIHBvcnQgZXhwZWN0YXRpb25zIGZpbGUgaXMgYXQgc2Vjb25kIHRvIGxhc3QgcG9zaXRpb24u
Ci0gICAgICAgIHJldHVybiAxCisgICAgICAgICMgQnkgZGVmYXVsdCBiYXNlbGluZSBzZWFyY2gg
cGF0aCBzY2hlbWEgaXMgaS5lLiBwb3J0LXdrMiAtPiB3azIgLT4gcG9ydCAtPiB3M2MgLT4gZ2Vu
ZXJpYywgc28gcG9ydCBleHBlY3RhdGlvbnMgZmlsZSBpcyBhdCB0aGlyZCB0byBsYXN0IHBvc2l0
aW9uLgorICAgICAgICByZXR1cm4gMgogCiBjbGFzcyBWaXJ0dWFsVGVzdFN1aXRlKG9iamVjdCk6
CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGJhc2UsIGFyZ3MsIHRlc3RzPU5vbmUpOgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2VmbC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9lZmwucHkKaW5kZXggYzQ1M2QzMmIzODVhZDIyYjBhMGU0OGFj
M2Y3Yzg1NjY5ZDA5YTkxOS4uOGZlMmUyYTY1ZWMzYmQ1ODY0M2I0ZjFjODAwNmE2YWFmYTVjYzgx
OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2VmbC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5CkBAIC0xNDIsNSArMTQyLDUgQEAgY2xh
c3MgRWZsUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIEdEQkNyYXNoTG9nR2VuZXJhdG9yKG5h
bWUsIHBpZCwgbmV3ZXJfdGhhbiwgc2VsZi5fZmlsZXN5c3RlbSwgc2VsZi5fcGF0aF90b19kcml2
ZXIpLmdlbmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVycikKIAogICAgIGRlZiB0ZXN0X2V4
cGVjdGF0aW9uc19maWxlX3Bvc2l0aW9uKHNlbGYpOgotICAgICAgICAjIEVGTCBwb3J0IGJhc2Vs
aW5lIHNlYXJjaCBwYXRoIGlzIGVmbCAtPiB3azIgLT4gZ2VuZXJpYyAoYXMgZWZsLXdrMiBhbmQg
ZWZsIGJhc2VsaW5lcyBhcmUgbWVyZ2VkKSwgc28gcG9ydCB0ZXN0IGV4cGVjdGF0aW9ucyBmaWxl
IGlzIGF0IHRoaXJkIHRvIGxhc3QgcG9zaXRpb24uCi0gICAgICAgIHJldHVybiAyCisgICAgICAg
ICMgRUZMIHBvcnQgYmFzZWxpbmUgc2VhcmNoIHBhdGggaXMgZWZsIC0+IHdrMiAtPiB3M2MgLT4g
Z2VuZXJpYyAoYXMgZWZsLXdrMiBhbmQgZWZsIGJhc2VsaW5lcyBhcmUgbWVyZ2VkKSwgc28gcG9y
dCB0ZXN0IGV4cGVjdGF0aW9ucyBmaWxlIGlzIGF0IGZvdXJ0aCB0byBsYXN0IHBvc2l0aW9uLgor
ICAgICAgICByZXR1cm4gMwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKaW5kZXggOGUxNjkz
YWVkY2NhNjcyYTUyYTY5ZDc2MzljNzI4MWM0NjkzZGZlZS4uMjNkNDY3Mzg5MjQ0NWM3MzYyMWE1
ODk4NzczZjZmMzlkMWI3MzQyYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2d0ay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CkBAIC0y
MTAsOCArMjEwLDggQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIEdEQkNy
YXNoTG9nR2VuZXJhdG9yKG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwgc2VsZi5fZmlsZXN5c3RlbSwg
c2VsZi5fcGF0aF90b19kcml2ZXIpLmdlbmVyYXRlX2NyYXNoX2xvZyhzdGRvdXQsIHN0ZGVycikK
IAogICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19maWxlX3Bvc2l0aW9uKHNlbGYpOgotICAgICAg
ICAjIEdUSyBwb3J0IGJhc2VsaW5lIHNlYXJjaCBwYXRoIGlzIGd0ayAtPiB3azIgLT4gZ2VuZXJp
YyAoYXMgZ3RrLXdrMiBhbmQgZ3RrIGJhc2VsaW5lcyBhcmUgbWVyZ2VkKSwgc28gcG9ydCB0ZXN0
IGV4cGVjdGF0aW9ucyBmaWxlIGlzIGF0IHRoaXJkIHRvIGxhc3QgcG9zaXRpb24uCi0gICAgICAg
IHJldHVybiAyCisgICAgICAgICMgR1RLIHBvcnQgYmFzZWxpbmUgc2VhcmNoIHBhdGggaXMgZ3Rr
IC0+IHdrMiAtPiB3M2MgLT4gZ2VuZXJpYyAoYXMgZ3RrLXdrMiBhbmQgZ3RrIGJhc2VsaW5lcyBh
cmUgbWVyZ2VkKSwgc28gcG9ydCB0ZXN0IGV4cGVjdGF0aW9ucyBmaWxlIGlzIGF0IGZvdXJ0aCB0
byBsYXN0IHBvc2l0aW9uLgorICAgICAgICByZXR1cm4gMwogCiAgICAgZGVmIGJ1aWxkX3dlYmtp
dF9jb21tYW5kKHNlbGYsIGJ1aWxkX3N0eWxlPU5vbmUpOgogICAgICAgICBjb21tYW5kID0gc3Vw
ZXIoR3RrUG9ydCwgc2VsZikuYnVpbGRfd2Via2l0X2NvbW1hbmQoYnVpbGRfc3R5bGUpCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX3VuaXR0ZXN0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0a191bml0dGVzdC5weQppbmRleCA3ODViN2IxNjQ5
MTRmNGVkYjQ1YTA2MGZkZTBlNzJjY2NmZDMxZTczLi5lZTA5MDllZWIyMTVlZmExODhhODMwMDlj
ZjQ4OWU4YmMyMDIxNWYzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
Z3RrX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGtfdW5p
dHRlc3QucHkKQEAgLTU4LDYgKzU4LDcgQEAgY2xhc3MgR3RrUG9ydFRlc3QocG9ydF90ZXN0Y2Fz
ZS5Qb3J0VGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3BvcnRfc3BlY2lmaWNfZXhwZWN0YXRpb25z
X2ZpbGVzKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHBvcnQuZXhwZWN0YXRpb25zX2ZpbGVzKCksIFsnL21vY2stY2hlY2tv
dXQvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucycsCisgICAgICAgICAgICAnL21vY2stY2hl
Y2tvdXQvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy93cHQvVGVzdEV4cGVjdGF0
aW9ucycsCiAgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2syL1Rlc3RFeHBlY3RhdGlvbnMnLAogICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0L0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zJ10pCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2UucHkKaW5kZXggMzM1OTdlOTE4MmRkOTI0ZTg0
ZjA0NDAzOWU3MmUxZjcyMTE2OTEzNC4uODZmMGZjNzI0MzMwOTJmMTVhYWY1ZDM2Nzc2ZGE3ZTY5
M2M2NzczNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVz
dGNhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2Uu
cHkKQEAgLTQ3MywxNyArNDczLDE3IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIGRlZiBwbGF0Zm9ybV9kaXJzKHBvcnQpOgogICAgICAgICAgICAgcmV0
dXJuIFtwb3J0Lmhvc3QuZmlsZXN5c3RlbS5iYXNlbmFtZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5k
aXJuYW1lKGYpKSBmb3IgZiBpbiBwb3J0LmV4cGVjdGF0aW9uc19maWxlcygpXQogCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocGxhdGZvcm1fZGlycyhwb3J0KSwgWydMYXlvdXRUZXN0cycsICd0
ZXN0d2Via2l0cG9ydCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBsYXRmb3JtX2RpcnMo
cG9ydCksIFsnTGF5b3V0VGVzdHMnLCAnd3B0JywgJ3Rlc3R3ZWJraXRwb3J0J10pCiAKICAgICAg
ICAgcG9ydCA9IFRlc3RXZWJLaXRQb3J0KHBvcnRfbmFtZT0idGVzdHdlYmtpdHBvcnQtdmVyc2lv
biIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGxhdGZvcm1fZGlycyhwb3J0KSwgWydMYXlv
dXRUZXN0cycsICd0ZXN0d2Via2l0cG9ydCcsICd0ZXN0d2Via2l0cG9ydC12ZXJzaW9uJ10pCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGxhdGZvcm1fZGlycyhwb3J0KSwgWydMYXlvdXRUZXN0
cycsICd3cHQnLCAndGVzdHdlYmtpdHBvcnQnLCAndGVzdHdlYmtpdHBvcnQtdmVyc2lvbiddKQog
CiAgICAgICAgIHBvcnQgPSBUZXN0V2ViS2l0UG9ydChwb3J0X25hbWU9InRlc3R3ZWJraXRwb3J0
LXZlcnNpb24td2syIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwbGF0Zm9ybV9kaXJzKHBv
cnQpLCBbJ0xheW91dFRlc3RzJywgJ3Rlc3R3ZWJraXRwb3J0JywgJ3Rlc3R3ZWJraXRwb3J0LXZl
cnNpb24nLCAnd2syJywgJ3Rlc3R3ZWJraXRwb3J0LXdrMiddKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHBsYXRmb3JtX2RpcnMocG9ydCksIFsnTGF5b3V0VGVzdHMnLCAnd3B0JywgJ3Rlc3R3
ZWJraXRwb3J0JywgJ3Rlc3R3ZWJraXRwb3J0LXZlcnNpb24nLCAnd2syJywgJ3Rlc3R3ZWJraXRw
b3J0LXdrMiddKQogCiAgICAgICAgIHBvcnQgPSBUZXN0V2ViS2l0UG9ydChwb3J0X25hbWU9InRl
c3R3ZWJraXRwb3J0LXZlcnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0
aW9ucz1Nb2NrT3B0aW9ucyhhZGRpdGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeT1bImludGVybmFs
LXRlc3R3ZWJraXRwb3J0Il0pKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBsYXRmb3JtX2Rp
cnMocG9ydCksIFsnTGF5b3V0VGVzdHMnLCAndGVzdHdlYmtpdHBvcnQnLCAndGVzdHdlYmtpdHBv
cnQtdmVyc2lvbicsICdpbnRlcm5hbC10ZXN0d2Via2l0cG9ydCddKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHBsYXRmb3JtX2RpcnMocG9ydCksIFsnTGF5b3V0VGVzdHMnLCAnd3B0JywgJ3Rl
c3R3ZWJraXRwb3J0JywgJ3Rlc3R3ZWJraXRwb3J0LXZlcnNpb24nLCAnaW50ZXJuYWwtdGVzdHdl
YmtpdHBvcnQnXSkKIAogICAgIGRlZiB0ZXN0X3Jvb3Rfb3B0aW9uKHNlbGYpOgogICAgICAgICBw
b3J0ID0gVGVzdFdlYktpdFBvcnQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3dpbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW5f
dW5pdHRlc3QucHkKaW5kZXggMTAyNDQ2MTIwZjEyZWJiZjA4NzBlZDI1ZTFiNWExMDY1YmFiMjAx
YS4uM2YyNDA3MzY5MGMxMGM2ZjMxNTVjMzFmMGExODUzOTI4ODM1NWQxZCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbl91bml0dGVzdC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luX3VuaXR0ZXN0LnB5CkBAIC0xMDUsOCArMTA1LDggQEAg
Y2xhc3MgV2luUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHBvcnQuX3J1bnRpbWVfZmVhdHVyZV9saXN0KCksIFsnZm9vJywgJ2Jh
ciddKQogCiAgICAgZGVmIHRlc3RfZXhwZWN0YXRpb25zX2ZpbGVzKHNlbGYpOgotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLm1ha2VfcG9ydCgpLmV4cGVjdGF0aW9uc19maWxlcygp
KSwgMykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5tYWtlX3BvcnQob3B0aW9u
cz1Nb2NrT3B0aW9ucyh3ZWJraXRfdGVzdF9ydW5uZXI9VHJ1ZSwgY29uZmlndXJhdGlvbj0nUmVs
ZWFzZScpKS5leHBlY3RhdGlvbnNfZmlsZXMoKSksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwobGVuKHNlbGYubWFrZV9wb3J0KCkuZXhwZWN0YXRpb25zX2ZpbGVzKCkpLCA0KQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLm1ha2VfcG9ydChvcHRpb25zPU1vY2tPcHRpb25z
KHdlYmtpdF90ZXN0X3J1bm5lcj1UcnVlLCBjb25maWd1cmF0aW9uPSdSZWxlYXNlJykpLmV4cGVj
dGF0aW9uc19maWxlcygpKSwgNikKIAogICAgIGRlZiB0ZXN0X2dldF9jcmFzaF9sb2coc2VsZik6
CiAgICAgICAgICMgV2luIGNyYXNoIGxvZ3MgYXJlIHRlc3RlZCBlbHNld2hlcmUsIHNvIGhlcmUg
d2UganVzdCBtYWtlIHN1cmUgd2UgZG9uJ3QgY3Jhc2guCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllc191bml0dGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzX3VuaXR0ZXN0LnB5CmluZGV4IDEz
OGMxZWY5YjAwNjIwYTE2ZjliNmRkZjM4NDdhOTM3NzVjNTU0OTYuLjk5NDI3YmQzMmRmZWZlNDI2
ZjZmZjQ1MjFkMTk2NDVlYzY0NWZlN2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzX3VuaXR0ZXN0LnB5CkBAIC0yMjQsNiArMjI0
LDcgQEAgY2xhc3MgUHJpbnRFeHBlY3RhdGlvbnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICBkZWYgdGVzdF9wYXRocyhzZWxmKToKICAgICAgICAgc2VsZi5ydW5fdGVzdChbXSwKICAgICAg
ICAgICAgICAgICAgICAgICAoJ0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnNcbicKKyAgICAg
ICAgICAgICAgICAgICAgICAgJ0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvd3B0
L1Rlc3RFeHBlY3RhdGlvbnNcbicKICAgICAgICAgICAgICAgICAgICAgICAgJ0xheW91dFRlc3Rz
L3BsYXRmb3JtL3Rlc3QvVGVzdEV4cGVjdGF0aW9uc1xuJwogICAgICAgICAgICAgICAgICAgICAg
ICAnTGF5b3V0VGVzdHMvcGxhdGZvcm0vdGVzdC13aW4teHAvVGVzdEV4cGVjdGF0aW9uc1xuJyks
CiAgICAgICAgICAgICAgICAgICAgICAgcGF0aHM9VHJ1ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IDQxY2ZmNGMxZDBkMjliNTc5ZDMxZDkxZWYxMzdhYzk4MzFiY2QxYzYuLjIx
YzU5ZDExMGY1YjNiNWI0ZmU4NzgyZjY3NTI2ZjM2YjhjMmE2MDMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTEwLTE3ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQWRkIGEgdGVzdCBleHBl
Y3RhdGlvbnMgZmlsZSBzcGVjaWZpYyB0byBXM0Mgd2ViIHBsYXRmb3JtIHRlc3RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzc0NDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlc291cmNlcy93cHQv
VGVzdEV4cGVjdGF0aW9uczogQWRkZWQgdG8gaGFuZGxlIFdQVCB0ZXN0IGV4cGVjdGF0aW9ucy4K
KwogMjAxMy0xMi0wMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBJbXBvcnQgdGhlIFhIVE1MIHBhcnNpbmcgYW5kIHNlcmlhbGl6YXRpb24gdGVzdHMgZm9yIHRl
bXBsYXRlIGVsZW1lbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVz
b3VyY2VzL3dwdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jl
c291cmNlcy93cHQvVGVzdEV4cGVjdGF0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzE0M2NmM2FjNzlkNzE0
OWQ3ODM0ZTkyYTBmYzllNTNlM2NlNTBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy93cHQvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMCwwICsxIEBA
CisjaW1wb3J0ZWQvdzNjL3dwdCBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>