<?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>57662</bug_id>
          
          <creation_ts>2011-04-01 14:23:38 -0700</creation_ts>
          <short_desc>new-run-webkit-tests: fix feature detection, skipped platform lists on mac</short_desc>
          <delta_ts>2011-04-01 20:16:38 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>56047</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>378075</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-01 14:23:38 -0700</bug_when>
    <thetext>new-run-webkit-tests: fix feature detection, skipped platform lists on mac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378110</commentid>
    <comment_count>1</comment_count>
      <attachid>87922</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-01 15:07:19 -0700</bug_when>
    <thetext>Created attachment 87922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378195</commentid>
    <comment_count>2</comment_count>
      <attachid>87922</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-01 16:32:39 -0700</bug_when>
    <thetext>Comment on attachment 87922
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/mac.py:134
&gt; +    def _path_to_webcore_library(self):
&gt; +        return self._build_path(&apos;WebCore.framework/Versions/A/WebCore&apos;)

This method does not appear to be used in this patch.

&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:186
&gt; +        entries = self._filesystem.glob(self._webkit_baseline_path(&apos;*&apos;))

Doesn&apos;t this return a super huge list?  This doesn&apos;t seem like the right algorithm.  You want to enumerate the directories and then ask whether they&apos;re in the baseline search path, not enumerate all the things in those directories.

&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:187
&gt; +        platform_prefix = self.name().split(&apos;-&apos;, 1)[0]

This should be a helpful function instead of munging the string here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378199</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-01 16:36:46 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 87922 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87922&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/mac.py:134
&gt; &gt; +    def _path_to_webcore_library(self):
&gt; &gt; +        return self._build_path(&apos;WebCore.framework/Versions/A/WebCore&apos;)
&gt; 
&gt; This method does not appear to be used in this patch.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:186
&gt; &gt; +        entries = self._filesystem.glob(self._webkit_baseline_path(&apos;*&apos;))
&gt; 
&gt; Doesn&apos;t this return a super huge list?  This doesn&apos;t seem like the right algorithm.  You want to enumerate the directories and then ask whether they&apos;re in the baseline search path, not enumerate all the things in those directories.
&gt; 

The glob() returns LayoutTests/platform/*, nor platform/*/*. It&apos;s a small list and the isdir call filters for the directories.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:187
&gt; &gt; +        platform_prefix = self.name().split(&apos;-&apos;, 1)[0]
&gt; 
&gt; This should be a helpful function instead of munging the string here.

Will add.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378202</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-01 16:38:44 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 87922 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87922&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/mac.py:134
&gt; &gt; &gt; +    def _path_to_webcore_library(self):
&gt; &gt; &gt; +        return self._build_path(&apos;WebCore.framework/Versions/A/WebCore&apos;)
&gt; &gt; 
&gt; &gt; This method does not appear to be used in this patch.
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:186
&gt; &gt; &gt; +        entries = self._filesystem.glob(self._webkit_baseline_path(&apos;*&apos;))
&gt; &gt; 
&gt; &gt; Doesn&apos;t this return a super huge list?  This doesn&apos;t seem like the right algorithm.  You want to enumerate the directories and then ask whether they&apos;re in the baseline search path, not enumerate all the things in those directories.
&gt; &gt; 
&gt; 
&gt; The glob() returns LayoutTests/platform/*, nor platform/*/*. It&apos;s a small list and the isdir call filters for the directories.
&gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:187
&gt; &gt; &gt; +        platform_prefix = self.name().split(&apos;-&apos;, 1)[0]
&gt; &gt; 
&gt; &gt; This should be a helpful function instead of munging the string here.
&gt; 
&gt; Will add.

Er, actually, this was left over from an earlier, incorrect patch and isn&apos;t even needed. Deleted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378205</commentid>
    <comment_count>5</comment_count>
      <attachid>87941</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-01 16:41:06 -0700</bug_when>
    <thetext>Created attachment 87941
update w/ feedback from abarth</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378249</commentid>
    <comment_count>6</comment_count>
      <attachid>87941</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-01 17:42:22 -0700</bug_when>
    <thetext>Comment on attachment 87941
update w/ feedback from abarth

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:186
&gt; +            basename = self._filesystem.basename(entry)

