<?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>199408</bug_id>
          
          <creation_ts>2019-07-02 09:40:49 -0700</creation_ts>
          <short_desc>[ews-build] Add build steps to Install Wpe and Gtk dependencies</short_desc>
          <delta_ts>2020-02-04 15:30:45 -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>Other</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=199234</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=207220</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="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>aperez</cc>
    
    <cc>ap</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jbedard</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1549605</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-02 09:40:49 -0700</bug_when>
    <thetext>Add build steps to Install Wpe and Gtk Dependencies to EWS configuration. This step is required to install appropriate dependencies before compiling webkit for gtk/wpe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549606</commentid>
    <comment_count>1</comment_count>
      <attachid>373334</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-02 09:49:11 -0700</bug_when>
    <thetext>Created attachment 373334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549607</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-02 09:50:36 -0700</bug_when>
    <thetext>Attachment 373334 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/ews-build/steps.py:603:  [InstallGtkDependencies.__init__] Use of super on an old style class  [pylint/E1002] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps.py:614:  [InstallWpeDependencies.__init__] Use of super on an old style class  [pylint/E1002] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:485:  [TestInstallGtkDependencies.test_success] Instance of &apos;TestInstallGtkDependencies&apos; has no &apos;assertEqual&apos; member  [pylint/E1101] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:493:  [TestInstallGtkDependencies.test_success] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:493:  [TestInstallGtkDependencies.test_success] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:498:  [TestInstallGtkDependencies.test_failure] Instance of &apos;TestInstallGtkDependencies&apos; has no &apos;assertEqual&apos; member  [pylint/E1101] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:507:  [TestInstallGtkDependencies.test_failure] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:507:  [TestInstallGtkDependencies.test_failure] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:521:  [TestInstallWpeDependencies.test_success] Instance of &apos;TestInstallWpeDependencies&apos; has no &apos;assertEqual&apos; member  [pylint/E1101] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:529:  [TestInstallWpeDependencies.test_success] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:529:  [TestInstallWpeDependencies.test_success] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:534:  [TestInstallWpeDependencies.test_failure] Instance of &apos;TestInstallWpeDependencies&apos; has no &apos;assertEqual&apos; member  [pylint/E1101] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:543:  [TestInstallWpeDependencies.test_failure] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:543:  [TestInstallWpeDependencies.test_failure] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
Total errors found: 14 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549608</commentid>
    <comment_count>3</comment_count>
      <attachid>373334</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-02 09:51:15 -0700</bug_when>
    <thetext>Comment on attachment 373334
Patch

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

factory.py would be updated to run this build step in subsequent patch.

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:597
&gt; +    name = &apos;jhbuild&apos;

Not sure why this step is called &apos;jhbuild&apos;. Copied it from build.webkit.org configuration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549748</commentid>
    <comment_count>4</comment_count>
      <attachid>373334</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-07-02 15:40:27 -0700</bug_when>
    <thetext>Comment on attachment 373334
Patch

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

So I don&apos;t see how these new classes get used anywhere? Is it magic? :D

&gt;&gt; Tools/BuildSlaveSupport/ews-build/steps.py:597
&gt;&gt; +    name = &apos;jhbuild&apos;
&gt; 
&gt; Not sure why this step is called &apos;jhbuild&apos;. Copied it from build.webkit.org configuration.

JHBuild is a development build environment that everything runs in. Basically it&apos;s an overlay on top of the host&apos;s system dependencies where we can build and install software to be used inside the JHBuild environment without requiring root.

We usually write &quot;jhbuild&quot; because the Shift key requires effort to press. :)

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:601
&gt; +    haltOnFailure = False

Hm, I think failure should be fatal. We have a big problem if the JHBuild step fails. It&apos;s unlikely WebKit would actually be able to run successfully in this case anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549749</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-07-02 15:40:56 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #3)
&gt; Not sure why this step is called &apos;jhbuild&apos;. Copied it from build.webkit.org
&gt; configuration.

Missed this. Not magic!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549767</commentid>
    <comment_count>6</comment_count>
      <attachid>373334</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-02 16:14:20 -0700</bug_when>
    <thetext>Comment on attachment 373334
Patch

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

