<?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>219500</bug_id>
          
          <creation_ts>2020-12-03 11:53:17 -0800</creation_ts>
          <short_desc>[EWS] run-layout-tests-without-patch step should only retry the tests that failed on the previous steps</short_desc>
          <delta_ts>2022-09-17 19:58:08 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=231265</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=245329</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>clopez</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>dpino</cc>
    
    <cc>jbedard</cc>
    
    <cc>lmoura</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1711742</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-12-03 11:53:17 -0800</bug_when>
    <thetext>When a patch that introduces failures the EWS for layout tests currently does this:

1.  step run-layout-tests: run all the tests with the pach
2.  step re-run-layout-tests: re-run all the tests with the pach
3.  step run-layout-tests-without-patch: re-run all the tests without the pach


Then it picks the tests that failed both in 1. and 2. and compares that with the tests that failed on 3.

tests_that_consistently_failed = first_results_failing_tests.intersection(second_results_failing_tests)
flaky_failures = first_results_failing_tests.union(second_results_failing_tests) - first_results_failing_tests.intersection(second_results_failing_tests)
failures_introduced_by_patch = tests_that_consistently_failed - clean_tree_results_failing_tests


The problem with this is the time that it takes to run the whole layout tests (between 30 minutes and 1 hour). So when a patch introduces new failures the EWS takes a lot to process.

This problem is specially relevant for WebKitGTK, where we are trying to add an EWS that runs layout tests but our tree is not always green, so even when the patch doesn&apos;t introduce new failures the EWS has to run the 3 steps to compare with the clean tree (which is not clean).


I think it would be idea to change this logic to on steps 2 and 3 to only run the tests that failed on the first step.

See example:

1.  step run-layout-tests: run all the tests with the pach (30 minutes)
    - Failed tests: {&apos;fast/css/failure1.html&apos;, &apos;fast/css/failure2.html&apos;, &apos;fast/css/flaky_test.html&apos;}

2.  step re-run-layout-tests: re-run only this 3 failures (1 minute)
    - Failed tests: {&apos;fast/css/failure1.html&apos;, &apos;fast/css/failure2.html&apos;}


