<?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>169385</bug_id>
          
          <creation_ts>2017-03-08 14:29:56 -0800</creation_ts>
          <short_desc>webkitpy: Add unit test to prevent breakage of EWS</short_desc>
          <delta_ts>2017-03-09 11:08: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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1285025</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-08 14:29:56 -0800</bug_when>
    <thetext>We should have a test to prevent something like &lt;http://trac.webkit.org/changeset/213545&gt; from happening in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285027</commentid>
    <comment_count>1</comment_count>
      <attachid>303846</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-08 14:31:02 -0800</bug_when>
    <thetext>Created attachment 303846
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285057</commentid>
    <comment_count>2</comment_count>
      <attachid>303846</attachid>
    <who name="Srinivasan Vijayaraghavan">webkit</who>
    <bug_when>2017-03-08 15:33:17 -0800</bug_when>
    <thetext>Comment on attachment 303846
Patch

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

Nice test! I&apos;d suggest making more use of python&apos;s in-built types to keep the code more readable, something like below:

&gt; Tools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:177
&gt; +        expected_names = [
&gt; +            &apos;gtk-wk2-ews&apos;,
&gt; +            &apos;win-ews&apos;,
&gt; +            &apos;ios-ews&apos;,
&gt; +            &apos;ios-sim-ews&apos;,
&gt; +            &apos;mac-ews&apos;,
&gt; +            &apos;mac-wk2-ews&apos;,
&gt; +            &apos;mac-debug-ews&apos;,
&gt; +            &apos;mac-32bit-ews&apos;,
&gt; +            &apos;jsc-ews&apos;,
&gt; +        ]
&gt; +        classes = AbstractEarlyWarningSystem.load_ews_classes()
&gt; +        for name in expected_names:
&gt; +            flag = False
&gt; +            for cls in classes:
&gt; +                if name == cls.name:
&gt; +                    flag = True
&gt; +                    break
&gt; +            if not flag:
&gt; +                raise Exception(&quot;&apos;{}&apos; is not a valid EWS command but is used by EWS&apos;s infrastructure&quot;.format(name))

expected_names = set([
    &apos;gtk-wk2-ews&apos;, 
    &apos;gtk-wk2-ews&apos;,
    &apos;win-ews&apos;,
    &apos;ios-ews&apos;,
    &apos;ios-sim-ews&apos;,
    &apos;mac-ews&apos;,
    &apos;mac-wk2-ews&apos;,
    &apos;mac-debug-ews&apos;,
    &apos;mac-32bit-ews&apos;,
    &apos;jsc-ews&apos;,
])
classes = AbstractEarlyWarningSystem.load_ews_classes()
names = set([cls.name for cls in classes])
unexpected_names = names - expected_names
if unexpected_names:
    raise Exception(&quot;&apos;{}&apos; is not a valid EWS command but is used by EWS&apos;s infrastructure&quot;.format(unexpected_names.pop()))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285065</commentid>
    <comment_count>3</comment_count>
    <who name="Srinivasan Vijayaraghavan">webkit</who>
    <bug_when>2017-03-08 15:53:19 -0800</bug_when>
    <thetext>Actually, since we&apos;re ultimately inheriting from unittest.TestCase, raise an AssertionError(&quot;message&quot;) instead of the generic Exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285070</commentid>
    <comment_count>4</comment_count>
      <attachid>303858</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-08 16:03:39 -0800</bug_when>
    <thetext>Created attachment 303858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285071</commentid>
    <comment_count>5</comment_count>
      <attachid>303859</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-08 16:04:58 -0800</bug_when>
    <thetext>Created attachment 303859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285340</commentid>
    <comment_count>6</comment_count>
      <attachid>303859</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-03-09 09:35:12 -0800</bug_when>
    <thetext>Comment on attachment 303859
Patch

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

&gt; Tools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:157
&gt; +        # These are the names EWS&apos;s infrastructure expects, check that they work

