<?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>229782</bug_id>
          
          <creation_ts>2021-09-01 17:21:30 -0700</creation_ts>
          <short_desc>[GTK][WPE] Port API test runner to python3</short_desc>
          <delta_ts>2021-09-02 15:16:55 -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=229758</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>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>jbedard</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1789549</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-09-01 17:21:30 -0700</bug_when>
    <thetext>Port API test runner to python3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789585</commentid>
    <comment_count>1</comment_count>
      <attachid>437104</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-09-01 19:06:15 -0700</bug_when>
    <thetext>Created attachment 437104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789623</commentid>
    <comment_count>2</comment_count>
      <attachid>437104</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-02 01:24:38 -0700</bug_when>
    <thetext>Comment on attachment 437104
Patch

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

&gt; Tools/glib/glib_test_runner.py:252
&gt; +            p = subprocess.Popen(command, stderr=subprocess.PIPE, env=env, pass_fds=[pipe_w])

Why pass_fds here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789657</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-09-02 03:55:50 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #2)
&gt; Comment on attachment 437104 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=437104&amp;action=review
&gt; 
&gt; &gt; Tools/glib/glib_test_runner.py:252
&gt; &gt; +            p = subprocess.Popen(command, stderr=subprocess.PIPE, env=env, pass_fds=[pipe_w])
&gt; 
&gt; Why pass_fds here?

Because the program called need to write on that &quot;pipe_w&quot; FD.

The runner uses a pipe to communicate with it, see https://trac.webkit.org/browser/webkit/trunk/Tools/glib/glib_test_runner.py?rev=281888#L239
Then the runner reads (binary) data from the pipe with the function GLibTestRunner._read_from_pipe() and converts that data to strings, unsigned or doubles with the Message() class.

With python3 if you don&apos;t explicitly pass the list of FDs that should be kept available to the subprocess invocation then the subprocess won&apos;t have access to those FDs. 

This was the part that gave me more trouble when porting this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789659</commentid>
    <comment_count>4</comment_count>
      <attachid>437104</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-02 04:07:48 -0700</bug_when>
    <thetext>Comment on attachment 437104
Patch

Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789661</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-09-02 04:28:07 -0700</bug_when>
    <thetext>Thanks! 

But I need r+, not cq+ :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789662</commentid>
    <comment_count>6</comment_count>
      <attachid>437104</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-02 04:34:32 -0700</bug_when>
    <thetext>Comment on attachment 437104
Patch

OK I&apos;m awake now, you got it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789665</commentid>
    <comment_count>7</comment_count>
      <attachid>437104</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-09-02 04:45:47 -0700</bug_when>
    <thetext>Comment on attachment 437104
Patch

Clearing flags on attachment: 437104

Committed r281919 (241228@main): &lt;https://commits.webkit.org/241228@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789667</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-09-02 04:45:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789668</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-02 04:47:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/82669592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789807</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-09-02 11:41:34 -0700</bug_when>
    <thetext>Committed r281942 (241251@main): &lt;https://commits.webkit.org/241251@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789924</commentid>
    <comment_count>11</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-09-02 15:16:55 -0700</bug_when>
    <thetext>This seems to have broken gtk api tests. 
e.g.: https://ews-build.webkit.org/#/builders/34/builds/42638/steps/13/logs/stdio
ModuleNotFoundError: No module named &apos;gi&apos;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437104</attachid>
            <date>2021-09-01 19:06:15 -0700</date>
            <delta_ts>2021-09-02 04:45:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229782-20210902030533.patch</filename>
            <type>text/plain</type>
            <size>10840</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTlkMzY0MDkxNmI4MWU2YzZmMTg1Mzk1YzEzYTM3MDQy