3. step run-layout-tests-without-patch: re-run only the 3 failures (1 minute=
   - Failed tests: {&apos;fast/css/flaky_test.html&apos;}

result:

tests_that_consistently_failed =  {&apos;fast/css/failure1.html&apos;, &apos;fast/css/failure2.html&apos;}
flaky_failures =   {&apos;fast/css/flaky_test.html&apos;}
failures_introduced_by_patch = {&apos;fast/css/failure1.html&apos;, &apos;fast/css/failure2.html&apos;}


So the end result is the same but much faster as we only run once the whole layout test step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711748</commentid>
    <comment_count>1</comment_count>
      <attachid>415318</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-12-03 12:01:26 -0800</bug_when>
    <thetext>Created attachment 415318
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711752</commentid>
    <comment_count>2</comment_count>
      <attachid>415319</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-12-03 12:09:24 -0800</bug_when>
    <thetext>Created attachment 415319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711788</commentid>
    <comment_count>3</comment_count>
      <attachid>415319</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-12-03 13:26:18 -0800</bug_when>
    <thetext>Comment on attachment 415319
Patch

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

&gt; Tools/ChangeLog:14
&gt; +        This helps to speed up the test times on the EWS when the patch
&gt; +        doesn&apos;t pass on the first try. This is specially useful when the
&gt; +        clean-tree-without-patch is not 100% green or has some flakies.

Great idea!

I can&apos;t think of any major problem with running a subset of tests in clean-tree-without-patch, given that retries are enabled on EWS (so tests that only fail because of dependencies aren&apos;t detected anyway).

However, re-run-layout-tests needs to run the whole test suite, so that we could detect failures by count. E.g. if a patch introduces failures on a random subset totaling 1% of tests, we would detect 30 failures on the first run, and it&apos;s absolutely not sufficient to only re-run those 30 (chances are that we&apos;ll hit zero failures, and green-light the patch).

There is a small problem with run-layout-tests-without-patch too. What about tests that were just added with the patch, just marked in TestExpectations, or just unmarked? Forcing these tests via command line arguments will produce incorrect results in some of these cases.

&gt; Tools/CISupport/ews-build/steps.py:1949
&gt; +            self.setCommand(self.command + list(first_results_failing_tests))

Are we guaranteed to not run out of command line length limit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711789</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-12-03 13:27:26 -0800</bug_when>
    <thetext>At a higher level, I think that the solution to this problem is using flakiness dashboard data to ignore tests known to be flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711797</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-12-03 13:48:36 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #3)
&gt; Comment on attachment 415319 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=415319&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:14
&gt; &gt; +        This helps to speed up the test times on the EWS when the patch
&gt; &gt; +        doesn&apos;t pass on the first try. This is specially useful when the
&gt; &gt; +        clean-tree-without-patch is not 100% green or has some flakies.
&gt; 
&gt; Great idea!
&gt; 
&gt; I can&apos;t think of any major problem with running a subset of tests in
&gt; clean-tree-without-patch, given that retries are enabled on EWS (so tests
&gt; that only fail because of dependencies aren&apos;t detected anyway).
&gt; 
&gt; However, re-run-layout-tests needs to run the whole test suite, so that we
&gt; could detect failures by count. E.g. if a patch introduces failures on a
&gt; random subset totaling 1% of tests, we would detect 30 failures on the first
&gt; run, and it&apos;s absolutely not sufficient to only re-run those 30 (chances are
&gt; that we&apos;ll hit zero failures, and green-light the patch).
&gt; 


The current patch already takes that into account.

If on the first run we hit 30 failures then we exit early and first_results_did_exceed_test_failure_limit becomes True.

So in that case the second retry runs with the whole set of layout tests again.

&gt; There is a small problem with run-layout-tests-without-patch too. What about
&gt; tests that were just added with the patch, just marked in TestExpectations,
&gt; or just unmarked? Forcing these tests via command line arguments will
&gt; produce incorrect results in some of these cases.
&gt; 

I&apos;m not sure if I&apos;m understanding this problem.
Is because passing a path to a test that doesn&apos;t exist when the patch is unaplied?
I have tested now to pass to run-webkit-tests a test path that doesn&apos;t exist and it simply ignores it.


&gt; &gt; Tools/CISupport/ews-build/steps.py:1949
&gt; &gt; +            self.setCommand(self.command + list(first_results_failing_tests))
&gt; 
&gt; Are we guaranteed to not run out of command line length limit?

We are guaranteed because the layout test step for the EWS runs with --exit-after-n-failures 30&apos;. So only 29 tests will be passed in the worst case.
If it reaches 30 then first_results_did_exceed_test_failure_limit becomes True and the second retry runs the whole step as I said above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711803</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-12-03 13:54:43 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #5)
&gt; (In reply to Alexey Proskuryakov from comment #3)
&gt; &gt; Comment on attachment 415319 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=415319&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/ChangeLog:14
&gt; &gt; &gt; +        This helps to speed up the test times on the EWS when the patch
&gt; &gt; &gt; +        doesn&apos;t pass on the first try. This is specially useful when the
&gt; &gt; &gt; +        clean-tree-without-patch is not 100% green or has some flakies.
&gt; &gt; 
&gt; &gt; Great idea!
&gt; &gt; 
&gt; &gt; I can&apos;t think of any major problem with running a subset of tests in
&gt; &gt; clean-tree-without-patch, given that retries are enabled on EWS (so tests
&gt; &gt; that only fail because of dependencies aren&apos;t detected anyway).
&gt; &gt; 
&gt; &gt; However, re-run-layout-tests needs to run the whole test suite, so that we
&gt; &gt; could detect failures by count. E.g. if a patch introduces failures on a
&gt; &gt; random subset totaling 1% of tests, we would detect 30 failures on the first
&gt; &gt; run, and it&apos;s absolutely not sufficient to only re-run those 30 (chances are
&gt; &gt; that we&apos;ll hit zero failures, and green-light the patch).
&gt; &gt; 
&gt; 
&gt; 
&gt; The current patch already takes that into account.
&gt; 
&gt; If on the first run we hit 30 failures then we exit early and
&gt; first_results_did_exceed_test_failure_limit becomes True.
&gt; 
&gt; So in that case the second retry runs with the whole set of layout tests
&gt; again.

There are cases in which the number of failures is less than that limit. There are also cases in which a test failure happens because some states or conditions set by the proceeding tests so it&apos;s not always sufficient to just re-run the test that failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711898</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-12-03 17:00:19 -0800</bug_when>
    <thetext>&gt; If on the first run we hit 30 failures then we exit early and first_results_did_exceed_test_failure_limit becomes True.

OK - but as Ryosuke pointed out, it could also be 20, and then the proposed logic will make EWS work incorrectly.

&gt; Is because passing a path to a test that doesn&apos;t exist when the patch is unaplied?
I have tested now to pass to run-webkit-tests a test path that doesn&apos;t exist and it simply ignores it.

One example is when a patch purportedly fixes a test and removes it from TestExpectations, but it actually still fails. Currently, clean-tree-without-patch wouldn&apos;t run this test, and it would be reported as a new failure. With the proposed change, it will be on the command line, will fail, and thus will be misreported as preexisting failure.

&gt; So only 29 tests will be passed in the worst case.

Right, I was asking if you calculated how long 29 paths plus other options can be, and compared that to command line length limit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713645</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-10 11:54:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/72190937&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735633</commentid>
    <comment_count>9</comment_count>
      <attachid>422168</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-03-03 17:55:04 -0800</bug_when>
    <thetext>Created attachment 422168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735833</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-03-04 08:23:10 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #7)
&gt; &gt; If on the first run we hit 30 failures then we exit early and first_results_did_exceed_test_failure_limit becomes True.
&gt; 
&gt; OK - but as Ryosuke pointed out, it could also be 20, and then the proposed
&gt; logic will make EWS work incorrectly.
&gt; 
&gt; &gt; Is because passing a path to a test that doesn&apos;t exist when the patch is unaplied?
&gt; I have tested now to pass to run-webkit-tests a test path that doesn&apos;t exist
&gt; and it simply ignores it.
&gt; 
&gt; One example is when a patch purportedly fixes a test and removes it from
&gt; TestExpectations, but it actually still fails. Currently,
&gt; clean-tree-without-patch wouldn&apos;t run this test, and it would be reported as
&gt; a new failure. With the proposed change, it will be on the command line,
&gt; will fail, and thus will be misreported as preexisting failure.
&gt; 
&gt; &gt; So only 29 tests will be passed in the worst case.
&gt; 
&gt; Right, I was asking if you calculated how long 29 paths plus other options
&gt; can be, and compared that to command line length limit.


Ok.

I implemented a new version with this suggestions. It only modified the step run-layout-tests-without-patch to run the subset of failed tests from the previous steps (only if those previous steps finished testing with all tests)


BTW, The red EWS from iOS is unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736660</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-03-05 16:48:17 -0800</bug_when>
    <thetext>I think that this still has a problem with &quot;tests that were just added with the patch, just marked in TestExpectations, or just unmarked&quot;. Sorry for not clarifying when you asked before.

Consider a patch that removes a [ Skip ] test expectation. If the test still fails in reality, then EWS will be green anyway! That&apos;s because all three runs will see it fail - passing the test on command line overrides [ Skip ]. Skipped directories would result in something similar, but I&apos;m not even entirely sure what will happen.

Same thing with tests previously marked as [ Failure ], because EWS skips those.

This is a practical scenario, as people do rely on EWS to tell them what happens when unskipping tests.

Other than that, I cannot think of problems with the latest iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738145</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-03-10 11:17:33 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #11)
&gt; I think that this still has a problem with &quot;tests that were just added with
&gt; the patch, just marked in TestExpectations, or just unmarked&quot;. Sorry for not
&gt; clarifying when you asked before.
&gt; 
&gt; Consider a patch that removes a [ Skip ] test expectation. If the test still
&gt; fails in reality, then EWS will be green anyway! That&apos;s because all three
&gt; runs will see it fail - passing the test on command line overrides [ Skip ].
&gt; Skipped directories would result in something similar, but I&apos;m not even
&gt; entirely sure what will happen.
&gt; 
&gt; Same thing with tests previously marked as [ Failure ], because EWS skips
&gt; those.
&gt; 
&gt; This is a practical scenario, as people do rely on EWS to tell them what
&gt; happens when unskipping tests.
&gt; 
&gt; Other than that, I cannot think of problems with the latest iteration.

I see. This is an interesting case. Thanks for pointing it out.

I have a new iteration of this:

    - Now it takes a look at the patch that is being tested, and if the patch modifies a TestExpectation file inside the directory LayoutTests then it avoids doing this optimization (it runs the whole test suite on the step run-layout-tests-without-patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738149</commentid>
    <comment_count>13</comment_count>
      <attachid>422850</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-03-10 11:30:48 -0800</bug_when>
    <thetext>Created attachment 422850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738305</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-03-10 16:17:58 -0800</bug_when>
    <thetext>I think that this makes sense conceptually! Probably best for Aakash to review the code, as he has more recent hands on experience with EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739474</commentid>
    <comment_count>15</comment_count>
      <attachid>422850</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-15 09:26:11 -0700</bug_when>
    <thetext>Comment on attachment 422850
Patch

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

&gt; Tools/CISupport/ews-build/steps.py:2069
&gt; +                        if (&apos;LayoutTests/&apos; in line and &apos;TestExpectations&apos; in line) and (line.startswith(&apos;---&apos;) or line.startswith(&apos;+++&apos;)):

patch is stored by buildbot as bytes (see https://github.com/buildbot/buildbot/issues/5812#issuecomment-790175979). So this line should be changed to something like:

if (b&apos;LayoutTests/&apos; in line and b&apos;TestExpectations&apos; in line) and (line.startswith(b&apos;---&apos;) or line.startswith(b&apos;+++&apos;)):

Else it hits issue like: builtins.TypeError: a bytes-like object is required, not &apos;str&apos; (https://ews-build.webkit-uat.org/#/builders/69/builds/4/steps/29/logs/err_text)

&gt; Tools/CISupport/ews-build/steps_unittest.py:1983
&gt; +        RunWebKitTests._get_patch = lambda x: &apos;+++ LayoutTests/Changelog\n+++ LayoutTests/platform/gtk/TestExpectations\n&apos;

Please make the patch content a byte object, since in reality patch is stored as byte object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739475</commentid>
    <comment_count>16</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-15 09:28:17 -0700</bug_when>
    <thetext>Looks fine, tested on uat instance.
e.g.: 
Patch which modifies TestExpectations: https://ews-build.webkit-uat.org/#/builders/69/builds/44

Patch which doesn&apos;t modifies TestExpectations: https://ews-build.webkit-uat.org/#/builders/69/builds/45</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739523</commentid>
    <comment_count>17</comment_count>
      <attachid>422850</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-15 10:48:57 -0700</bug_when>
    <thetext>Comment on attachment 422850
Patch

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

&gt; Tools/CISupport/ews-build/steps.py:2054
&gt; +        if self.name == &apos;run-layout-tests-without-patch&apos;:

can change this to: RunWebKitTestsWithoutPatch.name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739799</commentid>
    <comment_count>18</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-03-15 19:25:56 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #15)
&gt; Comment on attachment 422850 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=422850&amp;action=review
&gt; 
&gt; &gt; Tools/CISupport/ews-build/steps.py:2069
&gt; &gt; +                        if (&apos;LayoutTests/&apos; in line and &apos;TestExpectations&apos; in line) and (line.startswith(&apos;---&apos;) or line.startswith(&apos;+++&apos;)):
&gt; 
&gt; patch is stored by buildbot as bytes (see
&gt; https://github.com/buildbot/buildbot/issues/5812#issuecomment-790175979). So
&gt; this line should be changed to something like:
&gt; 
&gt; if (b&apos;LayoutTests/&apos; in line and b&apos;TestExpectations&apos; in line) and
&gt; (line.startswith(b&apos;---&apos;) or line.startswith(b&apos;+++&apos;)):
&gt; 
&gt; Else it hits issue like: builtins.TypeError: a bytes-like object is
&gt; required, not &apos;str&apos;
&gt; (https://ews-build.webkit-uat.org/#/builders/69/builds/4/steps/29/logs/
&gt; err_text)
&gt; 
&gt; &gt; Tools/CISupport/ews-build/steps_unittest.py:1983
&gt; &gt; +        RunWebKitTests._get_patch = lambda x: &apos;+++ LayoutTests/Changelog\n+++ LayoutTests/platform/gtk/TestExpectations\n&apos;
&gt; 
&gt; Please make the patch content a byte object, since in reality patch is
&gt; stored as byte object.


Good catch!

I will fix it.


(In reply to Aakash Jain from comment #16)
&gt; Looks fine, tested on uat instance.
&gt; e.g.: 
&gt; Patch which modifies TestExpectations:
&gt; https://ews-build.webkit-uat.org/#/builders/69/builds/44
&gt; 
&gt; Patch which doesn&apos;t modifies TestExpectations:
&gt; https://ews-build.webkit-uat.org/#/builders/69/builds/45


Great! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739801</commentid>
    <comment_count>19</comment_count>
      <attachid>423284</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-03-15 19:29:28 -0700</bug_when>
    <thetext>Created attachment 423284
Patch

use bytes for the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739920</commentid>
    <comment_count>20</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-03-16 07:05:52 -0700</bug_when>
    <thetext>Committed r274475 (235331@main): &lt;https://commits.webkit.org/235331@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739921</commentid>
    <comment_count>21</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-03-16 07:07:31 -0700</bug_when>
    <thetext>Restarted buildbot to pick up this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800869</commentid>
    <comment_count>22</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-05 17:04:59 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #11)
&gt; I think that this still has a problem with &quot;tests that were just added with
&gt; the patch, just marked in TestExpectations, or just unmarked&quot;. Sorry for not
&gt; clarifying when you asked before.
&gt; 
&gt; Consider a patch that removes a [ Skip ] test expectation. If the test still
&gt; fails in reality, then EWS will be green anyway! That&apos;s because all three
&gt; runs will see it fail - passing the test on command line overrides [ Skip ].
&gt; Skipped directories would result in something similar, but I&apos;m not even
&gt; entirely sure what will happen.
&gt; 
&gt; Same thing with tests previously marked as [ Failure ], because EWS skips
&gt; those.
&gt; 
&gt; This is a practical scenario, as people do rely on EWS to tell them what
&gt; happens when unskipping tests.
&gt; 
&gt; Other than that, I cannot think of problems with the latest iteration.

I just discovered the option &apos;--skipped=always&apos; for run-webkit-tests. As far as I can test, with this option we can apply this optimization in this corner case without worries.

I uploaded a patch in bug 231265</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415318</attachid>
            <date>2020-12-03 12:01:26 -0800</date>
            <delta_ts>2020-12-03 12:09:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219500-20201203210125.patch</filename>
            <type>text/plain</type>
            <size>2357</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDAwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzVlNjk2YTZiZmJhM2M3ZmJlYzIzNDBmOWZiMzU4YWU5
M2Y0MDhmYy4uMDRjZGNjNmEzODBiZDYzY2NmMWI5MDQ3MTAwYTc3NzYzMDdhNjAwMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIwLTEyLTAzICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEVXUyBmb3IgbGF5b3V0IHRlc3RzOiBPbiB0aGUgcmV0cnkgc3Rl
cHMgb25seSBydW4gdGhlIHRlc3RzIHRoYXQgZmFpbGVkIG9uIHRoZSBmaXJzdCBzdGVwLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NTAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT25seSBydW4gdGhl
IHdob2xlIGxheW91dCB0ZXN0cyBvbiB0aGUgZmlyc3QgcnVuLCBidXQgb24gdGhlIHN0ZXBzCisg
ICAgICAgIHJlLXJ1bi1sYXlvdXQtdGVzdHMgYW5kIHJ1bi1sYXlvdXQtdGVzdHMtd2l0aG91dC1w
YXRjaCBydW4gb25seSB0aGUKKyAgICAgICAgdGVzdHMgdGhhdCBmYWlsZWQgb24gdGhlIGZpcnN0
IHN0ZXAgKGlmIHRoZSBmaXJzdCBzdGVwIGRpZG4ndCBleGNlZWRlZCBmYWlsdXJlIGxpbWl0KQor
CisgICAgICAgIFRoaXMgaGVscHMgdG8gc3BlZWQgdXAgdGhlIHRlc3QgdGltZXMgb24gdGhlIEVX
UyB3aGVuIHRoZSBwYXRjaAorICAgICAgICBkb2Vzbid0IHBhc3Mgb24gdGhlIGZpcnN0IHRyeS4g
VGhpcyBpcyBzcGVjaWFsbHkgdXNlZnVsIHdoZW4gdGhlCisgICAgICAgIGNsZWFuLXRyZWUtd2l0
aG91dC1wYXRjaCBpcyBub3QgMTAwJSBncmVlbiBvciBoYXMgc29tZSBmbGFraWVzLgorCisgICAg
ICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFJ1bldlYktpdFRl
c3RzLnN0YXJ0KToKKwogMjAyMC0xMi0wMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYW55IGRpZmZlcmVudCBhc3NlcnRpb24gZmFpbHVyZXMgb24g
dGhlIEdQVSBwcm9jZXNzIGJvdCBhZnRlciByMjcwMzY2CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1
cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQppbmRleCBhNGQzZWYwNjI4NjMyMzY2MGU0MDUyMDM4N2Y1NmE5ZjdlNDY5MjRmLi5jOWMy
ODhjOGZlNmM3NWYzN2YzMjYzYzg4YmM0MGE5MzJlZDIxNzE4IDEwMDY0NAotLS0gYS9Ub29scy9D
SVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVp
bGQvc3RlcHMucHkKQEAgLTE5MzksNiArMTkzOSwxNSBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0cyhz
aGVsbC5UZXN0KToKIAogICAgICAgICBpZiBhZGRpdGlvbmFsQXJndW1lbnRzOgogICAgICAgICAg
ICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIGFkZGl0aW9uYWxBcmd1bWVudHMpCisK
KyAgICAgICAgIyBPbmx5IHJ1biB0aGUgd2hvbGUgbGF5b3V0IHRlc3RzIG9uIHRoZSBmaXJzdCBy
dW4sIGJ1dCBvbiB0aGUgc3RlcHMKKyAgICAgICAgIyByZS1ydW4tbGF5b3V0LXRlc3RzIGFuZCBy
dW4tbGF5b3V0LXRlc3RzLXdpdGhvdXQtcGF0Y2ggcnVuIG9ubHkgdGhlCisgICAgICAgICMgdGVz
dHMgdGhhdCBmYWlsZWQgb24gdGhlIGZpcnN0IHN0ZXAgKGlmIHRoZSBmaXJzdCBzdGVwIGRpZG4n
dCBleGNlZWRlZCBmYWlsdXJlIGxpbWl0KQorICAgICAgICBmaXJzdF9yZXN1bHRzX2ZhaWxpbmdf
dGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgc2V0KCkp
KQorICAgICAgICBmaXJzdF9yZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0ID0g
c2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZh
bHNlKQorICAgICAgICBpZiBub3QgZmlyc3RfcmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVy
ZV9saW1pdCBhbmQgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzOgorICAgICAgICAgICAgc2Vs
Zi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIGxpc3QoZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rl
c3RzKSkKKwogICAgICAgICByZXR1cm4gc2hlbGwuVGVzdC5zdGFydChzZWxmKQogCiAgICAgIyBG
SVhNRTogVGhpcyB3aWxsIGJyZWFrIGlmIHJ1bi13ZWJraXQtdGVzdHMgY2hhbmdlcyBpdHMgZGVm
YXVsdCBsb2cgZm9ybWF0dGVyLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415319</attachid>
            <date>2020-12-03 12:09:24 -0800</date>
            <delta_ts>2021-03-03 17:54:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219500-20201203210923.patch</filename>
            <type>text/plain</type>
            <size>3554</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDAwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzVlNjk2YTZiZmJhM2M3ZmJlYzIzNDBmOWZiMzU4YWU5
M2Y0MDhmYy4uMDRjZGNjNmEzODBiZDYzY2NmMWI5MDQ3MTAwYTc3NzYzMDdhNjAwMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIwLTEyLTAzICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEVXUyBmb3IgbGF5b3V0IHRlc3RzOiBPbiB0aGUgcmV0cnkgc3Rl
cHMgb25seSBydW4gdGhlIHRlc3RzIHRoYXQgZmFpbGVkIG9uIHRoZSBmaXJzdCBzdGVwLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NTAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT25seSBydW4gdGhl
IHdob2xlIGxheW91dCB0ZXN0cyBvbiB0aGUgZmlyc3QgcnVuLCBidXQgb24gdGhlIHN0ZXBzCisg
ICAgICAgIHJlLXJ1bi1sYXlvdXQtdGVzdHMgYW5kIHJ1bi1sYXlvdXQtdGVzdHMtd2l0aG91dC1w
YXRjaCBydW4gb25seSB0aGUKKyAgICAgICAgdGVzdHMgdGhhdCBmYWlsZWQgb24gdGhlIGZpcnN0
IHN0ZXAgKGlmIHRoZSBmaXJzdCBzdGVwIGRpZG4ndCBleGNlZWRlZCBmYWlsdXJlIGxpbWl0KQor
CisgICAgICAgIFRoaXMgaGVscHMgdG8gc3BlZWQgdXAgdGhlIHRlc3QgdGltZXMgb24gdGhlIEVX
UyB3aGVuIHRoZSBwYXRjaAorICAgICAgICBkb2Vzbid0IHBhc3Mgb24gdGhlIGZpcnN0IHRyeS4g
VGhpcyBpcyBzcGVjaWFsbHkgdXNlZnVsIHdoZW4gdGhlCisgICAgICAgIGNsZWFuLXRyZWUtd2l0
aG91dC1wYXRjaCBpcyBub3QgMTAwJSBncmVlbiBvciBoYXMgc29tZSBmbGFraWVzLgorCisgICAg
ICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFJ1bldlYktpdFRl
c3RzLnN0YXJ0KToKKwogMjAyMC0xMi0wMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYW55IGRpZmZlcmVudCBhc3NlcnRpb24gZmFpbHVyZXMgb24g
dGhlIEdQVSBwcm9jZXNzIGJvdCBhZnRlciByMjcwMzY2CmRpZmYgLS1naXQgYS9Ub29scy9DSVN1
cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQppbmRleCBhNGQzZWYwNjI4NjMyMzY2MGU0MDUyMDM4N2Y1NmE5ZjdlNDY5MjRmLi5jOWMy
ODhjOGZlNmM3NWYzN2YzMjYzYzg4YmM0MGE5MzJlZDIxNzE4IDEwMDY0NAotLS0gYS9Ub29scy9D
SVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVp
bGQvc3RlcHMucHkKQEAgLTE5MzksNiArMTkzOSwxNSBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0cyhz
aGVsbC5UZXN0KToKIAogICAgICAgICBpZiBhZGRpdGlvbmFsQXJndW1lbnRzOgogICAgICAgICAg
ICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIGFkZGl0aW9uYWxBcmd1bWVudHMpCisK
KyAgICAgICAgIyBPbmx5IHJ1biB0aGUgd2hvbGUgbGF5b3V0IHRlc3RzIG9uIHRoZSBmaXJzdCBy
dW4sIGJ1dCBvbiB0aGUgc3RlcHMKKyAgICAgICAgIyByZS1ydW4tbGF5b3V0LXRlc3RzIGFuZCBy
dW4tbGF5b3V0LXRlc3RzLXdpdGhvdXQtcGF0Y2ggcnVuIG9ubHkgdGhlCisgICAgICAgICMgdGVz
dHMgdGhhdCBmYWlsZWQgb24gdGhlIGZpcnN0IHN0ZXAgKGlmIHRoZSBmaXJzdCBzdGVwIGRpZG4n
dCBleGNlZWRlZCBmYWlsdXJlIGxpbWl0KQorICAgICAgICBmaXJzdF9yZXN1bHRzX2ZhaWxpbmdf
dGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgc2V0KCkp
KQorICAgICAgICBmaXJzdF9yZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0ID0g
c2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZh
bHNlKQorICAgICAgICBpZiBub3QgZmlyc3RfcmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVy
ZV9saW1pdCBhbmQgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzOgorICAgICAgICAgICAgc2Vs
Zi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIGxpc3QoZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rl
c3RzKSkKKwogICAgICAgICByZXR1cm4gc2hlbGwuVGVzdC5zdGFydChzZWxmKQogCiAgICAgIyBG
SVhNRTogVGhpcyB3aWxsIGJyZWFrIGlmIHJ1bi13ZWJraXQtdGVzdHMgY2hhbmdlcyBpdHMgZGVm
YXVsdCBsb2cgZm9ybWF0dGVyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWls
ZC9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5p
dHRlc3QucHkKaW5kZXggMGNkZDdlMjlhNjViZGY2ODA4YTM3ZDllZGY1MzA1MjM3N2JlNWIzYy4u
YTRmNzcxN2ZjZDI3M2NlNDBkMmVjNzUxOWZiYjM2OTU3MmJmMjI5ZiAxMDA2NDQKLS0tIGEvVG9v
bHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQorKysgYi9Ub29scy9DSVN1
cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC0xODI4LDcgKzE4MjgsNyBAQCBj
bGFzcyBUZXN0UmVSdW5XZWJLaXRUZXN0cyhUZXN0UnVuV2ViS2l0VGVzdHMpOgogICAgICAgICAg
ICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAogICAgICAgICAgICAgICAgICAgICAgICAg
bG9nZmlsZXM9eydqc29uJzogc2VsZi5qc29uRmlsZU5hbWV9LAogICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9
WydweXRob24nLCAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJywgJy0tbm8tYnVpbGQn
LCAnLS1uby1zaG93LXJlc3VsdHMnLCAnLS1uby1uZXctdGVzdC1yZXN1bHRzJywgJy0tY2xvYmJl
ci1vbGQtcmVzdWx0cycsICctLXJlbGVhc2UnLCAnLS1yZXN1bHRzLWRpcmVjdG9yeScsICdsYXlv
dXQtdGVzdC1yZXN1bHRzJywgJy0tZGVidWctcnd0LWxvZ2dpbmcnLCAnLS1leGl0LWFmdGVyLW4t
ZmFpbHVyZXMnLCAnMzAnLCAnLS1za2lwLWZhaWxpbmctdGVzdHMnXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbW1hbmQ9WydweXRob24nLCAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRl
c3RzJywgJy0tbm8tYnVpbGQnLCAnLS1uby1zaG93LXJlc3VsdHMnLCAnLS1uby1uZXctdGVzdC1y
ZXN1bHRzJywgJy0tY2xvYmJlci1vbGQtcmVzdWx0cycsICctLXJlbGVhc2UnLCAnLS1yZXN1bHRz
LWRpcmVjdG9yeScsICdsYXlvdXQtdGVzdC1yZXN1bHRzJywgJy0tZGVidWctcnd0LWxvZ2dpbmcn
LCAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAnLCAnLS1za2lwLWZhaWxpbmctdGVzdHMn
LCAndGVzdDEnLCAndGVzdDInXSwKICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAg
ICAgICsgMCwKICAgICAgICAgKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422168</attachid>
            <date>2021-03-03 17:55:04 -0800</date>
            <delta_ts>2021-03-10 11:17:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219500-20210304025503.patch</filename>
            <type>text/plain</type>
            <size>6166</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczODM2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDA1ZDE2OTgzNzI5MWExMTE3MjFhZDU2NGVjZTVlZjI0
NThhNGIxMi4uMTZiMGE5YTIxM2VhMWQyMmNiMGEzNGE5NDFiNTEyNmY5MTE0ZjI1NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIxLTAzLTAzICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEVXUyBmb3IgbGF5b3V0IHRlc3RzOiBvbiB0aGUgc3RlcCBydW4t
bGF5b3V0LXRlc3RzLXdpdGhvdXQtcGF0Y2ggb25seSB0cnkgdGhlIHRlc3RzIHRoYXQgZmFpbGVk
IG9uIHRoZSBwcmV2aW91cyBzdGVwcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxOTUwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE9uIHRoZSBzdGVwIHRvIHJldHJ5IHJ1bm5pbmcgdGhlIGxheW91dCB0
ZXN0cyB3aXRob3V0IHBhdGNoIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgb24gdGhlIHByZXZpb3VzIHN0ZXBzLgorICAgICAgICBCdXQgb25seSBkbyB0
aGF0IGlmIHRoZSBwcmV2aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0CisgICAgICAg
IGZhaWx1cmUgbGltaXQuCisKKyAgICAgICAgVGhpcyBoZWxwcyB0byBzcGVlZCB1cCB0aGUgdGVz
dCB0aW1lcyBvbiB0aGUgRVdTIHdoZW4gdGhlIHBhdGNoCisgICAgICAgIGRvZXNuJ3QgcGFzcyBv
biB0aGUgZmlyc3QgdHJ5LgorCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5w
eToKKyAgICAgICAgKFJ1bldlYktpdFRlc3RzLnN0YXJ0KToKKwogMjAyMS0wMy0wMyAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cmV2ZXJ0aW5nIHIyNzM4MTQuCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQppbmRleCA0NmE3
OGNkMGJiYTE4ZjIyNDg5NjQxNmI2NDhjODNjN2QxYmExOTEyLi5iYjFkZTZjMmNkNzdhNDkxNzM3
OWU3ODRkMGI3MDMwY2NlNzlkZWE1IDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1
aWxkL3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKQEAg
LTIwMzUsNiArMjAzNSwyMSBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0cyhzaGVsbC5UZXN0KToKIAog
ICAgICAgICBpZiBhZGRpdGlvbmFsQXJndW1lbnRzOgogICAgICAgICAgICAgc2VsZi5zZXRDb21t
YW5kKHNlbGYuY29tbWFuZCArIGFkZGl0aW9uYWxBcmd1bWVudHMpCisKKyAgICAgICAgc3Vic2V0
X3JldHJ5X3Rlc3RzID0gW10KKyAgICAgICAgaWYgc2VsZi5uYW1lID09ICdydW4tbGF5b3V0LXRl
c3RzLXdpdGhvdXQtcGF0Y2gnOgorICAgICAgICAgICAgIyBJbiBvcmRlciB0byBzcGVlZCB1cCB0
ZXN0aW5nLCBvbiB0aGUgc3RlcCB0aGF0IHJldHJpZXMgcnVubmluZyB0aGUgbGF5b3V0IHRlc3Rz
IHdpdGhvdXQgcGF0Y2gKKyAgICAgICAgICAgICMgb25seSBydW4gdGhlIHN1YnNldCBvZiB0ZXN0
cyB0aGF0IGZhaWxlZCBvbiB0aGUgcHJldmlvdXMgc3RlcHMuCisgICAgICAgICAgICAjIEJ1dCBv
bmx5IGRvIHRoYXQgaWYgdGhlIHByZXZpb3VzIHN0ZXBzIGRpZG4ndCBleGNlZWQgdGhlIHRlc3Qg
ZmFpbHVyZSBsaW1pdC4KKyAgICAgICAgICAgIGZpcnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0
X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9yZXN1bHRzX2V4Y2VlZF9m
YWlsdXJlX2xpbWl0JywgRmFsc2UpCisgICAgICAgICAgICBzZWNvbmRfcmVzdWx0c19kaWRfZXhj
ZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9yZXN1bHRz
X2V4Y2VlZF9mYWlsdXJlX2xpbWl0JywgRmFsc2UpCisgICAgICAgICAgICBpZiBub3QgZmlyc3Rf
cmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCBhbmQgbm90IHNlY29uZF9yZXN1
bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0OgorICAgICAgICAgICAgICAgIGZpcnN0
X3Jlc3VsdHNfZmFpbGluZ190ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9ydW5f
ZmFpbHVyZXMnLCBzZXQoKSkpCisgICAgICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZmFpbGlu
Z190ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgc2V0
KCkpKQorICAgICAgICAgICAgICAgIHN1YnNldF9yZXRyeV90ZXN0cyArPSBzb3J0ZWQoZmlyc3Rf
cmVzdWx0c19mYWlsaW5nX3Rlc3RzLnVuaW9uKHNlY29uZF9yZXN1bHRzX2ZhaWxpbmdfdGVzdHMp
KQorCisgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBzdWJzZXRfcmV0cnlf
dGVzdHMpCisKICAgICAgICAgcmV0dXJuIHNoZWxsLlRlc3Quc3RhcnQoc2VsZikKIAogICAgICMg
RklYTUU6IFRoaXMgd2lsbCBicmVhayBpZiBydW4td2Via2l0LXRlc3RzIGNoYW5nZXMgaXRzIGRl
ZmF1bHQgbG9nIGZvcm1hdHRlci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVp
bGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3Vu
aXR0ZXN0LnB5CmluZGV4IDA2ZTYxOGY1ZjRhNjQyMmZmZWEyZGI4NjMzNGE2YWI3MTUzMzUyZDgu
LjBmZDFmYTA5ODE3MzU5NjU3ZmEyYmVkMWQzMDI0OTRhMDk3NzIyZjYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpAQCAtMTg4Nyw2ICsxODg3LDYyIEBA
IGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0
aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1
bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdsYXlvdXQtdGVzdHMnKQogICAgICAgICByZXR1cm4g
c2VsZi5ydW5TdGVwKCkKIAorICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9zdWJzZXQo
c2VsZik6CisgICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCisgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKKyAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNlJykKKyAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MyddKQor
ICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScs
ICd0ZXN0MycsICd0ZXN0NCddKQorICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAor
ICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAorICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nZmlsZXM9eydqc29uJzogc2VsZi5qc29uRmlsZU5hbWV9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNvbW1hbmQ9WydweXRob24nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rv
b2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1uby1idWlsZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
LS1uby1zaG93LXJlc3VsdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
bm8tbmV3LXRlc3QtcmVzdWx0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
LS1jbG9iYmVyLW9sZC1yZXN1bHRzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLXJlbGVhc2UnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tcmVzdWx0
cy1kaXJlY3RvcnknLCAnbGF5b3V0LXRlc3QtcmVzdWx0cycsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAnLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MycsICd0ZXN0
NCddLAorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKyAwLAorICAgICAg
ICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3Ry
aW5nPSdsYXlvdXQtdGVzdHMnKQorICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKKworICAg
IGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9zdWJzZXRfbGltaXRfZXhjZWVkZWQoc2VsZik6
CisgICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHko
J2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0
eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNlJykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgn
Zmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MyddKQorICAgICAg
ICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcs
IFRydWUpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBb
J3Rlc3R7fScuZm9ybWF0KGkpIGZvciBpIGluIHJhbmdlKDAsIDMwKV0pCisgICAgICAgIHNlbGYu
ZXhwZWN0UmVtb3RlQ29tbWFuZHMoCisgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3
a2RpcicsCisgICAgICAgICAgICAgICAgICAgICAgICBsb2dmaWxlcz17J2pzb24nOiBzZWxmLmpz
b25GaWxlTmFtZX0sCisgICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3B5dGhvbicsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLWJ1aWxkJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICctLW5vLXNob3ctcmVzdWx0cycsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1uby1uZXctdGVzdC1yZXN1bHRzJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICctLWNsb2JiZXItb2xkLXJlc3VsdHMnLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0tcmVsZWFzZScsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1yZXN1bHRzLWRpcmVjdG9yeScsICdsYXlvdXQtdGVzdC1yZXN1bHRz
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRlYnVnLXJ3dC1sb2dnaW5n
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWV4aXQtYWZ0ZXItbi1mYWls
dXJlcycsICczMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1za2lwLWZh
aWxpbmctdGVzdHMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICsg
MCwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1Ms
IHN0YXRlX3N0cmluZz0nbGF5b3V0LXRlc3RzJykKKyAgICAgICAgcmV0dXJuIHNlbGYucnVuU3Rl
cCgpCisKICAgICBkZWYgdGVzdF9mYWlsdXJlKHNlbGYpOgogICAgICAgICBzZWxmLmNvbmZpZ3Vy
ZVN0ZXAoKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNp
bXVsYXRvcicpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422850</attachid>
            <date>2021-03-10 11:30:48 -0800</date>
            <delta_ts>2021-03-15 19:29:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219500-20210310203047.patch</filename>
            <type>text/plain</type>
            <size>10697</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjIwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTQ3MmViYjQ1ZTRlNzBlZjFmZjU0YzhhMzFjOTZiZTk0
NTA3OWYwMi4uMTkwOTk1MjVjMDczNWEzZThkM2JmMzY3MWJkMzg4NDEzYmY1YzBmYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIxLTAzLTEwICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEVXUyBmb3IgbGF5b3V0IHRlc3RzOiBvbiB0aGUgc3RlcCBydW4t
bGF5b3V0LXRlc3RzLXdpdGhvdXQtcGF0Y2ggb25seSB0cnkgdGhlIHRlc3RzIHRoYXQgZmFpbGVk
IG9uIHRoZSBwcmV2aW91cyBzdGVwcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxOTUwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE9uIHRoZSBzdGVwIHRvIHJldHJ5IHJ1bm5pbmcgdGhlIGxheW91dCB0
ZXN0cyB3aXRob3V0IHBhdGNoIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgb24gdGhlIHByZXZpb3VzIHN0ZXBzLgorICAgICAgICBCdXQgb25seSBkbyB0
aGF0IGlmIHRoZSBwcmV2aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0CisgICAgICAg
IGZhaWx1cmUgbGltaXQgYW5kIHRoZSBwYXRjaCBkb2Vzbid0IG1vZGlmeSB0aGUgVGVzdEV4cGVj
dGF0aW9ucyBmaWxlcy4KKworICAgICAgICBUaGlzIGhlbHBzIHRvIHNwZWVkIHVwIHRoZSB0ZXN0
IHRpbWVzIG9uIHRoZSBFV1Mgd2hlbiB0aGUgcGF0Y2gKKyAgICAgICAgZG9lc24ndCBwYXNzIG9u
IHRoZSBmaXJzdCB0cnkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5
OgorICAgICAgICAoUnVuV2ViS2l0VGVzdHMuc3RhcnQpOgorCiAyMDIxLTAzLTEwICBTYW0gU25l
ZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkaW5nIFB5dGhvbiB0eXBl
IGFubm90YXRpb25zIHRvIHRlc3RfZXhwZWN0YXRpb25zLnB5CmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQppbmRleCAyYzU2YzIxMjY5ZGVkNmM4Njg3OWYzNzg1YjAzNGYwMGFhODYzNzI4Li5m
OWVhMjUzNzhlOWU3NGQ0Nzk0NzBhMDNhOGE3ODNlODMyNWZmZDBhIDEwMDY0NAotLS0gYS9Ub29s
cy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHMucHkKQEAgLTIwMTYsNiArMjAxNiwxMiBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0
cyhzaGVsbC5UZXN0KToKICAgICAgICAgc2hlbGwuVGVzdC5fX2luaXRfXyhzZWxmLCBsb2dFbnZp
cm9uPUZhbHNlLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5pbmNvcnJlY3RMYXlvdXRMaW5lcyA9
IFtdCiAKKyAgICBkZWYgX2dldF9wYXRjaChzZWxmKToKKyAgICAgICAgc291cmNlc3RhbXAgPSBz
ZWxmLmJ1aWxkLmdldFNvdXJjZVN0YW1wKHNlbGYuZ2V0UHJvcGVydHkoJ2NvZGViYXNlJywgJycp
KQorICAgICAgICBpZiBub3Qgc291cmNlc3RhbXAgb3Igbm90IHNvdXJjZXN0YW1wLnBhdGNoOgor
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHNvdXJjZXN0YW1wLnBhdGNo
WzFdCisKICAgICBkZWYgZG9TdGVwSWYoc2VsZiwgc3RlcCk6CiAgICAgICAgIHJldHVybiBub3Qg
KChzZWxmLmdldFByb3BlcnR5KCdidWlsZGVybmFtZScsICcnKS5sb3dlcigpID09ICdjb21taXQt
cXVldWUnKSBhbmQKICAgICAgICAgICAgICAgICAgICAgKHNlbGYuZ2V0UHJvcGVydHkoJ3JldmVy
dCcpIG9yIHNlbGYuZ2V0UHJvcGVydHkoJ3Bhc3NlZF9tYWNfd2syJykpKQpAQCAtMjA0NCw2ICsy
MDUwLDMxIEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzKHNoZWxsLlRlc3QpOgogCiAgICAgICAgIGlm
IGFkZGl0aW9uYWxBcmd1bWVudHM6CiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5j
b21tYW5kICsgYWRkaXRpb25hbEFyZ3VtZW50cykKKworICAgICAgICBpZiBzZWxmLm5hbWUgPT0g
J3J1bi1sYXlvdXQtdGVzdHMtd2l0aG91dC1wYXRjaCc6CisgICAgICAgICAgICAjIEluIG9yZGVy
IHRvIHNwZWVkIHVwIHRlc3RpbmcsIG9uIHRoZSBzdGVwIHRoYXQgcmV0cmllcyBydW5uaW5nIHRo
ZSBsYXlvdXQgdGVzdHMgd2l0aG91dCBwYXRjaAorICAgICAgICAgICAgIyBvbmx5IHJ1biB0aGUg
c3Vic2V0IG9mIHRlc3RzIHRoYXQgZmFpbGVkIG9uIHRoZSBwcmV2aW91cyBzdGVwcy4KKyAgICAg
ICAgICAgICMgQnV0IG9ubHkgZG8gdGhhdCBpZiB0aGUgcHJldmlvdXMgc3RlcHMgZGlkbid0IGV4
Y2VlZCB0aGUgdGVzdCBmYWlsdXJlIGxpbWl0IGFuZCB0aGUgcGF0Y2ggZG9lc24ndAorICAgICAg
ICAgICAgIyBtb2RpZnkgdGhlIFRlc3RFeHBlY3RhdGlvbnMgZmlsZXMgKHRoZXJlIGFyZSBjb3Ju
ZXIgY2FzZXMgd2hlcmUgd2UgY2FuJ3QgZ3VhcmFudGVlIHRoZSBjb3JyZWN0bmVzCisgICAgICAg
ICAgICAjIG9mIHRoaXMgb3B0aW1pemF0aW9uIGlmIHRoZSBwYXRjaCBtb2RpZmllcyB0aGUgVGVz
dEV4cGVjdGF0aW9ucyBmaWxlcywgZm9yIGV4YW1wbGUsIGlmIHRoZSBwYXRjaAorICAgICAgICAg
ICAgIyByZW1vdmVzIHNraXBwZWQgdGVzdHMgYnV0IHRob3NlIHRlc3RzIHN0aWxsIGZhaWwpLgor
ICAgICAgICAgICAgZmlyc3RfcmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCA9
IHNlbGYuZ2V0UHJvcGVydHkoJ2ZpcnN0X3Jlc3VsdHNfZXhjZWVkX2ZhaWx1cmVfbGltaXQnLCBG
YWxzZSkKKyAgICAgICAgICAgIHNlY29uZF9yZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJl
X2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnc2Vjb25kX3Jlc3VsdHNfZXhjZWVkX2ZhaWx1cmVf
bGltaXQnLCBGYWxzZSkKKyAgICAgICAgICAgIGlmIG5vdCBmaXJzdF9yZXN1bHRzX2RpZF9leGNl
ZWRfdGVzdF9mYWlsdXJlX2xpbWl0IGFuZCBub3Qgc2Vjb25kX3Jlc3VsdHNfZGlkX2V4Y2VlZF90
ZXN0X2ZhaWx1cmVfbGltaXQ6CisgICAgICAgICAgICAgICAgcGF0Y2hfbW9kaWZpZXNfZXhwZWN0
YXRpb25fZmlsZXMgPSBGYWxzZQorICAgICAgICAgICAgICAgIHBhdGNoID0gc2VsZi5fZ2V0X3Bh
dGNoKCkKKyAgICAgICAgICAgICAgICBpZiBwYXRjaDoKKyAgICAgICAgICAgICAgICAgICAgZm9y
IGxpbmUgaW4gcGF0Y2guc3BsaXRsaW5lcygpOgorICAgICAgICAgICAgICAgICAgICAgICAgbGlu
ZSA9IGxpbmUuc3RyaXAoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCdMYXlvdXRUZXN0
cy8nIGluIGxpbmUgYW5kICdUZXN0RXhwZWN0YXRpb25zJyBpbiBsaW5lKSBhbmQgKGxpbmUuc3Rh
cnRzd2l0aCgnLS0tJykgb3IgbGluZS5zdGFydHN3aXRoKCcrKysnKSk6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGF0Y2hfbW9kaWZpZXNfZXhwZWN0YXRpb25fZmlsZXMgPSBUcnVlCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBpZiBub3Qg
cGF0Y2hfbW9kaWZpZXNfZXhwZWN0YXRpb25fZmlsZXM6CisgICAgICAgICAgICAgICAgICAgIGZp
cnN0X3Jlc3VsdHNfZmFpbGluZ190ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9y
dW5fZmFpbHVyZXMnLCBzZXQoKSkpCisgICAgICAgICAgICAgICAgICAgIHNlY29uZF9yZXN1bHRz
X2ZhaWxpbmdfdGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJl
cycsIHNldCgpKSkKKyAgICAgICAgICAgICAgICAgICAgbGlzdF9yZXRyeV90ZXN0cyA9IHNvcnRl
ZChmaXJzdF9yZXN1bHRzX2ZhaWxpbmdfdGVzdHMudW5pb24oc2Vjb25kX3Jlc3VsdHNfZmFpbGlu
Z190ZXN0cykpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1h
bmQgKyBsaXN0X3JldHJ5X3Rlc3RzKQorCiAgICAgICAgIHJldHVybiBzaGVsbC5UZXN0LnN0YXJ0
KHNlbGYpCiAKICAgICAjIEZJWE1FOiBUaGlzIHdpbGwgYnJlYWsgaWYgcnVuLXdlYmtpdC10ZXN0
cyBjaGFuZ2VzIGl0cyBkZWZhdWx0IGxvZyBmb3JtYXR0ZXIuCmRpZmYgLS1naXQgYS9Ub29scy9D
SVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwc191bml0dGVzdC5weQppbmRleCBiYjA4MWFjODFmN2I0N2E0NWMwNzkzYjI2
YjNiZDA1YzZmY2EwNWI2Li5kNzA5NTZjOWM5Mjc2M2QyZjRmOTc2MDMxZDVhNjUwYTMzZDgwMjZk
IDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTE4
ODksNiArMTg4OSwxMTkgQEAgY2xhc3MgVGVzdFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoKEJ1
aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSkKICAgICAgICAgc2VsZi5l
eHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J2xheW91dC10ZXN0cycp
CiAgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQogCisgICAgZGVmIHRlc3Rfc3VjY2Vzc19y
ZXRyeV9vbmx5X3N1YnNldChzZWxmKToKKyAgICAgICAgc2VsZi5jb25maWd1cmVTdGVwKCkKKyAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3JtJywgJ2lvcy1zaW11bGF0b3InKQor
ICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjb25maWd1cmF0aW9uJywgJ3JlbGVhc2UnKQorICAg
ICAgICBzZWxmLnNldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QxJywgJ3Rl
c3QyJywgJ3Rlc3QzJ10pCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFp
bHVyZXMnLCBbJ3Rlc3QxJywgJ3Rlc3QzJywgJ3Rlc3Q0J10pCisgICAgICAgIHNlbGYuZXhwZWN0
UmVtb3RlQ29tbWFuZHMoCisgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2Rpcics
CisgICAgICAgICAgICAgICAgICAgICAgICBsb2dmaWxlcz17J2pzb24nOiBzZWxmLmpzb25GaWxl
TmFtZX0sCisgICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3B5dGhvbicsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLWJ1aWxkJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICctLW5vLXNob3ctcmVzdWx0cycsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1uby1uZXctdGVzdC1yZXN1bHRzJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICctLWNsb2JiZXItb2xkLXJlc3VsdHMnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tcmVsZWFzZScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1yZXN1bHRzLWRpcmVjdG9yeScsICdsYXlvdXQtdGVzdC1yZXN1bHRzJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRlYnVnLXJ3dC1sb2dnaW5nJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWV4aXQtYWZ0ZXItbi1mYWlsdXJlcycs
ICczMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1za2lwLWZhaWxpbmct
dGVzdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3QxJywgJ3Rlc3Qy
JywgJ3Rlc3QzJywgJ3Rlc3Q0J10sCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAg
ICAgICArIDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1T
VUNDRVNTLCBzdGF0ZV9zdHJpbmc9J2xheW91dC10ZXN0cycpCisgICAgICAgIHJldHVybiBzZWxm
LnJ1blN0ZXAoKQorCisgICAgZGVmIHRlc3Rfc3VjY2Vzc19yZXRyeV9vbmx5X3N1YnNldF9saW1p
dF9leGNlZWRlZChzZWxmKToKKyAgICAgICAgc2VsZi5jb25maWd1cmVTdGVwKCkKKyAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3JtJywgJ2lvcy1zaW11bGF0b3InKQorICAgICAg
ICBzZWxmLnNldFByb3BlcnR5KCdjb25maWd1cmF0aW9uJywgJ3JlbGVhc2UnKQorICAgICAgICBz
ZWxmLnNldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QxJywgJ3Rlc3QyJywg
J3Rlc3QzJ10pCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9yZXN1bHRzX2V4Y2Vl
ZF9mYWlsdXJlX2xpbWl0JywgVHJ1ZSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vjb25k
X3J1bl9mYWlsdXJlcycsIFsndGVzdHt9Jy5mb3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMCwgMzAp
XSkKKyAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVj
dFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZpbGVz
PXsnanNvbic6IHNlbGYuanNvbkZpbGVOYW1lfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxv
Z0Vudmlyb249RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsncHl0aG9u
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb29scy9TY3JpcHRzL3J1bi13
ZWJraXQtdGVzdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tYnVp
bGQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tc2hvdy1yZXN1bHRz
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLW5ldy10ZXN0LXJlc3Vs
dHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2xvYmJlci1vbGQtcmVz
dWx0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZWxlYXNlJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJlc3VsdHMtZGlyZWN0b3J5JywgJ2xh
eW91dC10ZXN0LXJlc3VsdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
ZGVidWctcnd0LWxvZ2dpbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
ZXhpdC1hZnRlci1uLWZhaWx1cmVzJywgJzMwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICctLXNraXAtZmFpbGluZy10ZXN0cyddLAorICAgICAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgKyAwLAorICAgICAgICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29t
ZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdsYXlvdXQtdGVzdHMnKQorICAgICAgICBy
ZXR1cm4gc2VsZi5ydW5TdGVwKCkKKworICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9z
dWJzZXRfcGF0Y2hfbm9fbW9kaWZpZXNfZXhwZWN0YXRpb25zKHNlbGYpOgorICAgICAgICBzZWxm
LmNvbmZpZ3VyZVN0ZXAoKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0n
LCAnaW9zLXNpbXVsYXRvcicpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRp
b24nLCAncmVsZWFzZScpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWls
dXJlcycsIFsndGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSkKKyAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDMnLCAndGVzdDQnXSkK
KyAgICAgICAgUnVuV2ViS2l0VGVzdHMuX2dldF9wYXRjaCA9IGxhbWJkYSB4OiAnKysrIFRvb2xz
L0NoYW5nZUxvZ1xuKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHBcbicKKyAg
ICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxs
KHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZpbGVzPXsnanNv
bic6IHNlbGYuanNvbkZpbGVOYW1lfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmly
b249RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsncHl0aG9uJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb29scy9TY3JpcHRzL3J1bi13ZWJraXQt
dGVzdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tYnVpbGQnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tc2hvdy1yZXN1bHRzJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLW5ldy10ZXN0LXJlc3VsdHMnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2xvYmJlci1vbGQtcmVzdWx0cycs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZWxlYXNlJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICctLXJlc3VsdHMtZGlyZWN0b3J5JywgJ2xheW91dC10
ZXN0LXJlc3VsdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tZGVidWct
cnd0LWxvZ2dpbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tZXhpdC1h
ZnRlci1uLWZhaWx1cmVzJywgJzMwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLXNraXAtZmFpbGluZy10ZXN0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAndGVzdDEnLCAndGVzdDInLCAndGVzdDMnLCAndGVzdDQnXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICkKKyAgICAgICAgICAgICsgMCwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmV4cGVj
dE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nbGF5b3V0LXRlc3RzJykKKyAg
ICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzX3JldHJ5
X29ubHlfc3Vic2V0X3BhdGNoX21vZGlmaWVzX2V4cGVjdGF0aW9ucyhzZWxmKToKKyAgICAgICAg
c2VsZi5jb25maWd1cmVTdGVwKCkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZnVsbFBsYXRm
b3JtJywgJ2lvcy1zaW11bGF0b3InKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjb25maWd1
cmF0aW9uJywgJ3JlbGVhc2UnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmaXJzdF9ydW5f
ZmFpbHVyZXMnLCBbJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3QzJ10pCisgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QxJywgJ3Rlc3QzJywgJ3Rlc3Q0
J10pCisgICAgICAgIFJ1bldlYktpdFRlc3RzLl9nZXRfcGF0Y2ggPSBsYW1iZGEgeDogJysrKyBM
YXlvdXRUZXN0cy9DaGFuZ2Vsb2dcbisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9uc1xuJworICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAgICAg
ICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAorICAgICAgICAgICAgICAgICAgICAg
ICAgbG9nZmlsZXM9eydqc29uJzogc2VsZi5qc29uRmlsZU5hbWV9LAorICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1h
bmQ9WydweXRob24nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rvb2xzL1Nj
cmlwdHMvcnVuLXdlYmtpdC10ZXN0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnLS1uby1idWlsZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1z
aG93LXJlc3VsdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tbmV3
LXRlc3QtcmVzdWx0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1jbG9i
YmVyLW9sZC1yZXN1bHRzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJl
bGVhc2UnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tcmVzdWx0cy1kaXJl
Y3RvcnknLCAnbGF5b3V0LXRlc3QtcmVzdWx0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJ10sCisgICAgICAgICAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICArIDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5l
eHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J2xheW91dC10ZXN0cycp
CisgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQorCiAgICAgZGVmIHRlc3RfZmFpbHVyZShz
ZWxmKToKICAgICAgICAgc2VsZi5jb25maWd1cmVTdGVwKCkKICAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnZnVsbFBsYXRmb3JtJywgJ2lvcy1zaW11bGF0b3InKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423284</attachid>
            <date>2021-03-15 19:29:28 -0700</date>
            <delta_ts>2021-03-16 07:07:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219500-20210316032927.patch</filename>
            <type>text/plain</type>
            <size>10857</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDU5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTEyZGNjM2IwOWUxYmQ2ZTViYjMwMDc3ZGQ4NjAzYjFk
YjZkNDMwNi4uOTBmNWRmNmNkMjdmODA4MzAzMTBhNDk3ZWMxYzk3ZjM4YzIzZWExMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDIxLTAzLTE1ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEVXUyBmb3IgbGF5b3V0IHRlc3RzOiBvbiB0aGUgc3RlcCBydW4t
bGF5b3V0LXRlc3RzLXdpdGhvdXQtcGF0Y2ggb25seSB0cnkgdGhlIHRlc3RzIHRoYXQgZmFpbGVk
IG9uIHRoZSBwcmV2aW91cyBzdGVwcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxOTUwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE9uIHRoZSBzdGVwIHRvIHJldHJ5IHJ1bm5pbmcgdGhlIGxheW91dCB0
ZXN0cyB3aXRob3V0IHBhdGNoIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgb24gdGhlIHByZXZpb3VzIHN0ZXBzLgorICAgICAgICBCdXQgb25seSBkbyB0
aGF0IGlmIHRoZSBwcmV2aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0CisgICAgICAg
IGZhaWx1cmUgbGltaXQgYW5kIHRoZSBwYXRjaCBkb2Vzbid0IG1vZGlmeSB0aGUgVGVzdEV4cGVj
dGF0aW9ucyBmaWxlcy4KKworICAgICAgICBUaGlzIGhlbHBzIHRvIHNwZWVkIHVwIHRoZSB0ZXN0
IHRpbWVzIG9uIHRoZSBFV1Mgd2hlbiB0aGUgcGF0Y2gKKyAgICAgICAgZG9lc24ndCBwYXNzIG9u
IHRoZSBmaXJzdCB0cnkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5
OgorICAgICAgICAoUnVuV2ViS2l0VGVzdHMuc3RhcnQpOgorCiAyMDIxLTAzLTE1ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lP
TihyMjcxNjQyKSBBbm90aGVyIGFwcCB3YXMgcmVseWluZyBvbiBET01XaW5kb3cgcmV1c2UKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1
cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CmluZGV4IDY0N2U5ZjExNGJiOWIyODBmOWQwMmYxZTI2
N2Y1NGU0YTI4NWYzYzYuLjc0MmQ5NTdkZDk0MzQ3MjYxMjRhNmY5YjgyYThiMDk3MjFkYWNlM2Eg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9v
bHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQpAQCAtMjAyOCw2ICsyMDI4LDEyIEBAIGNs
YXNzIFJ1bldlYktpdFRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICBzaGVsbC5UZXN0Ll9faW5p
dF9fKHNlbGYsIGxvZ0Vudmlyb249RmFsc2UsICoqa3dhcmdzKQogICAgICAgICBzZWxmLmluY29y
cmVjdExheW91dExpbmVzID0gW10KIAorICAgIGRlZiBfZ2V0X3BhdGNoKHNlbGYpOgorICAgICAg
ICBzb3VyY2VzdGFtcCA9IHNlbGYuYnVpbGQuZ2V0U291cmNlU3RhbXAoc2VsZi5nZXRQcm9wZXJ0
eSgnY29kZWJhc2UnLCAnJykpCisgICAgICAgIGlmIG5vdCBzb3VyY2VzdGFtcCBvciBub3Qgc291
cmNlc3RhbXAucGF0Y2g6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4g
c291cmNlc3RhbXAucGF0Y2hbMV0KKwogICAgIGRlZiBkb1N0ZXBJZihzZWxmLCBzdGVwKToKICAg
ICAgICAgcmV0dXJuIG5vdCAoKHNlbGYuZ2V0UHJvcGVydHkoJ2J1aWxkZXJuYW1lJywgJycpLmxv
d2VyKCkgPT0gJ2NvbW1pdC1xdWV1ZScpIGFuZAogICAgICAgICAgICAgICAgICAgICAoc2VsZi5n
ZXRQcm9wZXJ0eSgncmV2ZXJ0Jykgb3Igc2VsZi5nZXRQcm9wZXJ0eSgncGFzc2VkX21hY193azIn
KSkpCkBAIC0yMDU2LDYgKzIwNjIsMzIgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHMoc2hlbGwuVGVz
dCk6CiAKICAgICAgICAgaWYgYWRkaXRpb25hbEFyZ3VtZW50czoKICAgICAgICAgICAgIHNlbGYu
c2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBhZGRpdGlvbmFsQXJndW1lbnRzKQorCisgICAgICAg
IGlmIHNlbGYubmFtZSA9PSAncnVuLWxheW91dC10ZXN0cy13aXRob3V0LXBhdGNoJzoKKyAgICAg
ICAgICAgICMgSW4gb3JkZXIgdG8gc3BlZWQgdXAgdGVzdGluZywgb24gdGhlIHN0ZXAgdGhhdCBy
ZXRyaWVzIHJ1bm5pbmcgdGhlIGxheW91dCB0ZXN0cyB3aXRob3V0IHBhdGNoCisgICAgICAgICAg
ICAjIG9ubHkgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMgdGhhdCBmYWlsZWQgb24gdGhlIHByZXZp
b3VzIHN0ZXBzLgorICAgICAgICAgICAgIyBCdXQgb25seSBkbyB0aGF0IGlmIHRoZSBwcmV2aW91
cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1cmUgbGltaXQgYW5kIHRoZSBwYXRj
aCBkb2Vzbid0CisgICAgICAgICAgICAjIG1vZGlmeSB0aGUgVGVzdEV4cGVjdGF0aW9ucyBmaWxl
cyAodGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVyZSB3ZSBjYW4ndCBndWFyYW50ZWUgdGhlIGNv
cnJlY3RuZXMKKyAgICAgICAgICAgICMgb2YgdGhpcyBvcHRpbWl6YXRpb24gaWYgdGhlIHBhdGNo
IG1vZGlmaWVzIHRoZSBUZXN0RXhwZWN0YXRpb25zIGZpbGVzLCBmb3IgZXhhbXBsZSwgaWYgdGhl
IHBhdGNoCisgICAgICAgICAgICAjIHJlbW92ZXMgc2tpcHBlZCB0ZXN0cyBidXQgdGhvc2UgdGVz
dHMgc3RpbGwgZmFpbCkuCisgICAgICAgICAgICBmaXJzdF9yZXN1bHRzX2RpZF9leGNlZWRfdGVz
dF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcmVzdWx0c19leGNlZWRf
ZmFpbHVyZV9saW1pdCcsIEZhbHNlKQorICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZGlkX2V4
Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcmVzdWx0
c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQorICAgICAgICAgICAgaWYgbm90IGZpcnN0
X3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgYW5kIG5vdCBzZWNvbmRfcmVz
dWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdDoKKyAgICAgICAgICAgICAgICBwYXRj
aF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9IEZhbHNlCisgICAgICAgICAgICAgICAgcGF0
Y2ggPSBzZWxmLl9nZXRfcGF0Y2goKQorICAgICAgICAgICAgICAgIGlmIHBhdGNoOgorICAgICAg
ICAgICAgICAgICAgICBmb3IgbGluZSBpbiBwYXRjaC5zcGxpdGxpbmVzKCk6CisgICAgICAgICAg
ICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisgICAgICAgICAgICAgICAgICAgICAg
ICAjIHBhdGNoIGlzIHN0b3JlZCBieSBidWlsZGJvdCBhcyBieXRlczogaHR0cHM6Ly9naXRodWIu
Y29tL2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy81ODEyI2lzc3VlY29tbWVudC03OTAxNzU5NzkK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiJ0xheW91dFRlc3RzLycgaW4gbGluZSBhbmQg
YidUZXN0RXhwZWN0YXRpb25zJyBpbiBsaW5lKSBhbmQgKGxpbmUuc3RhcnRzd2l0aChiJy0tLScp
IG9yIGxpbmUuc3RhcnRzd2l0aChiJysrKycpKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9IFRydWUKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGlmIG5vdCBwYXRjaF9tb2RpZmll
c19leHBlY3RhdGlvbl9maWxlczoKKyAgICAgICAgICAgICAgICAgICAgZmlyc3RfcmVzdWx0c19m
YWlsaW5nX3Rlc3RzID0gc2V0KHNlbGYuZ2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycs
IHNldCgpKSkKKyAgICAgICAgICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZmFpbGluZ190ZXN0
cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgc2V0KCkpKQor
ICAgICAgICAgICAgICAgICAgICBsaXN0X3JldHJ5X3Rlc3RzID0gc29ydGVkKGZpcnN0X3Jlc3Vs
dHNfZmFpbGluZ190ZXN0cy51bmlvbihzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rlc3RzKSkKKyAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIGxpc3RfcmV0
cnlfdGVzdHMpCisKICAgICAgICAgcmV0dXJuIHNoZWxsLlRlc3Quc3RhcnQoc2VsZikKIAogICAg
ICMgRklYTUU6IFRoaXMgd2lsbCBicmVhayBpZiBydW4td2Via2l0LXRlc3RzIGNoYW5nZXMgaXRz
IGRlZmF1bHQgbG9nIGZvcm1hdHRlci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CmluZGV4IGYwZjJjNjk5N2M0NzY5YWM4NDQ1MTgyYzUwYzYwOGFjZDE4NmFh
NzguLjBjMTUxOWZhYjE0ODkxN2IwOTZlYTA4YWQzZGQ1YmU3YjI3MjhjZmEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
Q0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpAQCAtMTkyNyw2ICsxOTI3LDEx
OSBAQCBjbGFzcyBUZXN0UnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goQnVpbGRTdGVwTWl4aW5B
ZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKQogICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUo
cmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nbGF5b3V0LXRlc3RzJykKICAgICAgICAgcmV0
dXJuIHNlbGYucnVuU3RlcCgpCiAKKyAgICBkZWYgdGVzdF9zdWNjZXNzX3JldHJ5X29ubHlfc3Vi
c2V0KHNlbGYpOgorICAgICAgICBzZWxmLmNvbmZpZ3VyZVN0ZXAoKQorICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNpbXVsYXRvcicpCisgICAgICAgIHNlbGYu
c2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRpb24nLCAncmVsZWFzZScpCisgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDInLCAndGVzdDMn
XSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJlcycsIFsndGVz
dDEnLCAndGVzdDMnLCAndGVzdDQnXSkKKyAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5k
cygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGxvZ2ZpbGVzPXsnanNvbic6IHNlbGYuanNvbkZpbGVOYW1lfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICBjb21tYW5kPVsncHl0aG9uJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJy0tbm8tYnVpbGQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJy0tbm8tc2hvdy1yZXN1bHRzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLW5vLW5ldy10ZXN0LXJlc3VsdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJy0tY2xvYmJlci1vbGQtcmVzdWx0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnLS1yZWxlYXNlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJl
c3VsdHMtZGlyZWN0b3J5JywgJ2xheW91dC10ZXN0LXJlc3VsdHMnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tZGVidWctcnd0LWxvZ2dpbmcnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tZXhpdC1hZnRlci1uLWZhaWx1cmVzJywgJzMwJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXNraXAtZmFpbGluZy10ZXN0cycsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdDEnLCAndGVzdDInLCAndGVzdDMnLCAn
dGVzdDQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICsgMCwKKyAg
ICAgICAgKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRl
X3N0cmluZz0nbGF5b3V0LXRlc3RzJykKKyAgICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCisK
KyAgICBkZWYgdGVzdF9zdWNjZXNzX3JldHJ5X29ubHlfc3Vic2V0X2xpbWl0X2V4Y2VlZGVkKHNl
bGYpOgorICAgICAgICBzZWxmLmNvbmZpZ3VyZVN0ZXAoKQorICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNpbXVsYXRvcicpCisgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ2NvbmZpZ3VyYXRpb24nLCAncmVsZWFzZScpCisgICAgICAgIHNlbGYuc2V0UHJvcGVy
dHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSkKKyAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vjb25kX3Jlc3VsdHNfZXhjZWVkX2ZhaWx1cmVfbGlt
aXQnLCBUcnVlKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVz
JywgWyd0ZXN0e30nLmZvcm1hdChpKSBmb3IgaSBpbiByYW5nZSgwLCAzMCldKQorICAgICAgICBz
ZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rp
cj0nd2tkaXInLAorICAgICAgICAgICAgICAgICAgICAgICAgbG9nZmlsZXM9eydqc29uJzogc2Vs
Zi5qc29uRmlsZU5hbWV9LAorICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxz
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydweXRob24nLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1idWlsZCcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1zaG93LXJlc3VsdHMnLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tbmV3LXRlc3QtcmVzdWx0cycsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1jbG9iYmVyLW9sZC1yZXN1bHRzJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJlbGVhc2UnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tcmVzdWx0cy1kaXJlY3RvcnknLCAnbGF5b3V0LXRlc3QtcmVz
dWx0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9n
Z2luZycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4t
ZmFpbHVyZXMnLCAnMzAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tp
cC1mYWlsaW5nLXRlc3RzJ10sCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICArIDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUND
RVNTLCBzdGF0ZV9zdHJpbmc9J2xheW91dC10ZXN0cycpCisgICAgICAgIHJldHVybiBzZWxmLnJ1
blN0ZXAoKQorCisgICAgZGVmIHRlc3Rfc3VjY2Vzc19yZXRyeV9vbmx5X3N1YnNldF9wYXRjaF9u
b19tb2RpZmllc19leHBlY3RhdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuY29uZmlndXJlU3Rl
cCgpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxh
dG9yJykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNl
JykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0
MScsICd0ZXN0MicsICd0ZXN0MyddKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRf
cnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MycsICd0ZXN0NCddKQorICAgICAgICBSdW5X
ZWJLaXRUZXN0cy5fZ2V0X3BhdGNoID0gbGFtYmRhIHg6IGInKysrIFRvb2xzL0NoYW5nZUxvZ1xu
KysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHBcbicKKyAgICAgICAgc2VsZi5l
eHBlY3RSZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3dr
ZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZpbGVzPXsnanNvbic6IHNlbGYuanNv
bkZpbGVOYW1lfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsncHl0aG9uJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tYnVpbGQnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJy0tbm8tc2hvdy1yZXN1bHRzJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICctLW5vLW5ldy10ZXN0LXJlc3VsdHMnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJy0tY2xvYmJlci1vbGQtcmVzdWx0cycsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnLS1yZWxlYXNlJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICctLXJlc3VsdHMtZGlyZWN0b3J5JywgJ2xheW91dC10ZXN0LXJlc3VsdHMn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tZGVidWctcnd0LWxvZ2dpbmcn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tZXhpdC1hZnRlci1uLWZhaWx1
cmVzJywgJzMwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXNraXAtZmFp
bGluZy10ZXN0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdDEnLCAn
dGVzdDInLCAndGVzdDMnLCAndGVzdDQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAg
ICAgICAgICAgICsgMCwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVz
dWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nbGF5b3V0LXRlc3RzJykKKyAgICAgICAgcmV0dXJu
IHNlbGYucnVuU3RlcCgpCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzX3JldHJ5X29ubHlfc3Vic2V0
X3BhdGNoX21vZGlmaWVzX2V4cGVjdGF0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5jb25maWd1
cmVTdGVwKCkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3JtJywgJ2lvcy1z
aW11bGF0b3InKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjb25maWd1cmF0aW9uJywgJ3Jl
bGVhc2UnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFpbHVyZXMnLCBb
J3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3QzJ10pCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3Nl
Y29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QxJywgJ3Rlc3QzJywgJ3Rlc3Q0J10pCisgICAgICAg
IFJ1bldlYktpdFRlc3RzLl9nZXRfcGF0Y2ggPSBsYW1iZGEgeDogYicrKysgTGF5b3V0VGVzdHMv
Q2hhbmdlbG9nXG4rKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnNc
bicKKyAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVj
dFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZpbGVz
PXsnanNvbic6IHNlbGYuanNvbkZpbGVOYW1lfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxv
Z0Vudmlyb249RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsncHl0aG9u
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb29scy9TY3JpcHRzL3J1bi13
ZWJraXQtdGVzdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tYnVp
bGQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbm8tc2hvdy1yZXN1bHRz
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLW5ldy10ZXN0LXJlc3Vs
dHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2xvYmJlci1vbGQtcmVz
dWx0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZWxlYXNlJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJlc3VsdHMtZGlyZWN0b3J5JywgJ2xh
eW91dC10ZXN0LXJlc3VsdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
ZGVidWctcnd0LWxvZ2dpbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
ZXhpdC1hZnRlci1uLWZhaWx1cmVzJywgJzMwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICctLXNraXAtZmFpbGluZy10ZXN0cyddLAorICAgICAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgKyAwLAorICAgICAgICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29t
ZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdsYXlvdXQtdGVzdHMnKQorICAgICAgICBy
ZXR1cm4gc2VsZi5ydW5TdGVwKCkKKwogICAgIGRlZiB0ZXN0X2ZhaWx1cmUoc2VsZik6CiAgICAg
ICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2Z1bGxQ
bGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykK
</data>

          </attachment>
      

    </bug>

</bugzilla>