Can the test get the names from ews.json? Those are the ones that the infrastructure really expects.

&gt; Tools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:169
&gt; +        classes = AbstractEarlyWarningSystem.load_ews_classes()

Is this a persistent change that can affect other tests? Adding new globally defined classes seems less than ideal if that can be avoided.

But other EWS tests already do the same, so I think that the patch doesn&apos;t make it worse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285355</commentid>
    <comment_count>7</comment_count>
      <attachid>303859</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-09 09:42:48 -0800</bug_when>
    <thetext>Comment on attachment 303859
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:157
&gt;&gt; +        # These are the names EWS&apos;s infrastructure expects, check that they work
&gt; 
&gt; Can the test get the names from ews.json? Those are the ones that the infrastructure really expects.

So this is actually exactly what is being tested here.

&apos;load_ews_classes()&apos; reads from ews.json and parses the names of the ports themselves and uses that combination to construct commands.  This list of commands is essentially what our EWS infrastructure currently expects to be able to run.  If we intend to change this infrastructure, this set would need to be modified.

I think this is the right way to test this, though.  It is not intuitive that changing the name of a port in webkitpy could break EWS because changing the port name will change the EWS command.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285367</commentid>
    <comment_count>8</comment_count>
      <attachid>303859</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2017-03-09 10:04:17 -0800</bug_when>
    <thetext>Comment on attachment 303859
Patch

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