&gt;&gt; Tools/BuildSlaveSupport/ews-build/steps.py:601
&gt;&gt; +    haltOnFailure = False
&gt; 
&gt; Hm, I think failure should be fatal. We have a big problem if the JHBuild step fails. It&apos;s unlikely WebKit would actually be able to run successfully in this case anyway.

Agree it&apos;s a big problem if the JHBuild step fails. I think that problem qualify under &apos;infrastructure issue&apos;, and we should RETRY the build, instead of marking the build as &apos;FAILED&quot; (which haltOnFailure=True will result into). In EWS &quot;FAILED&quot; build indicate that the patch being tested is bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549768</commentid>
    <comment_count>7</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-02 16:17:49 -0700</bug_when>
    <thetext>Just to clarify, subsequent build-step &apos;analyze-compile-webkit-results&apos; will RETRY the build. e.g.: https://ews-build.webkit-uat.org/#/builders/7/builds/316</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549780</commentid>
    <comment_count>8</comment_count>
      <attachid>373334</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-02 16:44:23 -0700</bug_when>
    <thetext>Comment on attachment 373334
Patch

Clearing flags on attachment: 373334

Committed r247080: &lt;https://trac.webkit.org/changeset/247080&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549781</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-02 16:44:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549782</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-02 16:45:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/52555552&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549879</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-07-03 07:48:53 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #6) 
&gt; Agree it&apos;s a big problem if the JHBuild step fails. I think that problem
&gt; qualify under &apos;infrastructure issue&apos;, and we should RETRY the build, instead
&gt; of marking the build as &apos;FAILED&quot; (which haltOnFailure=True will result
&gt; into). In EWS &quot;FAILED&quot; build indicate that the patch being tested is bad.