NzExYzg3MC4uYjAzMTY2NDc1ZmNkMWE1NjJkOGJiZjMxM2YxMDM4MDk4YmE5NzU5ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDIxLTA5LTAxICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gUG9ydCBBUEkgdGVzdCBydW5uZXIgdG8gcHl0
aG9uMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5
NzgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG9y
dCB0aGUgR1RLL1dQRSBBUEkgdGVzdCBydW5uZXIgdG8gYmUgY29tcGF0aWJsZSB3aXRoIHB5dGhv
bjMKKyAgICAgICAgYW5kIHNldCBpdCB0byBydW4gd2l0aCBweXRob24zIGJ5IGRlZmF1bHQuCisg
ICAgICAgIFRoZSBydW5uZXIgaXMgc3RpbGwgY29tcGF0aWJsZSB3aXRoIHB5dGhvbjIgYWZ0ZXIg
dGhpcyBwYXRjaCwgc28KKyAgICAgICAgd2UgY2FuIGxhbmQgdGhpcyB3aXRob3V0IGltbWVkaWF0
ZWx5IHJlcXVpcmluZyBhIHJlc3RhcnQgb2YgdGhlIENJLgorCisgICAgICAgICogU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzOgorICAgICAgICAoR3RrVGVzdFJ1bm5lcik6IERlbGV0ZWQuCisgICAgICAg
IChHdGtUZXN0UnVubmVyLl9faW5pdF9fKTogRGVsZXRlZC4KKyAgICAgICAgKEd0a1Rlc3RSdW5u
ZXIuX2Vuc3VyZV9hY2Nlc3NpYmlsaXR5X3NlcnZpY2VfaXNfcnVubmluZyk6IERlbGV0ZWQuCisg
ICAgICAgIChHdGtUZXN0UnVubmVyLl9zZXR1cF90ZXN0aW5nX2Vudmlyb25tZW50KTogRGVsZXRl
ZC4KKyAgICAgICAgKEd0a1Rlc3RSdW5uZXIuX3RlYXJfZG93bl90ZXN0aW5nX2Vudmlyb25tZW50
KTogRGVsZXRlZC4KKyAgICAgICAgKEd0a1Rlc3RSdW5uZXIuaXNfZ2xpYl90ZXN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKEd0a1Rlc3RSdW5uZXIuaXNfZ29vZ2xlX3Rlc3QpOiBEZWxldGVkLgorICAg
ICAgICAoR3RrVGVzdFJ1bm5lci5pc19xdF90ZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1wZXJmLXRlc3RzOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdwZS10ZXN0czoKKyAg
ICAgICAgKFdQRVRlc3RSdW5uZXIpOiBEZWxldGVkLgorICAgICAgICAoV1BFVGVzdFJ1bm5lci5f
X2luaXRfXyk6IERlbGV0ZWQuCisgICAgICAgIChXUEVUZXN0UnVubmVyLmlzX2dsaWJfdGVzdCk6
IERlbGV0ZWQuCisgICAgICAgIChXUEVUZXN0UnVubmVyLmlzX2dvb2dsZV90ZXN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdQRVRlc3RSdW5uZXIuaXNfcXRfdGVzdCk6IERlbGV0ZWQuCisgICAgICAg
ICogZ2xpYi9hcGlfdGVzdF9ydW5uZXIucHk6CisgICAgICAgIChUZXN0UnVubmVyLl9nZXRfdGVz
dHNfZnJvbV9nb29nbGVfdGVzdF9zdWl0ZSk6CisgICAgICAgIChUZXN0UnVubmVyLnJ1bl90ZXN0
cyk6CisgICAgICAgIChUZXN0UnVubmVyLnJ1bl90ZXN0cy5udW1iZXJfb2ZfdGVzdHMpOgorICAg
ICAgICAqIGdsaWIvY29tbW9uLnB5OgorICAgICAgICAocGFyc2Vfb3V0cHV0X2xpbmVzKToKKyAg
ICAgICAgKiBnbGliL2dsaWJfdGVzdF9ydW5uZXIucHk6CisgICAgICAgIChNZXNzYWdlLmNyZWF0
ZS5yZWFkX3N0cmluZyk6CisgICAgICAgIChNZXNzYWdlKToKKyAgICAgICAgKEdMaWJUZXN0UnVu
bmVyLl9yZWFkX2Zyb21fcGlwZSk6CisgICAgICAgIChHTGliVGVzdFJ1bm5lci5fcmVhZF9mcm9t
X3N0ZGVycik6CisgICAgICAgIChHTGliVGVzdFJ1bm5lci5ydW4pOgorCiAyMDIxLTA5LTAxICBK
b25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbY29udHJpYnV0
b3JzLmpzb25dIFJlbG9jYXRpb24gKFBhcnQgMikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9y
dC9idWlsZC13ZWJraXQtb3JnL3N0ZXBzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtp
dC1vcmcvc3RlcHMucHkKaW5kZXggZmExYjBlY2VhY2FmNzQyNDAxNDBjZTAzMDc0YmIzNzcxZjg2
MTgyYy4uYTZlNDg4ZTJkOTQzYmY4MWFjNjQwOGFmZGQ5NTA3Mjc1MGYyNDM2ZSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHkKKysrIGIvVG9vbHMv
Q0lTdXBwb3J0L2J1aWxkLXdlYmtpdC1vcmcvc3RlcHMucHkKQEAgLTk0MCwxMSArOTQwLDExIEBA
IGNsYXNzIFJ1bkdMaWJBUElUZXN0cyhzaGVsbC5UZXN0KToKIAogCiBjbGFzcyBSdW5HdGtBUElU
ZXN0cyhSdW5HTGliQVBJVGVzdHMpOgotICAgIGNvbW1hbmQgPSBbInB5dGhvbiIsICIuL1Rvb2xz
L1NjcmlwdHMvcnVuLWd0ay10ZXN0cyIsIFdpdGhQcm9wZXJ0aWVzKCItLSUoY29uZmlndXJhdGlv
bilzIildCisgICAgY29tbWFuZCA9IFsicHl0aG9uMyIsICIuL1Rvb2xzL1NjcmlwdHMvcnVuLWd0
ay10ZXN0cyIsIFdpdGhQcm9wZXJ0aWVzKCItLSUoY29uZmlndXJhdGlvbilzIildCiAKIAogY2xh
c3MgUnVuV1BFQVBJVGVzdHMoUnVuR0xpYkFQSVRlc3RzKToKLSAgICBjb21tYW5kID0gWyJweXRo
b24iLCAiLi9Ub29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMiLCBXaXRoUHJvcGVydGllcygiLS0l
KGNvbmZpZ3VyYXRpb24pcyIpXQorICAgIGNvbW1hbmQgPSBbInB5dGhvbjMiLCAiLi9Ub29scy9T
Y3JpcHRzL3J1bi13cGUtdGVzdHMiLCBXaXRoUHJvcGVydGllcygiLS0lKGNvbmZpZ3VyYXRpb24p
cyIpXQogCiAKIGNsYXNzIFJ1bldlYkRyaXZlclRlc3RzKHNoZWxsLlRlc3QpOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkKaW5kZXggMWU0MzM2YmQzZGEzNzRhN2NjZjM2MWI3MDY3MjYwZjFi
ZWRlMDkwMS4uN2M2MTY3NTVjMTcwMDM1YzBkNWNiZTFhNjlmZmZiMzZmODI1YTE3MyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQorKysgYi9Ub29scy9DSVN1
cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CkBAIC0yODU3LDcgKzI4NTcsNyBAQCBjbGFzcyBSdW5B
UElUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAgICAgZGVmIHN0YXJ0KHNlbGYpOgogICAg
ICAgICBwbGF0Zm9ybSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3BsYXRmb3JtJykKICAgICAgICAgaWYg
cGxhdGZvcm0gPT0gJ2d0ayc6Ci0gICAgICAgICAgICBjb21tYW5kID0gWydweXRob24nLCAnVG9v
bHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzJywKKyAgICAgICAgICAgIGNvbW1hbmQgPSBbJ3B5dGhv
bjMnLCAnVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzJywKICAgICAgICAgICAgICAgICAgICAg
ICAgJy0tezB9Jy5mb3JtYXQoc2VsZi5nZXRQcm9wZXJ0eSgnY29uZmlndXJhdGlvbicpKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgJy0tanNvbi1vdXRwdXQ9ezB9Jy5mb3JtYXQoc2VsZi5qc29u
RmlsZU5hbWUpXQogICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKGNvbW1hbmQpCmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMv
Q0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQppbmRleCA4ZWMxYzk3M2FlODc2
NjZmNTM4NGM3NTM5YjNjOTkxZDA3NzJiZGY3Li45ZTcwMDlmMDcyNzRkMjE0MGIwNWIwM2JmZjg2
MjQwOTgxZTFiZjlkIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRl
c3QucHkKQEAgLTMyNzUsNyArMzI3NSw3IEBAIEFsbCB0ZXN0cyBzdWNjZXNzZnVsbHkgcGFzc2Vk
IQogICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAogICAgICAgICAgICAgRXhwZWN0
U2hlbGwod29ya2Rpcj0nd2tkaXInLAogICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJv
bj1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydweXRob24nLCAnVG9v
bHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzJywgJy0tcmVsZWFzZScsICctLWpzb24tb3V0cHV0PXsw
fScuZm9ybWF0KHNlbGYuanNvbkZpbGVOYW1lKV0sCisgICAgICAgICAgICAgICAgICAgICAgICBj
b21tYW5kPVsncHl0aG9uMycsICdUb29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMnLCAnLS1yZWxl
YXNlJywgJy0tanNvbi1vdXRwdXQ9ezB9Jy5mb3JtYXQoc2VsZi5qc29uRmlsZU5hbWUpXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZpbGVzPXsnanNvbic6IHNlbGYuanNvbkZpbGVOYW1l
fSwKICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICsgRXhwZWN0U2hlbGwu
bG9nKCdzdGRpbycsIHN0ZG91dD0nJycuLi4KQEAgLTM1NTIsNyArMzU1Miw3IEBAIFRlc3Rpbmcg
Y29tcGxldGVkLCBFeGl0IHN0YXR1czogMwogICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1h
bmRzKAogICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAogICAgICAgICAg
ICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNvbW1hbmQ9WydweXRob24nLAorICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3B5
dGhvbjMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rvb2xzL1NjcmlwdHMv
cnVuLWd0ay10ZXN0cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1
ZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1qc29uLW91dHB1dD17MH0n
LmZvcm1hdChzZWxmLmpzb25GaWxlTmFtZSldLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDY4OGZlMjNl
ZjVkYmU3ZjY4OGE2OWZiODJhZWFmNDdhODhmN2NhNmMuLjFhMjFjYmY0NmJiOWIxZjg4ZjQyYzYy
ZGJiODJhMjk2NDYyMjA2MjQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAgLTEsNiArMSw2IEBACi0jIS91
c3IvYmluL2VudiBweXRob24KKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKICMKLSMgQ29weXJpZ2h0
IChDKSAyMDExLCAyMDEyLCAyMDE3IElnYWxpYSBTLkwuCisjIENvcHlyaWdodCAoQykgMjAxMSwg
MjAxMiwgMjAxNywgMjAyMSBJZ2FsaWEgUy5MLgogIwogIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAjIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3J1bi1wZXJmLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10
ZXN0cwppbmRleCBkZWJiNWQ2ZjEzOTE5NGUxYjk0MTA0MmQzODJiNGUxODQyOWNjZWJjLi4zMGYz
MTczOTc0ZWZkOGUxNTFkYjUzYjk4YjBhZGJmYzAyZjI5MDI2IDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3J1bi1wZXJmLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXBlcmYtdGVzdHMK
QEAgLTEsNCArMSw0IEBACi0jIS91c3IvYmluL2VudiBweXRob24KKyMhL3Vzci9iaW4vZW52IHB5
dGhvbjMKICMgQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRl
c3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4td3BlLXRlc3RzCmluZGV4IGQ5NmUxN2I5ZTFlNGI1Mjlj
ZDM5MjVlOWU2ZWQ1OTNhNGQ4MGQ3MDEuLjlmOTkyMGJjODNiNTE5ZTJiOGI0N2IwN2YzMjZkNzMw
YjA1MWExNGQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdwZS10ZXN0cworKysgYi9U
b29scy9TY3JpcHRzL3J1bi13cGUtdGVzdHMKQEAgLTEsNiArMSw2IEBACi0jIS91c3IvYmluL2Vu
diBweXRob24KKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKICMKLSMgQ29weXJpZ2h0IChDKSAyMDE3
IElnYWxpYSBTLkwuCisjIENvcHlyaWdodCAoQykgMjAxNywgMjAyMSBJZ2FsaWEgUy5MLgogIwog
IyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCmRpZmYgLS1naXQgYS9Ub29scy9nbGliL2FwaV90ZXN0X3J1bm5lci5weSBi
L1Rvb2xzL2dsaWIvYXBpX3Rlc3RfcnVubmVyLnB5CmluZGV4IDQ5M2JlYWQ1MjYwNjQxNGQxZDdm
MDE0NzNkMDFjZTEwZTQ1MDg5MTguLjI2OGJjM2IzYjA0M2MwNGU0YjYyNWFkYzhiOTVjYmJhYmJk
ZGE3N2MgMTAwNzU1Ci0tLSBhL1Rvb2xzL2dsaWIvYXBpX3Rlc3RfcnVubmVyLnB5CisrKyBiL1Rv
b2xzL2dsaWIvYXBpX3Rlc3RfcnVubmVyLnB5CkBAIC0xOTksNyArMTk5LDcgQEAgY2xhc3MgVGVz
dFJ1bm5lcihvYmplY3QpOgogCiAgICAgZGVmIF9nZXRfdGVzdHNfZnJvbV9nb29nbGVfdGVzdF9z
dWl0ZShzZWxmLCB0ZXN0X3Byb2dyYW0sIHNraXBwZWRfdGVzdF9jYXNlcyk6CiAgICAgICAgIHRy
eToKLSAgICAgICAgICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFt0ZXN0X3By
b2dyYW0sICctLWd0ZXN0X2xpc3RfdGVzdHMnXSwgZW52PXNlbGYuX3Rlc3RfZW52KQorICAgICAg
ICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoW3Rlc3RfcHJvZ3JhbSwgJy0t
Z3Rlc3RfbGlzdF90ZXN0cyddLCBlbnY9c2VsZi5fdGVzdF9lbnYpLmRlY29kZSgndXRmLTgnKQog
ICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6CiAgICAgICAgICAg
ICBzeXMuc3RkZXJyLndyaXRlKCJFUlJPUjogY291bGQgbm90IGxpc3QgYXZhaWxhYmxlIHRlc3Rz
IGZvciBiaW5hcnkgJXMuXG4iICUgKHRlc3RfcHJvZ3JhbSkpCiAgICAgICAgICAgICBzeXMuc3Rk
ZXJyLmZsdXNoKCkKQEAgLTMxMyw3ICszMTMsNyBAQCBjbGFzcyBUZXN0UnVubmVyKG9iamVjdCk6
CiAgICAgICAgICAgICAgICAgaWYgbnVtYmVyX29mX2V4ZWN1dGVkX3N1YnRlc3RzX2Zvcl90ZXN0
ID4gMToKICAgICAgICAgICAgICAgICAgICAgbnVtYmVyX29mX2V4ZWN1dGVkX3Rlc3RzICs9IG51
bWJlcl9vZl9leGVjdXRlZF9zdWJ0ZXN0c19mb3JfdGVzdAogICAgICAgICAgICAgICAgICAgICBu
dW1iZXJfb2ZfdG90YWxfdGVzdHMgKz0gbnVtYmVyX29mX2V4ZWN1dGVkX3N1YnRlc3RzX2Zvcl90
ZXN0Ci0gICAgICAgICAgICAgICAgZm9yIHRlc3RfY2FzZSwgcmVzdWx0IGluIHJlc3VsdHMuaXRl
cml0ZW1zKCk6CisgICAgICAgICAgICAgICAgZm9yIHRlc3RfY2FzZSwgcmVzdWx0IGluIHJlc3Vs
dHMuaXRlbXMoKToKICAgICAgICAgICAgICAgICAgICAgaWYgcmVzdWx0IGluIHNlbGYuX2V4cGVj
dGF0aW9ucy5nZXRfZXhwZWN0YXRpb24ob3MucGF0aC5iYXNlbmFtZSh0ZXN0KSwgdGVzdF9jYXNl
KToKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKQEAgLTMyOSw3ICszMjksNyBA
QCBjbGFzcyBUZXN0UnVubmVyKG9iamVjdCk6CiAgICAgICAgICAgICBzZWxmLl90ZWFyX2Rvd25f
dGVzdGluZ19lbnZpcm9ubWVudCgpCiAKICAgICAgICAgZGVmIG51bWJlcl9vZl90ZXN0cyh0ZXN0
cyk6Ci0gICAgICAgICAgICByZXR1cm4gc3VtKGxlbih2YWx1ZSkgZm9yIHZhbHVlIGluIHRlc3Rz
Lml0ZXJ2YWx1ZXMoKSkKKyAgICAgICAgICAgIHJldHVybiBzdW0obGVuKHZhbHVlKSBmb3IgdmFs
dWUgaW4gdGVzdHMudmFsdWVzKCkpCiAKICAgICAgICAgZGVmIHJlcG9ydCh0ZXN0cywgdGl0bGUs
IGJhc2VfZGlyKToKICAgICAgICAgICAgIGlmIG5vdCB0ZXN0czoKZGlmZiAtLWdpdCBhL1Rvb2xz
L2dsaWIvY29tbW9uLnB5IGIvVG9vbHMvZ2xpYi9jb21tb24ucHkKaW5kZXggOWRjNjU2MTg2OTBl
NmNiODMyODIzZDk3NmNhYjI3ZDgwNmU0ODBjMi4uMGZjNWU5NGJmMjg2ZDJlMjk0MWExMWRlMzhi
NTQ0MDQ2NjIzMjU1NiAxMDA2NDQKLS0tIGEvVG9vbHMvZ2xpYi9jb21tb24ucHkKKysrIGIvVG9v
bHMvZ2xpYi9jb21tb24ucHkKQEAgLTEyOCwxMCArMTI4LDEyIEBAIGRlZiBwYXJzZV9vdXRwdXRf
bGluZXMoZmQsIHBhcnNlX2xpbmVfY2FsbGJhY2spOgogICAgICAgICAgICAgICAgICAgICBjaHVu
ayA9ICcnCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
ZQotICAgICAgICAgICAgaWYgbm90IGNodW5rOgorCisgICAgICAgICAgICBpZiBjaHVuazoKKyAg
ICAgICAgICAgICAgICBvdXRwdXQgKz0gY2h1bmsuZGVjb2RlKCd1dGYtOCcpCisgICAgICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgICAgIHJlYWRfc2V0LnJlbW92ZShmZCkKIAotICAgICAgICAg
ICAgb3V0cHV0ICs9IGNodW5rCiAgICAgICAgICAgICB3aGlsZSAnXG4nIGluIG91dHB1dDoKICAg
ICAgICAgICAgICAgICBwb3MgPSBvdXRwdXQuZmluZCgnXG4nKQogICAgICAgICAgICAgICAgIHBh
cnNlX2xpbmVfY2FsbGJhY2sob3V0cHV0Wzpwb3MgKyAxXSkKZGlmZiAtLWdpdCBhL1Rvb2xzL2ds
aWIvZ2xpYl90ZXN0X3J1bm5lci5weSBiL1Rvb2xzL2dsaWIvZ2xpYl90ZXN0X3J1bm5lci5weQpp
bmRleCBlYWNhY2YyOTk3ZjA1NGEwZjRiNmQyZDVlNzVlNjNhNjNkOThhZmVmLi40MGZhNDdjZmRj
YjYxNmQzY2M4MWFlNzQ0NDM5Nzc2ZjdmMDY3ZTAyIDEwMDY0NAotLS0gYS9Ub29scy9nbGliL2ds
aWJfdGVzdF9ydW5uZXIucHkKKysrIGIvVG9vbHMvZ2xpYi9nbGliX3Rlc3RfcnVubmVyLnB5CkBA
IC0zNywxMiArMzcsMTIgQEAgZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogIExPR19NQVhfUkVTVUxU
LAogIExPR19NRVNTQUdFLAogIExPR19TVEFSVF9TVUlURSwKLSBMT0dfU1RPUF9TVUlURSkgPSBy
YW5nZSgxMikKKyBMT0dfU1RPUF9TVUlURSkgPSBsaXN0KHJhbmdlKDEyKSkKIAogKFRFU1RfUlVO
X1NVQ0NFU1MsCiAgVEVTVF9SVU5fU0tJUFBFRCwKICBURVNUX1JVTl9GQUlMVVJFLAotIFRFU1Rf
UlVOX0lOQ09NUExFVEUpID0gcmFuZ2UoNCkKKyBURVNUX1JVTl9JTkNPTVBMRVRFKSA9IGxpc3Qo
cmFuZ2UoNCkpCiAKIAogY2xhc3MgVGVzdFRpbWVvdXQoRXhjZXB0aW9uKToKQEAgLTcyLDcgKzcy
LDcgQEAgY2xhc3MgTWVzc2FnZShvYmplY3QpOgogICAgICAgICAgICAgdmFsdWVzID0gW10KICAg
ICAgICAgICAgIGZvciBpIGluIHJhbmdlKG4pOgogICAgICAgICAgICAgICAgIHN0cl9sZW4gPSBy
ZWFkX3Vuc2lnbmVkKGJ5dGVzKVswXQotICAgICAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQoc3Ry
dWN0LnVucGFjaygnJWRzJyAlIHN0cl9sZW4sIGJ5dGVzLnJlYWQoc3RyX2xlbikpWzBdKQorICAg
ICAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQoc3RydWN0LnVucGFjaygnJWRzJyAlIHN0cl9sZW4s
IGJ5dGVzLnJlYWQoc3RyX2xlbikpWzBdLmRlY29kZSgndXRmLTgnKSkKICAgICAgICAgICAgIHJl
dHVybiB2YWx1ZXMKIAogICAgICAgICBieXRlcyA9IEJ5dGVzSU8oZGF0YSkKQEAgLTEyNyw3ICsx
MjcsNyBAQCBjbGFzcyBHTGliVGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICAgICAgc2VsZi5f
c3VidGVzdF9tZXNzYWdlKFttZXNzYWdlLnN0cmluZ3NbMF1dKQogCiAgICAgZGVmIF9yZWFkX2Zy
b21fcGlwZShzZWxmLCBwaXBlX3IpOgotICAgICAgICBkYXRhID0gJycKKyAgICAgICAgZGF0YSA9
IGInJwogICAgICAgICByZWFkX3NldCA9IFtwaXBlX3JdCiAgICAgICAgIHdoaWxlIHJlYWRfc2V0
OgogICAgICAgICAgICAgdHJ5OgpAQCAtMTY1LDcgKzE2NSw3IEBAIGNsYXNzIEdMaWJUZXN0UnVu
bmVyKG9iamVjdCk6CiAgICAgICAgICAgICBpZiBub3QgYnVmZmVyOgogICAgICAgICAgICAgICAg
IHJldHVybiBkYXRhCiAKLSAgICAgICAgICAgIGRhdGEgKz0gYnVmZmVyCisgICAgICAgICAgICBk
YXRhICs9IGJ1ZmZlci5kZWNvZGUoJ3V0Zi04JykKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBk
ZWYgX3N0YXJ0X3RpbWVvdXQodGltZW91dCk6CkBAIC0yNDgsNyArMjQ4LDEwIEBAIGNsYXNzIEdM
aWJUZXN0UnVubmVyKG9iamVjdCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLl9yZXN1bHRzOgogICAg
ICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnVEVTVDogJXMuLi5cbicgJSBzZWxmLl90ZXN0X2Jp
bmFyeSkKICAgICAgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgICAgICBwID0gc3VicHJv
Y2Vzcy5Qb3Blbihjb21tYW5kLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLCBlbnY9ZW52KQorICAg
ICAgICBpZiBzeXMudmVyc2lvbl9pbmZvLm1ham9yID4gMjoKKyAgICAgICAgICAgIHAgPSBzdWJw
cm9jZXNzLlBvcGVuKGNvbW1hbmQsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsIGVudj1lbnYsIHBh
c3NfZmRzPVtwaXBlX3ddKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcCA9IHN1YnByb2Nl
c3MuUG9wZW4oY29tbWFuZCwgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSwgZW52PWVudikKICAgICAg
ICAgc2VsZi5fc3RkZXJyX2ZkID0gcC5zdGRlcnIuZmlsZW5vKCkKICAgICAgICAgb3MuY2xvc2Uo
cGlwZV93KQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>