&gt; Tools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:158
&gt; +        expected_names = set([

This could be constructed without a set cast by using {} (Python&apos;s set syntax). It would look like the following

expected_names = {
    &apos;gtk-wk2-ews&apos;,
    ....,
    &apos;jsc-ews&apos;,
}

&gt; Tools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:170
&gt; +        names = set([cls.name for cls in classes])

Similarly:
names = {cls.name for cls in classes}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285384</commentid>
    <comment_count>9</comment_count>
      <attachid>303932</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-09 10:28:40 -0800</bug_when>
    <thetext>Created attachment 303932
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285390</commentid>
    <comment_count>10</comment_count>
    <who name="Srinivasan Vijayaraghavan">webkit</who>
    <bug_when>2017-03-09 10:36:03 -0800</bug_when>
    <thetext>I didn&apos;t suggest the set literal syntax since it&apos;s 2.7 only, but I guess the bots have all been updated now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285401</commentid>
    <comment_count>11</comment_count>
      <attachid>303932</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-09 11:08:41 -0800</bug_when>
    <thetext>Comment on attachment 303932
Patch for landing

Clearing flags on attachment: 303932

Committed r213651: &lt;http://trac.webkit.org/changeset/213651&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285402</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-09 11:08:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303846</attachid>
            <date>2017-03-08 14:31:02 -0800</date>
            <delta_ts>2017-03-08 16:03:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169385-20170308143101.patch</filename>
            <type>text/plain</type>
            <size>2067</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMzU5NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDE3LTAzLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogQWRkIHVuaXQgdGVzdCB0byBwcmV2ZW50IGJyZWFrYWdl
IG9mIEVXUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY5Mzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmVudCA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjEzNTQ1PiBmcm9tIGhh
cHBlbmluZyBpbiB0aGUgZnV0dXJlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weToKKyAgICAgICAgKHRlc3Rf
ZXdzX25hbWUpOiBBZGRlZC4KKwogMjAxNy0wMy0wOCAgTWF0dCBSYWpjYSAgPG1yYWpjYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVwZGF0aW5nIGF1dG9wbGF5IHBvbGlj
aWVzIGFmdGVyIGEgcGFnZSBoYXMgYmVlbiBsb2FkZWQuCkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5p
bmdzeXN0ZW1fdW5pdHRlc3QucHkJKHJldmlzaW9uIDIxMzU5MykKKysrIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRlc3QucHkJKHdv
cmtpbmcgY29weSkKQEAgLTE1MiwzICsxNTIsMjYgQEAgUnVubmluZzogd2Via2l0LXBhdGNoIC0t
c3RhdHVzLWhvc3Q9ZXhhbQogICAgICAgICB0ZXN0X2NsYXNzZXMgPSBmaWx0ZXIobGFtYmRhIHg6
IHgucnVuX3Rlc3RzIGFuZCB4Lmdyb3VwID09ICJqc2MiLCBjbGFzc2VzKQogICAgICAgICBmb3Ig
ZXdzX2NsYXNzIGluIHRlc3RfY2xhc3NlczoKICAgICAgICAgICAgIHNlbGYuX3Rlc3RfZXdzKGV3
c19jbGFzcygpLCBGYWxzZSkKKworICAgIGRlZiB0ZXN0X2V3c19uYW1lKHNlbGYpOgorICAgICAg
ICAjIFRoZXNlIGFyZSB0aGUgbmFtZXMgRVdTJ3MgaW5mcmFzdHJ1Y3R1cmUgZXhwZWN0cywgY2hl
Y2sgdGhhdCB0aGV5IHdvcmsKKyAgICAgICAgZXhwZWN0ZWRfbmFtZXMgPSBbCisgICAgICAgICAg
ICAnZ3RrLXdrMi1ld3MnLAorICAgICAgICAgICAgJ3dpbi1ld3MnLAorICAgICAgICAgICAgJ2lv
cy1ld3MnLAorICAgICAgICAgICAgJ2lvcy1zaW0tZXdzJywKKyAgICAgICAgICAgICdtYWMtZXdz
JywKKyAgICAgICAgICAgICdtYWMtd2syLWV3cycsCisgICAgICAgICAgICAnbWFjLWRlYnVnLWV3
cycsCisgICAgICAgICAgICAnbWFjLTMyYml0LWV3cycsCisgICAgICAgICAgICAnanNjLWV3cycs
CisgICAgICAgIF0KKyAgICAgICAgY2xhc3NlcyA9IEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVt
LmxvYWRfZXdzX2NsYXNzZXMoKQorICAgICAgICBmb3IgbmFtZSBpbiBleHBlY3RlZF9uYW1lczoK
KyAgICAgICAgICAgIGZsYWcgPSBGYWxzZQorICAgICAgICAgICAgZm9yIGNscyBpbiBjbGFzc2Vz
OgorICAgICAgICAgICAgICAgIGlmIG5hbWUgPT0gY2xzLm5hbWU6CisgICAgICAgICAgICAgICAg
ICAgIGZsYWcgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBp
ZiBub3QgZmxhZzoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIid7fScgaXMgbm90
IGEgdmFsaWQgRVdTIGNvbW1hbmQgYnV0IGlzIHVzZWQgYnkgRVdTJ3MgaW5mcmFzdHJ1Y3R1cmUi
LmZvcm1hdChuYW1lKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303858</attachid>
            <date>2017-03-08 16:03:39 -0800</date>
            <delta_ts>2017-03-08 16:04:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169385-20170308160338.patch</filename>
            <type>text/plain</type>
            <size>2004</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMzYwMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDE3LTAzLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogQWRkIHVuaXQgdGVzdCB0byBwcmV2ZW50IGJyZWFrYWdl
IG9mIEVXUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY5Mzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmVudCA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjEzNTQ1PiBmcm9tIGhh
cHBlbmluZyBpbiB0aGUgZnV0dXJlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weToKKyAgICAgICAgKHRlc3Rf
ZXdzX25hbWUpOiBBZGRlZC4KKwogMjAxNy0wMy0wOCAgTWF0dCBSYWpjYSAgPG1yYWpjYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVwZGF0aW5nIGF1dG9wbGF5IHBvbGlj
aWVzIGFmdGVyIGEgcGFnZSBoYXMgYmVlbiBsb2FkZWQuCkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5p
bmdzeXN0ZW1fdW5pdHRlc3QucHkJKHJldmlzaW9uIDIxMzYwMykKKysrIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRlc3QucHkJKHdv
cmtpbmcgY29weSkKQEAgLTE1MiwzICsxNTIsMjIgQEAgUnVubmluZzogd2Via2l0LXBhdGNoIC0t
c3RhdHVzLWhvc3Q9ZXhhbQogICAgICAgICB0ZXN0X2NsYXNzZXMgPSBmaWx0ZXIobGFtYmRhIHg6
IHgucnVuX3Rlc3RzIGFuZCB4Lmdyb3VwID09ICJqc2MiLCBjbGFzc2VzKQogICAgICAgICBmb3Ig
ZXdzX2NsYXNzIGluIHRlc3RfY2xhc3NlczoKICAgICAgICAgICAgIHNlbGYuX3Rlc3RfZXdzKGV3
c19jbGFzcygpLCBGYWxzZSkKKworICAgIGRlZiB0ZXN0X2V3c19uYW1lKHNlbGYpOgorICAgICAg
ICAjIFRoZXNlIGFyZSB0aGUgbmFtZXMgRVdTJ3MgaW5mcmFzdHJ1Y3R1cmUgZXhwZWN0cywgY2hl
Y2sgdGhhdCB0aGV5IHdvcmsKKyAgICAgICAgZXhwZWN0ZWRfbmFtZXMgPSBzZXQoWworICAgICAg
ICAgICAgJ2d0ay13azItZXdzJywKKyAgICAgICAgICAgICd3aW4tZXdzJywKKyAgICAgICAgICAg
ICdpb3MtZXdzJywKKyAgICAgICAgICAgICdpb3Mtc2ltLWV3cycsCisgICAgICAgICAgICAnbWFj
LWV3cycsCisgICAgICAgICAgICAnbWFjLXdrMi1ld3MnLAorICAgICAgICAgICAgJ21hYy1kZWJ1
Zy1ld3MnLAorICAgICAgICAgICAgJ21hYy0zMmJpdC1ld3MnLAorICAgICAgICAgICAgJ2pzYy1l
d3MnLAorICAgICAgICBdKQorICAgICAgICBjbGFzc2VzID0gQWJzdHJhY3RFYXJseVdhcm5pbmdT
eXN0ZW0ubG9hZF9ld3NfY2xhc3NlcygpCisgICAgICAgIG5hbWVzID0gc2V0KFtjbHMubmFtZSBm
b3IgY2xzIGluIGNsYXNzZXNdKQorICAgICAgICB1bmV4cGVjdGVkX25hbWVzID0gbmFtZXMgLSBl
eHBlY3RlZF9uYW1lcworICAgICAgICBpZiB1bmV4cGVjdGVkX25hbWVzOgorICAgICAgICAgICAg
cmFpc2UgQXNzZXJ0aW9uRXJyb3IoIid7fScgaXMgbm90IGEgdmFsaWQgRVdTIGNvbW1hbmQgYnV0
IGlzIHVzZWQgYnkgRVdTJ3MgaW5mcmFzdHJ1Y3R1cmUiLmZvcm1hdCh1bmV4cGVjdGVkX25hbWVz
LnBvcCgpKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303859</attachid>
            <date>2017-03-08 16:04:58 -0800</date>
            <delta_ts>2017-03-09 10:28:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169385-20170308160457.patch</filename>
            <type>text/plain</type>
            <size>2004</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMzYwMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDE3LTAzLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogQWRkIHVuaXQgdGVzdCB0byBwcmV2ZW50IGJyZWFrYWdl
IG9mIEVXUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY5Mzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmVudCA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjEzNTQ1PiBmcm9tIGhh
cHBlbmluZyBpbiB0aGUgZnV0dXJlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weToKKyAgICAgICAgKHRlc3Rf
ZXdzX25hbWUpOiBBZGRlZC4KKwogMjAxNy0wMy0wOCAgTWF0dCBSYWpjYSAgPG1yYWpjYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVwZGF0aW5nIGF1dG9wbGF5IHBvbGlj
aWVzIGFmdGVyIGEgcGFnZSBoYXMgYmVlbiBsb2FkZWQuCkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5p
bmdzeXN0ZW1fdW5pdHRlc3QucHkJKHJldmlzaW9uIDIxMzYwMykKKysrIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRlc3QucHkJKHdv
cmtpbmcgY29weSkKQEAgLTE1MiwzICsxNTIsMjIgQEAgUnVubmluZzogd2Via2l0LXBhdGNoIC0t
c3RhdHVzLWhvc3Q9ZXhhbQogICAgICAgICB0ZXN0X2NsYXNzZXMgPSBmaWx0ZXIobGFtYmRhIHg6
IHgucnVuX3Rlc3RzIGFuZCB4Lmdyb3VwID09ICJqc2MiLCBjbGFzc2VzKQogICAgICAgICBmb3Ig
ZXdzX2NsYXNzIGluIHRlc3RfY2xhc3NlczoKICAgICAgICAgICAgIHNlbGYuX3Rlc3RfZXdzKGV3
c19jbGFzcygpLCBGYWxzZSkKKworICAgIGRlZiB0ZXN0X2V3c19uYW1lKHNlbGYpOgorICAgICAg
ICAjIFRoZXNlIGFyZSB0aGUgbmFtZXMgRVdTJ3MgaW5mcmFzdHJ1Y3R1cmUgZXhwZWN0cywgY2hl
Y2sgdGhhdCB0aGV5IHdvcmsKKyAgICAgICAgZXhwZWN0ZWRfbmFtZXMgPSBzZXQoWworICAgICAg
ICAgICAgJ2d0ay13azItZXdzJywKKyAgICAgICAgICAgICd3aW4tZXdzJywKKyAgICAgICAgICAg
ICdpb3MtZXdzJywKKyAgICAgICAgICAgICdpb3Mtc2ltLWV3cycsCisgICAgICAgICAgICAnbWFj
LWV3cycsCisgICAgICAgICAgICAnbWFjLXdrMi1ld3MnLAorICAgICAgICAgICAgJ21hYy1kZWJ1
Zy1ld3MnLAorICAgICAgICAgICAgJ21hYy0zMmJpdC1ld3MnLAorICAgICAgICAgICAgJ2pzYy1l
d3MnLAorICAgICAgICBdKQorICAgICAgICBjbGFzc2VzID0gQWJzdHJhY3RFYXJseVdhcm5pbmdT
eXN0ZW0ubG9hZF9ld3NfY2xhc3NlcygpCisgICAgICAgIG5hbWVzID0gc2V0KFtjbHMubmFtZSBm
b3IgY2xzIGluIGNsYXNzZXNdKQorICAgICAgICB1bmV4cGVjdGVkX25hbWVzID0gZXhwZWN0ZWRf
bmFtZXMgLSBuYW1lcworICAgICAgICBpZiB1bmV4cGVjdGVkX25hbWVzOgorICAgICAgICAgICAg
cmFpc2UgQXNzZXJ0aW9uRXJyb3IoIid7fScgaXMgbm90IGEgdmFsaWQgRVdTIGNvbW1hbmQgYnV0
IGlzIHVzZWQgYnkgRVdTJ3MgaW5mcmFzdHJ1Y3R1cmUiLmZvcm1hdCh1bmV4cGVjdGVkX25hbWVz
LnBvcCgpKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303932</attachid>
            <date>2017-03-09 10:28:40 -0800</date>
            <delta_ts>2017-03-09 11:08:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-169385-20170309102839.patch</filename>
            <type>text/plain</type>
            <size>2194</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMzY0NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDE3LTAzLTA5ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogQWRkIHVuaXQgdGVzdCB0byBwcmV2ZW50IGJyZWFrYWdl
IG9mIEVXUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY5Mzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAg
ICAgICBQcmV2ZW50IDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTM1NDU+IGZy
b20gaGFwcGVuaW5nIGluIHRoZSBmdXR1cmUuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LnB5OgorICAgICAgICAo
dGVzdF9ld3NfbmFtZSk6IEFkZGVkLgorCiAyMDE3LTAzLTA4ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgV1RGIHNob3VsZCBtYWtlIGl0IHN1cGVyIGVhc3kgdG8g
ZG8gQVJNIGNvbmN1cnJlbmN5IHRyaWNrcwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVt
X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMTM2NDYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0xNTIsMyArMTUyLDI1IEBAIFJ1bm5pbmc6IHdlYmtpdC1wYXRjaCAtLXN0YXR1cy1o
b3N0PWV4YW0KICAgICAgICAgdGVzdF9jbGFzc2VzID0gZmlsdGVyKGxhbWJkYSB4OiB4LnJ1bl90
ZXN0cyBhbmQgeC5ncm91cCA9PSAianNjIiwgY2xhc3NlcykKICAgICAgICAgZm9yIGV3c19jbGFz
cyBpbiB0ZXN0X2NsYXNzZXM6CiAgICAgICAgICAgICBzZWxmLl90ZXN0X2V3cyhld3NfY2xhc3Mo
KSwgRmFsc2UpCisKKyAgICBkZWYgdGVzdF9ld3NfbmFtZShzZWxmKToKKyAgICAgICAgIyBUaGVz
ZSBhcmUgdGhlIG5hbWVzIEVXUydzIGluZnJhc3RydWN0dXJlIGV4cGVjdHMsIGNoZWNrIHRoYXQg
dGhleSB3b3JrCisgICAgICAgIGV4cGVjdGVkX25hbWVzID0geworICAgICAgICAgICAgJ2d0ay13
azItZXdzJywKKyAgICAgICAgICAgICd3aW4tZXdzJywKKyAgICAgICAgICAgICdpb3MtZXdzJywK
KyAgICAgICAgICAgICdpb3Mtc2ltLWV3cycsCisgICAgICAgICAgICAnbWFjLWV3cycsCisgICAg
ICAgICAgICAnbWFjLXdrMi1ld3MnLAorICAgICAgICAgICAgJ21hYy1kZWJ1Zy1ld3MnLAorICAg
ICAgICAgICAgJ21hYy0zMmJpdC1ld3MnLAorICAgICAgICAgICAgJ2pzYy1ld3MnLAorICAgICAg
ICB9CisgICAgICAgIGNsYXNzZXMgPSBBYnN0cmFjdEVhcmx5V2FybmluZ1N5c3RlbS5sb2FkX2V3
c19jbGFzc2VzKCkKKyAgICAgICAgbmFtZXMgPSB7Y2xzLm5hbWUgZm9yIGNscyBpbiBjbGFzc2Vz
fQorICAgICAgICBtaXNzaW5nX25hbWVzID0gZXhwZWN0ZWRfbmFtZXMgLSBuYW1lcworICAgICAg
ICB1bmV4cGVjdGVkX25hbWVzID0gbmFtZXMgLSBleHBlY3RlZF9uYW1lcworICAgICAgICBpZiBt
aXNzaW5nX25hbWVzOgorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoIid7fScgaXMg
bm90IGEgdmFsaWQgRVdTIGNvbW1hbmQgYnV0IGlzIHVzZWQgYnkgRVdTJ3MgaW5mcmFzdHJ1Y3R1
cmUiLmZvcm1hdChtaXNzaW5nX25hbWVzLnBvcCgpKSkKKyAgICAgICAgaWYgdW5leHBlY3RlZF9u
YW1lczoKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCIne30nIGlzIGEgdmFsaWQg
RVdTIGNvbW1hbmQgYnV0IGlzIG5vdCB1c2VkIGJ5IEVXUydzIGluZnJhc3RydWN0dXJlIi5mb3Jt
YXQodW5leHBlY3RlZF9uYW1lcy5wb3AoKSkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>