Well if the jhbuild step fails, it&apos;s probably because the patch has broken the jhbuild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614509</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-02-04 07:01:21 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #11)
&gt; (In reply to Aakash Jain from comment #6) 
&gt; &gt; Agree it&apos;s a big problem if the JHBuild step fails. I think that problem
&gt; &gt; qualify under &apos;infrastructure issue&apos;, and we should RETRY the build, instead
&gt; &gt; of marking the build as &apos;FAILED&quot; (which haltOnFailure=True will result
&gt; &gt; into). In EWS &quot;FAILED&quot; build indicate that the patch being tested is bad.
&gt; 
&gt; Well if the jhbuild step fails, it&apos;s probably because the patch has broken
&gt; the jhbuild.

Right
I see this here: https://ews-build.webkit.org/#/builders/8/builds/14753 &lt;-- It should have halted on the jhbuild step.

I think the jhbuild step should halt on failure. It doesn&apos;t make sense to continue with trying to build webkit if that step failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614582</commentid>
    <comment_count>13</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-02-04 09:14:37 -0800</bug_when>
    <thetext>&gt; I think the jhbuild step should halt on failure. It doesn&apos;t make sense to continue with trying to build webkit if that step failed.
Feel free to update &apos;haltOnFailure&apos; in InstallGtkDependencies/InstallWpeDependencies at https://trac.webkit.org/browser/webkit/trunk/Tools/BuildSlaveSupport/ews-build/steps.py#L797</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614794</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-02-04 15:30:45 -0800</bug_when>
    <thetext>(In reply to Aakash Jain from comment #13)
&gt; &gt; I think the jhbuild step should halt on failure. It doesn&apos;t make sense to continue with trying to build webkit if that step failed.
&gt; Feel free to update &apos;haltOnFailure&apos; in
&gt; InstallGtkDependencies/InstallWpeDependencies at
&gt; https://trac.webkit.org/browser/webkit/trunk/Tools/BuildSlaveSupport/ews-
&gt; build/steps.py#L797

Lauro did that on bug 207220</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373334</attachid>
            <date>2019-07-02 09:49:11 -0700</date>
            <delta_ts>2019-07-02 16:44:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199408-20190702124910.patch</filename>
            <type>text/plain</type>
            <size>6563</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0NzA1NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDE5LTA3LTAyICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbZXdzLWJ1aWxkXSBBZGQgYnVpbGQgc3RlcHMgdG8gSW5zdGFsbCBXcGUg
YW5kIEd0ayBkZXBlbmRlbmNpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5OTQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5OgorICAg
ICAgICAoSW5zdGFsbEd0a0RlcGVuZGVuY2llcyk6IEJ1aWxkIHN0ZXAgdG8gaW5zdGFsbCBkZXBl
bmRlbmNpZXMgZm9yIEdUSy4gU2V0IGhhbHRPbkZhaWx1cmU9RmFsc2Ugc28gdGhhdCBpbiBjYXNl
IG9mIGZhaWx1cmUsIGJ1aWxkIGlzbid0CisgICAgICAgIG1hcmtlZCBhcyBmYWlsZWQgKHdoaWNo
IHdvdWxkIGluZGljYXRlZCBwYXRjaCBmYWlsZWQgRVdTKSwgaW5zdGVhZCBzdWJzZXF1ZW50IHN0
ZXBzIHdvdWxkIGJlIHJ1biBhbmQgdGhlIGJ1aWxkIHdvdWxkIGJlIG1hcmtlZCBhcyBSRVRSWS4K
KyAgICAgICAgKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMpOiBEaXR0byBmb3IgV1BFLgorICAgICAg
ICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weTogQWRkZWQg
dW5pdC10ZXN0cy4KKwogMjAxOS0wNy0wMiAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2V3cy1idWlsZF0gVXBkYXRlIGJvdCBjb25maWd1cmF0aW9uIGZv
ciBXUEUgYW5kIEdUSwpJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQkocmV2aXNpb24gMjQ3MDUxKQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNiArNTkzLDI4IEBAIGNsYXNz
IFJ1bldlYktpdFB5VGVzdHMoc2hlbGwuU2hlbGxDb21tYW4KICAgICAgICAgbG9nLmFkZFN0ZG91
dChtZXNzYWdlKQogCiAKK2NsYXNzIEluc3RhbGxHdGtEZXBlbmRlbmNpZXMoc2hlbGwuU2hlbGxD
b21tYW5kKToKKyAgICBuYW1lID0gJ2poYnVpbGQnCisgICAgZGVzY3JpcHRpb24gPSBbJ3VwZGF0
aW5nIGd0ayBkZXBlbmRlbmNpZXMnXQorICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsnVXBkYXRlZCBn
dGsgZGVwZW5kZW5jaWVzJ10KKyAgICBjb21tYW5kID0gWydwZXJsJywgJ1Rvb2xzL1NjcmlwdHMv
dXBkYXRlLXdlYmtpdGd0ay1saWJzJ10KKyAgICBoYWx0T25GYWlsdXJlID0gRmFsc2UKKworICAg
IGRlZiBfX2luaXRfXyhzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIHN1cGVyKEluc3RhbGxHdGtE
ZXBlbmRlbmNpZXMsIHNlbGYpLl9faW5pdF9fKGxvZ0Vudmlyb249RmFsc2UsICoqa3dhcmdzKQor
CisKK2NsYXNzIEluc3RhbGxXcGVEZXBlbmRlbmNpZXMoc2hlbGwuU2hlbGxDb21tYW5kKToKKyAg
ICBuYW1lID0gJ2poYnVpbGQnCisgICAgZGVzY3JpcHRpb24gPSBbJ3VwZGF0aW5nIHdwZSBkZXBl
bmRlbmNpZXMnXQorICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsnVXBkYXRlZCB3cGUgZGVwZW5kZW5j
aWVzJ10KKyAgICBjb21tYW5kID0gWydwZXJsJywgJ1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dHdwZS1saWJzJ10KKyAgICBoYWx0T25GYWlsdXJlID0gRmFsc2UKKworICAgIGRlZiBfX2luaXRf
XyhzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIHN1cGVyKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMs
IHNlbGYpLl9faW5pdF9fKGxvZ0Vudmlyb249RmFsc2UsICoqa3dhcmdzKQorCisKIGRlZiBhcHBl
bmRDdXN0b21CdWlsZEZsYWdzKHN0ZXAsIHBsYXRmb3JtLCBmdWxsUGxhdGZvcm0pOgogICAgICMg
RklYTUU6IE1ha2UgYSBjb21tb24gJ3N1cHBvcnRlZCBwbGF0Zm9ybXMnIGxpc3QuCiAgICAgaWYg
cGxhdGZvcm0gbm90IGluICgnZ3RrJywgJ3dpbmNhaXJvJywgJ2lvcycsICdqc2Mtb25seScsICd3
cGUnKToKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0
dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHNfdW5pdHRlc3QucHkJKHJldmlzaW9uIDI0NzA1MSkKKysrIFRvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzcs
NyArMzcsNyBAQCBmcm9tIHR3aXN0ZWQudHJpYWwgaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHN0ZXBz
IGltcG9ydCAoQW5hbHl6ZUFQSVRlc3RzUmVzdWx0cywgQW5hbHl6ZUNvbXBpbGVXZWJLaXRSZXN1
bHRzLCBBcHBseVBhdGNoLCBBcmNoaXZlQnVpbHRQcm9kdWN0LCBBcmNoaXZlVGVzdFJlc3VsdHMs
CiAgICAgICAgICAgICAgICAgICAgQ2hlY2tPdXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSZXZp
c2lvbiwgQ2hlY2tQYXRjaFJlbGV2YW5jZSwgQ2hlY2tTdHlsZSwgQ2xlYW5CdWlsZCwgQ2xlYW5X
b3JraW5nRGlyZWN0b3J5LAogICAgICAgICAgICAgICAgICAgIENvbXBpbGVKU0NPbmx5LCBDb21w
aWxlSlNDT25seVRvVCwgQ29tcGlsZVdlYktpdCwgQ29tcGlsZVdlYktpdFRvVCwgQ29uZmlndXJl
QnVpbGQsCi0gICAgICAgICAgICAgICAgICAgRG93bmxvYWRCdWlsdFByb2R1Y3QsIEV4dHJhY3RC
dWlsdFByb2R1Y3QsIEV4dHJhY3RUZXN0UmVzdWx0cywgS2lsbE9sZFByb2Nlc3NlcywKKyAgICAg
ICAgICAgICAgICAgICBEb3dubG9hZEJ1aWx0UHJvZHVjdCwgRXh0cmFjdEJ1aWx0UHJvZHVjdCwg
RXh0cmFjdFRlc3RSZXN1bHRzLCBJbnN0YWxsR3RrRGVwZW5kZW5jaWVzLCBJbnN0YWxsV3BlRGVw
ZW5kZW5jaWVzLCBLaWxsT2xkUHJvY2Vzc2VzLAogICAgICAgICAgICAgICAgICAgIFByaW50Q29u
ZmlndXJhdGlvbiwgUmVSdW5BUElUZXN0cywgUmVSdW5KYXZhU2NyaXB0Q29yZVRlc3RzLCBSdW5B
UElUZXN0cywgUnVuQVBJVGVzdHNXaXRob3V0UGF0Y2gsCiAgICAgICAgICAgICAgICAgICAgUnVu
QmluZGluZ3NUZXN0cywgUnVuSmF2YVNjcmlwdENvcmVUZXN0cywgUnVuSmF2YVNjcmlwdENvcmVU
ZXN0c1RvVCwgUnVuV2ViS2l0MVRlc3RzLCBSdW5XZWJLaXRQZXJsVGVzdHMsCiAgICAgICAgICAg
ICAgICAgICAgUnVuV2ViS2l0UHlUZXN0cywgUnVuV2ViS2l0VGVzdHMsIFRlc3RXaXRoRmFpbHVy
ZUNvdW50LCBUcmlnZ2VyLCBUcmFuc2ZlclRvUzMsIFVuQXBwbHlQYXRjaElmUmVxdWlyZWQsCkBA
IC00NzIsNiArNDcyLDc4IEBAIGNsYXNzIFRlc3RDbGVhbkJ1aWxkKEJ1aWxkU3RlcE1peGluQWRk
aXQKICAgICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCiAKIAorY2xhc3MgVGVzdEluc3RhbGxH
dGtEZXBlbmRlbmNpZXMoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNl
KToKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYubG9uZ01lc3NhZ2UgPSBUcnVl
CisgICAgICAgIHJldHVybiBzZWxmLnNldFVwQnVpbGRTdGVwKCkKKworICAgIGRlZiB0ZWFyRG93
bihzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudGVhckRvd25CdWlsZFN0ZXAoKQorCisgICAg
ZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoSW5zdGFsbEd0
a0RlcGVuZGVuY2llcygpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEluc3RhbGxHdGtEZXBl
bmRlbmNpZXMuaGFsdE9uRmFpbHVyZSwgRmFsc2UpCisgICAgICAgIHNlbGYuZXhwZWN0UmVtb3Rl
Q29tbWFuZHMoCisgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCisgICAg
ICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29tbWFuZD1bJ3BlcmwnLCAnVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0Z3RrLWxp
YnMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICsgMCwKKyAgICAg
ICAgKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0
cmluZz0nVXBkYXRlZCBndGsgZGVwZW5kZW5jaWVzJykKKyAgICAgICAgcmV0dXJuIHNlbGYucnVu
U3RlcCgpCisKKyAgICBkZWYgdGVzdF9mYWlsdXJlKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVw
U3RlcChJbnN0YWxsR3RrRGVwZW5kZW5jaWVzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
SW5zdGFsbEd0a0RlcGVuZGVuY2llcy5oYWx0T25GYWlsdXJlLCBGYWxzZSkKKyAgICAgICAgc2Vs
Zi5leHBlY3RSZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9
J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCisgICAg
ICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsncGVybCcsICdUb29scy9TY3JpcHRzL3VwZGF0
ZS13ZWJraXRndGstbGlicyddLAorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgKyBFeHBlY3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rkb3V0PSdVbmV4cGVjdGVkIGVycm9yLicp
CisgICAgICAgICAgICArIDIsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21l
KHJlc3VsdD1GQUlMVVJFLCBzdGF0ZV9zdHJpbmc9J1VwZGF0ZWQgZ3RrIGRlcGVuZGVuY2llcyAo
ZmFpbHVyZSknKQorICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKKworCitjbGFzcyBUZXN0
SW5zdGFsbFdwZURlcGVuZGVuY2llcyhCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3Qu
VGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5sb25nTWVzc2Fn
ZSA9IFRydWUKKyAgICAgICAgcmV0dXJuIHNlbGYuc2V0VXBCdWlsZFN0ZXAoKQorCisgICAgZGVm
IHRlYXJEb3duKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi50ZWFyRG93bkJ1aWxkU3RlcCgp
CisKKyAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVwU3RlcChJ
bnN0YWxsV3BlRGVwZW5kZW5jaWVzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoSW5zdGFs
bFdwZURlcGVuZGVuY2llcy5oYWx0T25GYWlsdXJlLCBGYWxzZSkKKyAgICAgICAgc2VsZi5leHBl
Y3RSZW1vdGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGly
JywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb21tYW5kPVsncGVybCcsICdUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXR3cGUtbGlicyddLAorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKyAw
LAorICAgICAgICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywg
c3RhdGVfc3RyaW5nPSdVcGRhdGVkIHdwZSBkZXBlbmRlbmNpZXMnKQorICAgICAgICByZXR1cm4g
c2VsZi5ydW5TdGVwKCkKKworICAgIGRlZiB0ZXN0X2ZhaWx1cmUoc2VsZik6CisgICAgICAgIHNl
bGYuc2V0dXBTdGVwKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMoKSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzLmhhbHRPbkZhaWx1cmUsIEZhbHNlKQorICAg
ICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAgICAgICAgICAgRXhwZWN0U2hlbGwo
d29ya2Rpcj0nd2tkaXInLAorICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxz
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydwZXJsJywgJ1Rvb2xzL1Njcmlw
dHMvdXBkYXRlLXdlYmtpdHdwZS1saWJzJ10sCisgICAgICAgICAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICArIEV4cGVjdFNoZWxsLmxvZygnc3RkaW8nLCBzdGRvdXQ9J1VuZXhwZWN0ZWQg
ZXJyb3IuJykKKyAgICAgICAgICAgICsgMiwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmV4cGVj
dE91dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0cmluZz0nVXBkYXRlZCB3cGUgZGVwZW5k
ZW5jaWVzIChmYWlsdXJlKScpCisgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQorCisKIGNs
YXNzIFRlc3RDb21waWxlV2ViS2l0KEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLmxvbmdNZXNzYWdl
ID0gVHJ1ZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>