Shouldn&apos;t this be inside the if since the variable is only used inside the if?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378250</commentid>
    <comment_count>7</comment_count>
      <attachid>87941</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-01 17:45:59 -0700</bug_when>
    <thetext>Comment on attachment 87941
update w/ feedback from abarth

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/mac.py:134
&gt; +    def _path_to_webcore_library(self):
&gt; +        return self._build_path(&apos;WebCore.framework/Versions/A/WebCore&apos;)

I would have made this change in a separate patch, but i think it&apos;s fine to add it to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378252</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-01 17:51:03 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 87941 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87941&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:186
&gt; &gt; +            basename = self._filesystem.basename(entry)
&gt; 
&gt; Shouldn&apos;t this be inside the if since the variable is only used inside the if?

Sure, it can be. I will fix this when I land it. 

Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378255</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-01 17:55:32 -0700</bug_when>
    <thetext>Committed r82753: &lt;http://trac.webkit.org/changeset/82753&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378307</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 20:16:38 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82759 might have broken SnowLeopard Intel Release (WebKit2 Tests)
The following tests are not passing:
inspector/styles/styles-add-blank-property.html
plugins/windowless_plugin_paint_test.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87922</attachid>
            <date>2011-04-01 15:07:19 -0700</date>
            <delta_ts>2011-04-01 16:41:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57662-20110401150718.patch</filename>
            <type>text/plain</type>
            <size>5316</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI3MTIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNGYwN2M4ZTM4ODhlYzE3NTJkMDVlNmUwNjI5ZDNiYzNm
NTllY2FjLi40MGRjMWYyMjg0N2EwYWExNDNmZThjYTY3MWIwN2EzYTNjZjliZWQ3IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTEtMDQtMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbmV3LXJ1bi13ZWJr
aXQtdGVzdHM6IGZpeCBmZWF0dXJlIGRldGVjdGlvbiwgc2tpcHBlZCBwbGF0Zm9ybSBsaXN0cyBv
biBtYWMKKworICAgICAgICBXZSBhcHBhcmVudGx5IG5ldmVyIGltcGxlbWVudGVkIHRoZSBjb2Rl
IHRvIHNraXAgdGVzdHMgYmFzZWQgb24KKyAgICAgICAgd2hhdCB3YXMgY29tcGlsZWQgaW50byBE
UlQuIEFsc28sIGNoYW5nZSB0aGUgbG9naWMgdXNlZCB0byBza2lwCisgICAgICAgIHBsYXRmb3Jt
IGRpcmVjdG9yaWVzIHRvIG1hdGNoIHdoYXQgb2xkLXJ1bi13ZWJraXQtdGVzdHMgZG9lczogCisg
ICAgICAgIHNraXAgZXZlcnkgdGVzdCBub3QgaW4gYSBkaXJlY3RvcnkgaW4gdGhlIGJhc2VsaW5l
IHNlYXJjaCBwYXRoLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NzY2MgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9tYWMucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9tYWNfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93ZWJraXQucHk6CisKIDIwMTEtMDQtMDEgIENoYW5nIFNodSAgPGNzaHVAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKaW5kZXggOGI2MjU5NWU4YTFm
OWM5NzAzNGE4NWU2NDQyZTVhMDUzMzIyOWJiZi4uNjVmODI0ZDllODM5OTE3ZGEwZTg5ZjllZTNh
YTRjYzhhMGYxNTM4MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9tYWMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9tYWMucHkKQEAgLTEyNiwyNCArMTI2LDEzIEBAIGNsYXNzIE1hY1BvcnQoV2ViS2l0
UG9ydCk6CiAgICAgZGVmIF9jaGVja19wb3J0X2J1aWxkKHNlbGYpOgogICAgICAgICByZXR1cm4g
c2VsZi5fYnVpbGRfamF2YV90ZXN0X3N1cHBvcnQoKQogCi0gICAgZGVmIF90ZXN0c19mb3Jfb3Ro
ZXJfcGxhdGZvcm1zKHNlbGYpOgotICAgICAgICAjIFRoZSBvcmlnaW5hbCBydW4td2Via2l0LXRl
c3RzIGJ1aWxkcyB1cCBhICJ3aGl0ZWxpc3QiIG9mIHRlc3RzIHRvCi0gICAgICAgICMgcnVuLCBh
bmQgcGFzc2VzIHRoYXQgdG8gRHVtcFJlbmRlclRyZWUuIG5ldy1ydW4td2Via2l0LXRlc3RzIGFz
c3VtZXMKLSAgICAgICAgIyB3ZSBydW4gKmFsbCogdGVzdHMgYW5kIHRlc3RfZXhwZWN0YXRpb25z
LnR4dCBmdW5jdGlvbnMgYXMgYQotICAgICAgICAjIGJsYWNrbGlzdC4KLSAgICAgICAgIyBGSVhN
RTogVGhpcyBsaXN0IGNvdWxkIGJlIGR5bmFtaWMgYmFzZWQgb24gcGxhdGZvcm0gbmFtZSBhbmQK
LSAgICAgICAgIyBwdXNoZWQgaW50byBiYXNlLlBvcnQuCi0gICAgICAgIHJldHVybiBbCi0gICAg
ICAgICAgICAicGxhdGZvcm0vY2hyb21pdW0iLAotICAgICAgICAgICAgInBsYXRmb3JtL2d0ayIs
Ci0gICAgICAgICAgICAicGxhdGZvcm0vcXQiLAotICAgICAgICAgICAgInBsYXRmb3JtL3dpbiIs
Ci0gICAgICAgIF0KLQogICAgIGRlZiBfcGF0aF90b19hcGFjaGVfY29uZmlnX2ZpbGUoc2VsZik6
CiAgICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5sYXlvdXRfdGVzdHNf
ZGlyKCksICdodHRwJywgJ2NvbmYnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdhcGFjaGUyLWh0dHBkLmNvbmYnKQogCisgICAgZGVmIF9wYXRoX3RvX3dlYmNvcmVfbGli
cmFyeShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ1dlYkNvcmUuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29yZScpCisKICAgICAjIEZJWE1FOiBUaGlzIGRvZXNuJ3Qg
aGF2ZSBhbnl0aGluZyB0byBkbyB3aXRoIFdlYktpdC4KICAgICBkZWYgX3NodXRfZG93bl9odHRw
X3NlcnZlcihzZWxmLCBzZXJ2ZXJfcGlkKToKICAgICAgICAgIiIiU2h1dCBkb3duIHRoZSBsaWdo
dHRwZCB3ZWIgc2VydmVyLiBCbG9ja3MgdW50aWwgaXQncyBmdWxseQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWNfdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQpp
bmRleCA0NTg2YTIzZTM2Y2EyNmQ2ZmU5YWVlYTZjYjU2NGM1ZTA3ZGMxYzY3Li43M2EwNDVjNTJi
ZTZiYmQwODJjNDhkYmZhOGVkNmZjMTJiMjAyOGU3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQpAQCAtODQs
NiArODQsMTQgQEAgc3ZnL2JhdGlrL3RleHQvc21hbGxGb250cy5zdmcKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG9zX3ZlcnNpb25fc3RyaW5nPW9zX3ZlcnNpb25fc3RyaW5nKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhleHBlY3RlZCwgcG9ydC5uYW1lKCkpCiAKKyAgICBkZWYgdGVz
dF90ZXN0c19mb3Jfb3RoZXJfcGxhdGZvcm1zKHNlbGYpOgorICAgICAgICBwb3J0ID0gbWFjLk1h
Y1BvcnQocG9ydF9uYW1lPSdtYWMtc25vd2xlb3BhcmQnKQorICAgICAgICBkaXJzX3RvX3NraXAg
PSBwb3J0Ll90ZXN0c19mb3Jfb3RoZXJfcGxhdGZvcm1zKCkKKyAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKCdwbGF0Zm9ybS9jaHJvbWl1bS1saW51eCcgaW4gZGlyc190b19za2lwKQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUoJ3BsYXRmb3JtL21hYy10aWdlcicgaW4gZGlyc190b19za2lwKQorICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKCdwbGF0Zm9ybS9tYWMnIGluIGRpcnNfdG9fc2tpcCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZSgncGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkJyBpbiBkaXJz
X3RvX3NraXApCisKICAgICBkZWYgdGVzdF92ZXJzaW9ucyhzZWxmKToKICAgICAgICAgcG9ydCA9
IHNlbGYubWFrZV9wb3J0KCkKICAgICAgICAgaWYgcG9ydDoKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKaW5kZXggNzNmNDVkYmVmNDMz
ZWE4MGYxMDEyMmMyYTMzNWQ0YTc3OGFkNmE1OS4uOGQ3ZWVjMmJmMmI4N2ZlN2FjNmFlZTk5N2Q0
YjUxNTMzMzVjYTA3ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC93ZWJraXQucHkKQEAgLTE4MCwxOSArMTgwLDE3IEBAIGNsYXNzIFdlYktpdFBv
cnQoYmFzZS5Qb3J0KToKICAgICAgICAgcmV0dXJuIFdlYktpdERyaXZlcihzZWxmLCB3b3JrZXJf
bnVtYmVyKQogCiAgICAgZGVmIF90ZXN0c19mb3Jfb3RoZXJfcGxhdGZvcm1zKHNlbGYpOgotICAg
ICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdXZWJLaXRQb3J0Ll90ZXN0c19mb3Jfb3Ro
ZXJfcGxhdGZvcm1zJykKLSAgICAgICAgIyBUaGUgb3JpZ2luYWwgcnVuLXdlYmtpdC10ZXN0cyBi
dWlsZHMgdXAgYSAid2hpdGVsaXN0IiBvZiB0ZXN0cyB0bwotICAgICAgICAjIHJ1biwgYW5kIHBh
c3NlcyB0aGF0IHRvIER1bXBSZW5kZXJUcmVlLiBuZXctcnVuLXdlYmtpdC10ZXN0cyBhc3N1bWVz
Ci0gICAgICAgICMgd2UgcnVuICphbGwqIHRlc3RzIGFuZCB0ZXN0X2V4cGVjdGF0aW9ucy50eHQg
ZnVuY3Rpb25zIGFzIGEKLSAgICAgICAgIyBibGFja2xpc3QuCi0gICAgICAgICMgRklYTUU6IFRo
aXMgbGlzdCBjb3VsZCBiZSBkeW5hbWljIGJhc2VkIG9uIHBsYXRmb3JtIG5hbWUgYW5kCi0gICAg
ICAgICMgcHVzaGVkIGludG8gYmFzZS5Qb3J0LgotICAgICAgICByZXR1cm4gWwotICAgICAgICAg
ICAgInBsYXRmb3JtL2Nocm9taXVtIiwKLSAgICAgICAgICAgICJwbGF0Zm9ybS9ndGsiLAotICAg
ICAgICAgICAgInBsYXRmb3JtL3F0IiwKLSAgICAgICAgICAgICJwbGF0Zm9ybS93aW4iLAotICAg
ICAgICBdCisgICAgICAgICMgQnkgZGVmYXVsdCB3ZSB3aWxsIHNraXAgYW55IGRpcmVjdG9yeSB1
bmRlciBMYXlvdXRUZXN0cy9wbGF0Zm9ybQorICAgICAgICAjIHRoYXQgaXNuJ3QgaW4gb3VyIGJh
c2VsaW5lIHNlYXJjaCBwYXRoICh0aGlzIG1pcnJvcnMgd2hhdAorICAgICAgICAjIG9sZC1ydW4t
d2Via2l0LXRlc3RzIGRvZXMgaW4gZmluZFRlc3RzVG9SdW4oKSkuCisgICAgICAgIGVudHJpZXMg
PSBzZWxmLl9maWxlc3lzdGVtLmdsb2Ioc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgoJyonKSkK
KyAgICAgICAgcGxhdGZvcm1fcHJlZml4ID0gc2VsZi5uYW1lKCkuc3BsaXQoJy0nLCAxKVswXQor
ICAgICAgICBkaXJzX3RvX3NraXAgPSBbXQorICAgICAgICBmb3IgZW50cnkgaW4gZW50cmllczoK
KyAgICAgICAgICAgIGJhc2VuYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5iYXNlbmFtZShlbnRyeSkK
KyAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uaXNkaXIoZW50cnkpIGFuZCBub3QgZW50
cnkgaW4gc2VsZi5iYXNlbGluZV9zZWFyY2hfcGF0aCgpOgorICAgICAgICAgICAgICAgIGRpcnNf
dG9fc2tpcC5hcHBlbmQoJ3BsYXRmb3JtLyVzJyAlIGJhc2VuYW1lKQorICAgICAgICByZXR1cm4g
ZGlyc190b19za2lwCiAKICAgICBkZWYgX3J1bnRpbWVfZmVhdHVyZV9saXN0KHNlbGYpOgogICAg
ICAgICAiIiJSZXR1cm4gdGhlIHN1cHBvcnRlZCBmZWF0dXJlcyBvZiBEUlQuIElmIGEgcG9ydCBk
b2Vzbid0IHN1cHBvcnQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87941</attachid>
            <date>2011-04-01 16:41:06 -0700</date>
            <delta_ts>2011-04-01 17:45:59 -0700</delta_ts>
            <desc>update w/ feedback from abarth</desc>
            <filename>bug-57662-20110401164105.patch</filename>
            <type>text/plain</type>
            <size>5440</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI3NDIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5OTY4NTI4MWQ2MGZjMTE5ODYzZjcxOGEyMGU2MmQzOGVk
M2U0NDZhLi5kN2QxNmYwMjc0NjVkMDJlZjc5M2E2NDFkNzY3N2IzZWE2NjJiMjkzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIg
QEAKIDIwMTEtMDQtMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbmV3LXJ1bi13ZWJr
aXQtdGVzdHM6IGZpeCBmZWF0dXJlIGRldGVjdGlvbiwgc2tpcHBlZCBwbGF0Zm9ybSBsaXN0cyBv
biBtYWMKKworICAgICAgICBXZSBhcHBhcmVudGx5IG5ldmVyIGltcGxlbWVudGVkIHRoZSBjb2Rl
IHRvIHNraXAgdGVzdHMgYmFzZWQgb24KKyAgICAgICAgd2hhdCB3YXMgY29tcGlsZWQgaW50byBE
UlQuIEFsc28sIGNoYW5nZSB0aGUgbG9naWMgdXNlZCB0byBza2lwCisgICAgICAgIHBsYXRmb3Jt
IGRpcmVjdG9yaWVzIHRvIG1hdGNoIHdoYXQgb2xkLXJ1bi13ZWJraXQtdGVzdHMgZG9lczogCisg
ICAgICAgIHNraXAgZXZlcnkgdGVzdCBub3QgaW4gYSBkaXJlY3RvcnkgaW4gdGhlIGJhc2VsaW5l
IHNlYXJjaCBwYXRoLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NzY2MgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9tYWMucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9tYWNfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93ZWJraXQucHk6CisKKzIwMTEtMDQtMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBj
aHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KIAogICAgICAg
ICBuZXctcnVuLXdlYmtpdC10ZXN0czogcmVtb3ZlIHNwdXJpb3VzIHBvcnQgdmVyc2lvbiBvdmVy
cmlkZSBpbiB3ZWJraXQucHkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvbWFjLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9tYWMucHkKaW5kZXggOGI2MjU5NWU4YTFmOWM5NzAzNGE4NWU2NDQyZTVhMDUzMzIy
OWJiZi4uNjVmODI0ZDllODM5OTE3ZGEwZTg5ZjllZTNhYTRjYzhhMGYxNTM4MSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKQEAgLTEyNiwy
NCArMTI2LDEzIEBAIGNsYXNzIE1hY1BvcnQoV2ViS2l0UG9ydCk6CiAgICAgZGVmIF9jaGVja19w
b3J0X2J1aWxkKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fYnVpbGRfamF2YV90ZXN0X3N1
cHBvcnQoKQogCi0gICAgZGVmIF90ZXN0c19mb3Jfb3RoZXJfcGxhdGZvcm1zKHNlbGYpOgotICAg
ICAgICAjIFRoZSBvcmlnaW5hbCBydW4td2Via2l0LXRlc3RzIGJ1aWxkcyB1cCBhICJ3aGl0ZWxp
c3QiIG9mIHRlc3RzIHRvCi0gICAgICAgICMgcnVuLCBhbmQgcGFzc2VzIHRoYXQgdG8gRHVtcFJl
bmRlclRyZWUuIG5ldy1ydW4td2Via2l0LXRlc3RzIGFzc3VtZXMKLSAgICAgICAgIyB3ZSBydW4g
KmFsbCogdGVzdHMgYW5kIHRlc3RfZXhwZWN0YXRpb25zLnR4dCBmdW5jdGlvbnMgYXMgYQotICAg
ICAgICAjIGJsYWNrbGlzdC4KLSAgICAgICAgIyBGSVhNRTogVGhpcyBsaXN0IGNvdWxkIGJlIGR5
bmFtaWMgYmFzZWQgb24gcGxhdGZvcm0gbmFtZSBhbmQKLSAgICAgICAgIyBwdXNoZWQgaW50byBi
YXNlLlBvcnQuCi0gICAgICAgIHJldHVybiBbCi0gICAgICAgICAgICAicGxhdGZvcm0vY2hyb21p
dW0iLAotICAgICAgICAgICAgInBsYXRmb3JtL2d0ayIsCi0gICAgICAgICAgICAicGxhdGZvcm0v
cXQiLAotICAgICAgICAgICAgInBsYXRmb3JtL3dpbiIsCi0gICAgICAgIF0KLQogICAgIGRlZiBf
cGF0aF90b19hcGFjaGVfY29uZmlnX2ZpbGUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9m
aWxlc3lzdGVtLmpvaW4oc2VsZi5sYXlvdXRfdGVzdHNfZGlyKCksICdodHRwJywgJ2NvbmYnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcGFjaGUyLWh0dHBkLmNvbmYn
KQogCisgICAgZGVmIF9wYXRoX3RvX3dlYmNvcmVfbGlicmFyeShzZWxmKToKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvV2ViQ29y
ZScpCisKICAgICAjIEZJWE1FOiBUaGlzIGRvZXNuJ3QgaGF2ZSBhbnl0aGluZyB0byBkbyB3aXRo
IFdlYktpdC4KICAgICBkZWYgX3NodXRfZG93bl9odHRwX3NlcnZlcihzZWxmLCBzZXJ2ZXJfcGlk
KToKICAgICAgICAgIiIiU2h1dCBkb3duIHRoZSBsaWdodHRwZCB3ZWIgc2VydmVyLiBCbG9ja3Mg
dW50aWwgaXQncyBmdWxseQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9tYWNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQppbmRleCAwZWE3NDM5NzdjMzlhYTMxM2U2
Y2Q4NzVjYmU3NTE4NjcyODA0ZjgxLi5iMWMwMzM5MjBlNWY5MTNiMjZlNjJjMjA0MDJlMDllZGE2
NmYxMzBhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L21hY191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQpAQCAtODQsNiArODQsMTQgQEAgc3ZnL2JhdGlrL3Rl
eHQvc21hbGxGb250cy5zdmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zX3ZlcnNpb25f
c3RyaW5nPW9zX3ZlcnNpb25fc3RyaW5nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBl
Y3RlZCwgcG9ydC5uYW1lKCkpCiAKKyAgICBkZWYgdGVzdF90ZXN0c19mb3Jfb3RoZXJfcGxhdGZv
cm1zKHNlbGYpOgorICAgICAgICBwb3J0ID0gbWFjLk1hY1BvcnQocG9ydF9uYW1lPSdtYWMtc25v
d2xlb3BhcmQnKQorICAgICAgICBkaXJzX3RvX3NraXAgPSBwb3J0Ll90ZXN0c19mb3Jfb3RoZXJf
cGxhdGZvcm1zKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdwbGF0Zm9ybS9jaHJvbWl1bS1s
aW51eCcgaW4gZGlyc190b19za2lwKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJ3BsYXRmb3Jt
L21hYy10aWdlcicgaW4gZGlyc190b19za2lwKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCdw
bGF0Zm9ybS9tYWMnIGluIGRpcnNfdG9fc2tpcCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgn
cGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkJyBpbiBkaXJzX3RvX3NraXApCisKICAgICBkZWYgdGVz
dF92ZXJzaW9uKHNlbGYpOgogICAgICAgICBwb3J0ID0gbWFjLk1hY1BvcnQoKQogICAgICAgICBz
ZWxmLmFzc2VydFRydWUocG9ydC52ZXJzaW9uKCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CmluZGV4IDdkODZmMDllM2M2YjU0Nzkz
NGFiMGQwYzY4YThhMDA4ODc5MDZkMzAuLjE0MzBiNzJhZDA3YTUwYzc5Mjk1YTQ3N2VmYmY3Njcy
YWUwODhjZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvd2Via2l0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvd2Via2l0LnB5CkBAIC0xNzYsMTkgKzE3NiwxNyBAQCBjbGFzcyBXZWJLaXRQb3J0KGJh
c2UuUG9ydCk6CiAgICAgICAgIHJldHVybiBXZWJLaXREcml2ZXIoc2VsZiwgd29ya2VyX251bWJl
cikKIAogICAgIGRlZiBfdGVzdHNfZm9yX290aGVyX3BsYXRmb3JtcyhzZWxmKToKLSAgICAgICAg
cmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignV2ViS2l0UG9ydC5fdGVzdHNfZm9yX290aGVyX3Bs
YXRmb3JtcycpCi0gICAgICAgICMgVGhlIG9yaWdpbmFsIHJ1bi13ZWJraXQtdGVzdHMgYnVpbGRz
IHVwIGEgIndoaXRlbGlzdCIgb2YgdGVzdHMgdG8KLSAgICAgICAgIyBydW4sIGFuZCBwYXNzZXMg
dGhhdCB0byBEdW1wUmVuZGVyVHJlZS4gbmV3LXJ1bi13ZWJraXQtdGVzdHMgYXNzdW1lcwotICAg
ICAgICAjIHdlIHJ1biAqYWxsKiB0ZXN0cyBhbmQgdGVzdF9leHBlY3RhdGlvbnMudHh0IGZ1bmN0
aW9ucyBhcyBhCi0gICAgICAgICMgYmxhY2tsaXN0LgotICAgICAgICAjIEZJWE1FOiBUaGlzIGxp
c3QgY291bGQgYmUgZHluYW1pYyBiYXNlZCBvbiBwbGF0Zm9ybSBuYW1lIGFuZAotICAgICAgICAj
IHB1c2hlZCBpbnRvIGJhc2UuUG9ydC4KLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgICJw
bGF0Zm9ybS9jaHJvbWl1bSIsCi0gICAgICAgICAgICAicGxhdGZvcm0vZ3RrIiwKLSAgICAgICAg
ICAgICJwbGF0Zm9ybS9xdCIsCi0gICAgICAgICAgICAicGxhdGZvcm0vd2luIiwKLSAgICAgICAg
XQorICAgICAgICAjIEJ5IGRlZmF1bHQgd2Ugd2lsbCBza2lwIGFueSBkaXJlY3RvcnkgdW5kZXIg
TGF5b3V0VGVzdHMvcGxhdGZvcm0KKyAgICAgICAgIyB0aGF0IGlzbid0IGluIG91ciBiYXNlbGlu
ZSBzZWFyY2ggcGF0aCAodGhpcyBtaXJyb3JzIHdoYXQKKyAgICAgICAgIyBvbGQtcnVuLXdlYmtp
dC10ZXN0cyBkb2VzIGluIGZpbmRUZXN0c1RvUnVuKCkpLgorICAgICAgICAjIE5vdGUgdGhpcyBy
ZXR1cm5zIExheW91dFRlc3RzL3BsYXRmb3JtLyosIG5vdCBwbGF0Zm9ybS8qLyouCisgICAgICAg
IGVudHJpZXMgPSBzZWxmLl9maWxlc3lzdGVtLmdsb2Ioc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3Bh
dGgoJyonKSkKKyAgICAgICAgZGlyc190b19za2lwID0gW10KKyAgICAgICAgZm9yIGVudHJ5IGlu
IGVudHJpZXM6CisgICAgICAgICAgICBiYXNlbmFtZSA9IHNlbGYuX2ZpbGVzeXN0ZW0uYmFzZW5h
bWUoZW50cnkpCisgICAgICAgICAgICBpZiBzZWxmLl9maWxlc3lzdGVtLmlzZGlyKGVudHJ5KSBh
bmQgbm90IGVudHJ5IGluIHNlbGYuYmFzZWxpbmVfc2VhcmNoX3BhdGgoKToKKyAgICAgICAgICAg
ICAgICBkaXJzX3RvX3NraXAuYXBwZW5kKCdwbGF0Zm9ybS8lcycgJSBiYXNlbmFtZSkKKyAgICAg
ICAgcmV0dXJuIGRpcnNfdG9fc2tpcAogCiAgICAgZGVmIF9ydW50aW1lX2ZlYXR1cmVfbGlzdChz
ZWxmKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBzdXBwb3J0ZWQgZmVhdHVyZXMgb2YgRFJULiBJ
ZiBhIHBvcnQgZG9lc24ndCBzdXBwb3J0Cg==
</data>
<flag name="review"
          id="80403"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="80412"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>