<?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>64199</bug_id>
          
          <creation_ts>2011-07-08 13:38:43 -0700</creation_ts>
          <short_desc>TestResultsServer should keep old test results</short_desc>
          <delta_ts>2011-07-08 14:18:19 -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>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>
          
          <blocked>64189</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>434278</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-08 13:38:43 -0700</bug_when>
    <thetext>TestResultsServer should keep old test results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434281</commentid>
    <comment_count>1</comment_count>
      <attachid>100155</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-08 13:42:24 -0700</bug_when>
    <thetext>Created attachment 100155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434295</commentid>
    <comment_count>2</comment_count>
      <attachid>100155</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-07-08 13:59:27 -0700</bug_when>
    <thetext>Comment on attachment 100155
Patch

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

&gt; Tools/ChangeLog:8
&gt; +        Having historical data will help use do failure archeology.

s/use/us

&gt; Tools/TestResultServer/handlers/testfilehandler.py:107
&gt; +        if callback_name:

If callback_name is optional, it should default to None above, right?

&gt; Tools/TestResultServer/handlers/testfilehandler.py:133
&gt; +        file = db.get(key)

Not entirely sure what this does. What are valid values for &quot;key&quot;?

&gt; Tools/TestResultServer/templates/showfilelist.jsonp:4
&gt; +{% for file in files %}
&gt; +  &quot;{{ file.key }}&quot;,
&gt; +{% endfor %}

Do we want to use a richer format for this? For example, do we want to include the metadata we have about each file? Basically the data we currently show at http://test-results.appspot.com/testfile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434296</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-08 14:01:37 -0700</bug_when>
    <thetext>&gt; &gt; Tools/TestResultServer/handlers/testfilehandler.py:133
&gt; &gt; +        file = db.get(key)
&gt; 
&gt; Not entirely sure what this does. What are valid values for &quot;key&quot;?

AppEngine datastore keys.

&gt; &gt; Tools/TestResultServer/templates/showfilelist.jsonp:4
&gt; &gt; +{% for file in files %}
&gt; &gt; +  &quot;{{ file.key }}&quot;,
&gt; &gt; +{% endfor %}
&gt; 
&gt; Do we want to use a richer format for this? For example, do we want to include the metadata we have about each file? Basically the data we currently show at http://test-results.appspot.com/testfile.

I&apos;ll add some more structure here so that it is future-proof.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434297</commentid>
    <comment_count>4</comment_count>
      <attachid>100159</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-08 14:05:45 -0700</bug_when>
    <thetext>Created attachment 100159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434302</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-08 14:18:19 -0700</bug_when>
    <thetext>Committed r90665: &lt;http://trac.webkit.org/changeset/90665&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100155</attachid>
            <date>2011-07-08 13:42:24 -0700</date>
            <delta_ts>2011-07-08 14:05:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64199-20110708134222.patch</filename>
            <type>text/plain</type>
            <size>6338</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDkwNjYzKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTEtMDctMDggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBUZXN0UmVzdWx0c1NlcnZlciBzaG91bGQga2VlcCBvbGQgdGVzdCByZXN1bHRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmluZyBoaXN0
b3JpY2FsIGRhdGEgd2lsbCBoZWxwIHVzZSBkbyBmYWlsdXJlIGFyY2hlb2xvZ3kuCisKKyAgICAg
ICAgKiBUZXN0UmVzdWx0U2VydmVyL2hhbmRsZXJzL3Rlc3RmaWxlaGFuZGxlci5weToKKyAgICAg
ICAgKiBUZXN0UmVzdWx0U2VydmVyL21vZGVsL3Rlc3RmaWxlLnB5OgorICAgICAgICAqIFRlc3RS
ZXN1bHRTZXJ2ZXIvdGVtcGxhdGVzL3Nob3dmaWxlbGlzdC5qc29ucDogQWRkZWQuCisKIDIwMTEt
MDctMDggIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgY2hl
Y2tvdXRfdW5pdHRlc3QgbW9yZSByb2J1c3QgYWdhaW5zdCBmaWxlcyBtb3ZpbmcgYXJvdW5kCklu
ZGV4OiBUb29scy9UZXN0UmVzdWx0U2VydmVyL2hhbmRsZXJzL3Rlc3RmaWxlaGFuZGxlci5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0UmVzdWx0U2VydmVyL2hhbmRsZXJzL3Rlc3RmaWxlaGFu
ZGxlci5weQkocmV2aXNpb24gOTA2NTIpCisrKyBUb29scy9UZXN0UmVzdWx0U2VydmVyL2hhbmRs
ZXJzL3Rlc3RmaWxlaGFuZGxlci5weQkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksMTIgQEAg
UEFSQU1fVEVTVF9MSVNUX0pTT04gPSAidGVzdGxpc3Rqc29uIgogUEFSQU1fQ0FMTEJBQ0sgPSAi
Y2FsbGJhY2siCiAKIAorZGVmIF9yZXBsYWNlX2pzb25wX2NhbGxiYWNrKGpzb24sIGNhbGxiYWNr
X25hbWUpOgorICAgIGlmIGNhbGxiYWNrX25hbWUgYW5kIHJlLnNlYXJjaChyIl5bQS1aYS16MC05
X10rJCIsIGNhbGxiYWNrX25hbWUpOgorICAgICAgICBqc29uID0gcmUuc3ViKHIiXltBLVphLXow
LTlfXStbKF0iLCBjYWxsYmFja19uYW1lICsgIigiLCBqc29uKQorICAgIHJldHVybiBqc29uCisK
KwogY2xhc3MgRGVsZXRlRmlsZSh3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgogICAgICIiIkRlbGV0
ZSB0ZXN0IGZpbGUgZm9yIGEgZ2l2ZW4gYnVpbGRlciBhbmQgbmFtZSBmcm9tIGRhdGFzdG9yZS4i
IiIKIApAQCAtNzMsNyArNzksNyBAQCBjbGFzcyBEZWxldGVGaWxlKHdlYmFwcC5SZXF1ZXN0SGFu
ZGxlcik6CiBjbGFzcyBHZXRGaWxlKHdlYmFwcC5SZXF1ZXN0SGFuZGxlcik6CiAgICAgIiIiR2V0
IGZpbGUgY29udGVudCBvciBsaXN0IG9mIGZpbGVzIGZvciBnaXZlbiBidWlsZGVyIGFuZCBuYW1l
LiIiIgogCi0gICAgZGVmIF9nZXRfZmlsZV9saXN0KHNlbGYsIG1hc3RlciwgYnVpbGRlciwgdGVz
dF90eXBlLCBuYW1lKToKKyAgICBkZWYgX2dldF9maWxlX2xpc3Qoc2VsZiwgbWFzdGVyLCBidWls
ZGVyLCB0ZXN0X3R5cGUsIG5hbWUsIGNhbGxiYWNrX25hbWUpOgogICAgICAgICAiIiJHZXQgYW5k
IGRpc3BsYXkgYSBsaXN0IG9mIGZpbGVzIHRoYXQgbWF0Y2hlcyBidWlsZGVyIGFuZCBmaWxlIG5h
bWUuCiAKICAgICAgICAgQXJnczoKQEAgLTk4LDYgKzEwNCwxMCBAQCBjbGFzcyBHZXRGaWxlKHdl
YmFwcC5SZXF1ZXN0SGFuZGxlcik6CiAgICAgICAgICAgICAibmFtZSI6IG5hbWUsCiAgICAgICAg
ICAgICAiZmlsZXMiOiBmaWxlcywKICAgICAgICAgfQorICAgICAgICBpZiBjYWxsYmFja19uYW1l
OgorICAgICAgICAgICAganNvbiA9IHRlbXBsYXRlLnJlbmRlcigidGVtcGxhdGVzL3Nob3dmaWxl
bGlzdC5qc29ucCIsIHRlbXBsYXRlX3ZhbHVlcykKKyAgICAgICAgICAgIHNlbGYuX3NlcnZlX2pz
b24oX3JlcGxhY2VfanNvbnBfY2FsbGJhY2soanNvbiwgY2FsbGJhY2tfbmFtZSkpCisgICAgICAg
ICAgICByZXR1cm4KICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUodGVtcGxhdGUucmVu
ZGVyKCJ0ZW1wbGF0ZXMvc2hvd2ZpbGVsaXN0Lmh0bWwiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVfdmFsdWVzKSkKIApAQCAtMTE5LDYg
KzEyOSwxNSBAQCBjbGFzcyBHZXRGaWxlKHdlYmFwcC5SZXF1ZXN0SGFuZGxlcik6CiAKICAgICAg
ICAgcmV0dXJuIGZpbGVzWzBdLmRhdGEKIAorICAgIGRlZiBfZ2V0X2ZpbGVfY29udGVudF9mcm9t
X2tleShzZWxmLCBrZXkpOgorICAgICAgICBmaWxlID0gZGIuZ2V0KGtleSkKKworICAgICAgICBp
ZiBub3QgZmlsZToKKyAgICAgICAgICAgIGxvZ2dpbmcuaW5mbygiRmlsZSBub3QgZm91bmQsIGtl
eSAlcy4iLCBrZXkpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHJldHVybiBm
aWxlLmRhdGEKKwogICAgIGRlZiBfZ2V0X3Rlc3RfbGlzdF9qc29uKHNlbGYsIG1hc3RlciwgYnVp
bGRlciwgdGVzdF90eXBlKToKICAgICAgICAgIiIiUmV0dXJuIGpzb24gZmlsZSB3aXRoIHRlc3Qg
bmFtZSBsaXN0IG9ubHksIGRvIG5vdCBpbmNsdWRlIHRlc3QKICAgICAgICAgICAgcmVzdWx0cyBh
bmQgb3RoZXIgbm9uLXRlc3QtZGF0YSAuCkBAIC0xMzQsNyArMTUzLDE1IEBAIGNsYXNzIEdldEZp
bGUod2ViYXBwLlJlcXVlc3RIYW5kbGVyKToKIAogICAgICAgICByZXR1cm4gSnNvblJlc3VsdHMu
Z2V0X3Rlc3RfbGlzdChidWlsZGVyLCBqc29uKQogCisgICAgZGVmIF9zZXJ2ZV9qc29uKHNlbGYs
IGpzb24pOgorICAgICAgICBpZiBqc29uOgorICAgICAgICAgICAgc2VsZi5yZXNwb25zZS5oZWFk
ZXJzWyJDb250ZW50LVR5cGUiXSA9ICJhcHBsaWNhdGlvbi9qc29uIgorICAgICAgICAgICAgc2Vs
Zi5yZXNwb25zZS5vdXQud3JpdGUoanNvbikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNl
bGYuZXJyb3IoNDA0KQorCiAgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAga2V5ID0gc2VsZi5y
ZXF1ZXN0LmdldChQQVJBTV9LRVkpCiAgICAgICAgIG1hc3RlciA9IHNlbGYucmVxdWVzdC5nZXQo
UEFSQU1fTUFTVEVSKQogICAgICAgICBidWlsZGVyID0gc2VsZi5yZXF1ZXN0LmdldChQQVJBTV9C
VUlMREVSKQogICAgICAgICB0ZXN0X3R5cGUgPSBzZWxmLnJlcXVlc3QuZ2V0KFBBUkFNX1RFU1Rf
VFlQRSkKQEAgLTE1MSwyMSArMTc4LDE3IEBAIGNsYXNzIEdldEZpbGUod2ViYXBwLlJlcXVlc3RI
YW5kbGVyKToKICAgICAgICAgIyBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QsIHJldHVybiBsaXN0
IG9mIGZpbGVzLCBvdGhlcndpc2UsIHJldHVybgogICAgICAgICAjIGZpbGUgY29udGVudC4KICAg
ICAgICAgaWYgZGlyIG9yIG5vdCBidWlsZGVyIG9yIG5vdCBuYW1lOgotICAgICAgICAgICAgcmV0
dXJuIHNlbGYuX2dldF9maWxlX2xpc3QobWFzdGVyLCBidWlsZGVyLCB0ZXN0X3R5cGUsIG5hbWUp
CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZ2V0X2ZpbGVfbGlzdChtYXN0ZXIsIGJ1aWxkZXIs
IHRlc3RfdHlwZSwgbmFtZSwgY2FsbGJhY2tfbmFtZSkKIAotICAgICAgICBpZiBuYW1lID09ICJy
ZXN1bHRzLmpzb24iIGFuZCB0ZXN0X2xpc3RfanNvbjoKKyAgICAgICAgaWYga2V5OgorICAgICAg
ICAgICAganNvbiA9IHNlbGYuX2dldF9maWxlX2NvbnRlbnRfZnJvbV9rZXkoa2V5KQorICAgICAg
ICBlbGlmIG5hbWUgPT0gInJlc3VsdHMuanNvbiIgYW5kIHRlc3RfbGlzdF9qc29uOgogICAgICAg
ICAgICAganNvbiA9IHNlbGYuX2dldF90ZXN0X2xpc3RfanNvbihtYXN0ZXIsIGJ1aWxkZXIsIHRl
c3RfdHlwZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGpzb24gPSBzZWxmLl9nZXRfZmls
ZV9jb250ZW50KG1hc3RlciwgYnVpbGRlciwgdGVzdF90eXBlLCBuYW1lKQogCi0gICAgICAgIGlm
IGNhbGxiYWNrX25hbWUgYW5kIHJlLnNlYXJjaChyIl5bQS1aYS16MC05X10rJCIsIGNhbGxiYWNr
X25hbWUpOgotICAgICAgICAgICAganNvbiA9IHJlLnN1YihyIl5bQS1aYS16MC05X10rWyhdIiwg
Y2FsbGJhY2tfbmFtZSArICIoIiwganNvbikKKyAgICAgICAgc2VsZi5fc2VydmVfanNvbihfcmVw
bGFjZV9qc29ucF9jYWxsYmFjayhqc29uLCBjYWxsYmFja19uYW1lKSkKIAotICAgICAgICBpZiBq
c29uOgotICAgICAgICAgICAgc2VsZi5yZXNwb25zZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXSA9
ICJhcHBsaWNhdGlvbi9qc29uIgotICAgICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUo
anNvbikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZXJyb3IoNDA0KQogCiBjbGFz
cyBVcGxvYWQod2ViYXBwLlJlcXVlc3RIYW5kbGVyKToKICAgICAiIiJVcGxvYWQgdGVzdCByZXN1
bHRzIGZpbGUgdG8gZGF0YXN0b3JlLiIiIgpAQCAtMjA3LDcgKzIzMCw3IEBAIGNsYXNzIFVwbG9h
ZCh3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgogICAgICAgICAgICAgICAgICMgTWVyZ2UgaW5jcmVt
ZW50YWwganNvbiByZXN1bHRzLgogICAgICAgICAgICAgICAgIHVwZGF0ZV9zdWNjZWVkZWQgPSBK
c29uUmVzdWx0cy51cGRhdGUobWFzdGVyLCBidWlsZGVyLCB0ZXN0X3R5cGUsIGZpbGUudmFsdWUp
CiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHVwZGF0ZV9zdWNjZWVkZWQgPSBU
ZXN0RmlsZS51cGRhdGUoCisgICAgICAgICAgICAgICAgdXBkYXRlX3N1Y2NlZWRlZCA9IFRlc3RG
aWxlLmFkZF9maWxlKAogICAgICAgICAgICAgICAgICAgICBtYXN0ZXIsIGJ1aWxkZXIsIHRlc3Rf
dHlwZSwgZmlsZS5maWxlbmFtZSwgZmlsZS52YWx1ZSkKIAogICAgICAgICAgICAgaWYgbm90IHVw
ZGF0ZV9zdWNjZWVkZWQ6CkluZGV4OiBUb29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL3Rlc3Rm
aWxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvdGVzdGZp
bGUucHkJKHJldmlzaW9uIDkwNjUyKQorKysgVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9tb2RlbC90
ZXN0ZmlsZS5weQkod29ya2luZyBjb3B5KQpAQCAtOTcsMjIgKzk3LDYgQEAgY2xhc3MgVGVzdEZp
bGUoRGF0YVN0b3JlRmlsZSk6CiAKICAgICAgICAgcmV0dXJuIGZpbGUKIAotICAgIEBjbGFzc21l
dGhvZAotICAgIGRlZiB1cGRhdGUoY2xzLCBtYXN0ZXIsIGJ1aWxkZXIsIHRlc3RfdHlwZSwgbmFt
ZSwgZGF0YSk6Ci0gICAgICAgIGZpbGVzID0gY2xzLmdldF9maWxlcyhtYXN0ZXIsIGJ1aWxkZXIs
IHRlc3RfdHlwZSwgbmFtZSkKLSAgICAgICAgaWYgbm90IGZpbGVzOgotICAgICAgICAgICAgcmV0
dXJuIGNscy5hZGRfZmlsZShtYXN0ZXIsIGJ1aWxkZXIsIHRlc3RfdHlwZSwgbmFtZSwgZGF0YSkK
LQotICAgICAgICBmaWxlID0gZmlsZXNbMF0KLSAgICAgICAgaWYgbm90IGZpbGUuc2F2ZShkYXRh
KToKLSAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgbG9nZ2luZy5pbmZvKAotICAg
ICAgICAgICAgIkZpbGUgcmVwbGFjZWQsIG1hc3RlcjogJXMsIGJ1aWxkZXI6ICVzLCB0ZXN0X3R5
cGU6ICVzLCBuYW1lOiAlcywgZGF0YSBrZXk6ICVzLiIsCi0gICAgICAgICAgICBtYXN0ZXIsIGJ1
aWxkZXIsIHRlc3RfdHlwZSwgZmlsZS5uYW1lLCBzdHIoZmlsZS5kYXRhX2tleXMpKQotCi0gICAg
ICAgIHJldHVybiBmaWxlCi0KICAgICBkZWYgc2F2ZShzZWxmLCBkYXRhKToKICAgICAgICAgaWYg
bm90IHNlbGYuc2F2ZV9kYXRhKGRhdGEpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkluZGV4
OiBUb29scy9UZXN0UmVzdWx0U2VydmVyL3RlbXBsYXRlcy9zaG93ZmlsZWxpc3QuanNvbnAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFJlc3VsdFNlcnZlci90ZW1wbGF0ZXMvc2hvd2ZpbGVsaXN0
Lmpzb25wCShyZXZpc2lvbiAwKQorKysgVG9vbHMvVGVzdFJlc3VsdFNlcnZlci90ZW1wbGF0ZXMv
c2hvd2ZpbGVsaXN0Lmpzb25wCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK0NBTExCQUNL
KFsKK3slIGZvciBmaWxlIGluIGZpbGVzICV9CisgICJ7eyBmaWxlLmtleSB9fSIsCit7JSBlbmRm
b3IgJX0KK10pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100159</attachid>
            <date>2011-07-08 14:05:45 -0700</date>
            <delta_ts>2011-07-08 14:11:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64199-20110708140544.patch</filename>
            <type>text/plain</type>
            <size>7131</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDkwNjYzKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTEtMDctMDggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBUZXN0UmVzdWx0c1NlcnZlciBzaG91bGQga2VlcCBvbGQgdGVzdCByZXN1bHRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmluZyBoaXN0
b3JpY2FsIGRhdGEgd2lsbCBoZWxwIHVzIGRvIGZhaWx1cmUgYXJjaGVvbG9neS4KKworICAgICAg
ICAqIFRlc3RSZXN1bHRTZXJ2ZXIvaGFuZGxlcnMvdGVzdGZpbGVoYW5kbGVyLnB5OgorICAgICAg
ICAqIFRlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvdGVzdGZpbGUucHk6CisgICAgICAgICogVGVzdFJl
c3VsdFNlcnZlci90ZW1wbGF0ZXMvc2hvd2ZpbGVsaXN0Lmpzb25wOiBBZGRlZC4KKwogMjAxMS0w
Ny0wOCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBjaGVj
a291dF91bml0dGVzdCBtb3JlIHJvYnVzdCBhZ2FpbnN0IGZpbGVzIG1vdmluZyBhcm91bmQKSW5k
ZXg6IFRvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvaGFuZGxlcnMvdGVzdGZpbGVoYW5kbGVyLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvaGFuZGxlcnMvdGVzdGZpbGVoYW5k
bGVyLnB5CShyZXZpc2lvbiA5MDY1MikKKysrIFRvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvaGFuZGxl
cnMvdGVzdGZpbGVoYW5kbGVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBAIGlt
cG9ydCB1cmxsaWIKIGZyb20gZ29vZ2xlLmFwcGVuZ2luZS5hcGkgaW1wb3J0IHVzZXJzCiBmcm9t
IGdvb2dsZS5hcHBlbmdpbmUuZXh0IGltcG9ydCB3ZWJhcHAKIGZyb20gZ29vZ2xlLmFwcGVuZ2lu
ZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0ZQorZnJvbSBnb29nbGUuYXBwZW5naW5lLmV4dCBp
bXBvcnQgZGIKIAogZnJvbSBtb2RlbC5qc29ucmVzdWx0cyBpbXBvcnQgSnNvblJlc3VsdHMKIGZy
b20gbW9kZWwudGVzdGZpbGUgaW1wb3J0IFRlc3RGaWxlCkBAIC00OSw2ICs1MCwxMiBAQCBQQVJB
TV9URVNUX0xJU1RfSlNPTiA9ICJ0ZXN0bGlzdGpzb24iCiBQQVJBTV9DQUxMQkFDSyA9ICJjYWxs
YmFjayIKIAogCitkZWYgX3JlcGxhY2VfanNvbnBfY2FsbGJhY2soanNvbiwgY2FsbGJhY2tfbmFt
ZSk6CisgICAgaWYgY2FsbGJhY2tfbmFtZSBhbmQgcmUuc2VhcmNoKHIiXltBLVphLXowLTlfXSsk
IiwgY2FsbGJhY2tfbmFtZSk6CisgICAgICAgIGpzb24gPSByZS5zdWIociJeW0EtWmEtejAtOV9d
K1soXSIsIGNhbGxiYWNrX25hbWUgKyAiKCIsIGpzb24pCisgICAgcmV0dXJuIGpzb24KKworCiBj
bGFzcyBEZWxldGVGaWxlKHdlYmFwcC5SZXF1ZXN0SGFuZGxlcik6CiAgICAgIiIiRGVsZXRlIHRl
c3QgZmlsZSBmb3IgYSBnaXZlbiBidWlsZGVyIGFuZCBuYW1lIGZyb20gZGF0YXN0b3JlLiIiIgog
CkBAIC03Myw3ICs4MCw3IEBAIGNsYXNzIERlbGV0ZUZpbGUod2ViYXBwLlJlcXVlc3RIYW5kbGVy
KToKIGNsYXNzIEdldEZpbGUod2ViYXBwLlJlcXVlc3RIYW5kbGVyKToKICAgICAiIiJHZXQgZmls
ZSBjb250ZW50IG9yIGxpc3Qgb2YgZmlsZXMgZm9yIGdpdmVuIGJ1aWxkZXIgYW5kIG5hbWUuIiIi
CiAKLSAgICBkZWYgX2dldF9maWxlX2xpc3Qoc2VsZiwgbWFzdGVyLCBidWlsZGVyLCB0ZXN0X3R5
cGUsIG5hbWUpOgorICAgIGRlZiBfZ2V0X2ZpbGVfbGlzdChzZWxmLCBtYXN0ZXIsIGJ1aWxkZXIs
IHRlc3RfdHlwZSwgbmFtZSwgY2FsbGJhY2tfbmFtZT1Ob25lKToKICAgICAgICAgIiIiR2V0IGFu
ZCBkaXNwbGF5IGEgbGlzdCBvZiBmaWxlcyB0aGF0IG1hdGNoZXMgYnVpbGRlciBhbmQgZmlsZSBu
YW1lLgogCiAgICAgICAgIEFyZ3M6CkBAIC05OCw2ICsxMDUsMTAgQEAgY2xhc3MgR2V0RmlsZSh3
ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgogICAgICAgICAgICAgIm5hbWUiOiBuYW1lLAogICAgICAg
ICAgICAgImZpbGVzIjogZmlsZXMsCiAgICAgICAgIH0KKyAgICAgICAgaWYgY2FsbGJhY2tfbmFt
ZToKKyAgICAgICAgICAgIGpzb24gPSB0ZW1wbGF0ZS5yZW5kZXIoInRlbXBsYXRlcy9zaG93Zmls
ZWxpc3QuanNvbnAiLCB0ZW1wbGF0ZV92YWx1ZXMpCisgICAgICAgICAgICBzZWxmLl9zZXJ2ZV9q
c29uKF9yZXBsYWNlX2pzb25wX2NhbGxiYWNrKGpzb24sIGNhbGxiYWNrX25hbWUpKQorICAgICAg
ICAgICAgcmV0dXJuCiAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHRlbXBsYXRlLnJl
bmRlcigidGVtcGxhdGVzL3Nob3dmaWxlbGlzdC5odG1sIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlX3ZhbHVlcykpCiAKQEAgLTExOSw2
ICsxMzAsMTYgQEAgY2xhc3MgR2V0RmlsZSh3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgogCiAgICAg
ICAgIHJldHVybiBmaWxlc1swXS5kYXRhCiAKKyAgICBkZWYgX2dldF9maWxlX2NvbnRlbnRfZnJv
bV9rZXkoc2VsZiwga2V5KToKKyAgICAgICAgZmlsZSA9IGRiLmdldChrZXkpCisKKyAgICAgICAg
aWYgbm90IGZpbGU6CisgICAgICAgICAgICBsb2dnaW5nLmluZm8oIkZpbGUgbm90IGZvdW5kLCBr
ZXkgJXMuIiwga2V5KQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICBmaWxlLmxv
YWRfZGF0YSgpCisgICAgICAgIHJldHVybiBmaWxlLmRhdGEKKwogICAgIGRlZiBfZ2V0X3Rlc3Rf
bGlzdF9qc29uKHNlbGYsIG1hc3RlciwgYnVpbGRlciwgdGVzdF90eXBlKToKICAgICAgICAgIiIi
UmV0dXJuIGpzb24gZmlsZSB3aXRoIHRlc3QgbmFtZSBsaXN0IG9ubHksIGRvIG5vdCBpbmNsdWRl
IHRlc3QKICAgICAgICAgICAgcmVzdWx0cyBhbmQgb3RoZXIgbm9uLXRlc3QtZGF0YSAuCkBAIC0x
MzQsNyArMTU1LDE1IEBAIGNsYXNzIEdldEZpbGUod2ViYXBwLlJlcXVlc3RIYW5kbGVyKToKIAog
ICAgICAgICByZXR1cm4gSnNvblJlc3VsdHMuZ2V0X3Rlc3RfbGlzdChidWlsZGVyLCBqc29uKQog
CisgICAgZGVmIF9zZXJ2ZV9qc29uKHNlbGYsIGpzb24pOgorICAgICAgICBpZiBqc29uOgorICAg
ICAgICAgICAgc2VsZi5yZXNwb25zZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXSA9ICJhcHBsaWNh
dGlvbi9qc29uIgorICAgICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUoanNvbikKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZXJyb3IoNDA0KQorCiAgICAgZGVmIGdldChz
ZWxmKToKKyAgICAgICAga2V5ID0gc2VsZi5yZXF1ZXN0LmdldChQQVJBTV9LRVkpCiAgICAgICAg
IG1hc3RlciA9IHNlbGYucmVxdWVzdC5nZXQoUEFSQU1fTUFTVEVSKQogICAgICAgICBidWlsZGVy
ID0gc2VsZi5yZXF1ZXN0LmdldChQQVJBTV9CVUlMREVSKQogICAgICAgICB0ZXN0X3R5cGUgPSBz
ZWxmLnJlcXVlc3QuZ2V0KFBBUkFNX1RFU1RfVFlQRSkKQEAgLTE0NywyNSArMTc2LDIyIEBAIGNs
YXNzIEdldEZpbGUod2ViYXBwLlJlcXVlc3RIYW5kbGVyKToKICAgICAgICAgICAgICJHZXR0aW5n
IGZpbGVzLCBtYXN0ZXIgJXMsIGJ1aWxkZXI6ICVzLCB0ZXN0X3R5cGU6ICVzLCBuYW1lOiAlcy4i
LAogICAgICAgICAgICAgbWFzdGVyLCBidWlsZGVyLCB0ZXN0X3R5cGUsIG5hbWUpCiAKLSAgICAg
ICAgIyBJZiBwYXJhbWV0ZXIgImRpciIgaXMgc3BlY2lmaWVkIG9yIHRoZXJlIGlzIG5vIGJ1aWxk
ZXIgb3IgZmlsZW5hbWUKLSAgICAgICAgIyBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QsIHJldHVy
biBsaXN0IG9mIGZpbGVzLCBvdGhlcndpc2UsIHJldHVybgotICAgICAgICAjIGZpbGUgY29udGVu
dC4KLSAgICAgICAgaWYgZGlyIG9yIG5vdCBidWlsZGVyIG9yIG5vdCBuYW1lOgotICAgICAgICAg
ICAgcmV0dXJuIHNlbGYuX2dldF9maWxlX2xpc3QobWFzdGVyLCBidWlsZGVyLCB0ZXN0X3R5cGUs
IG5hbWUpCi0KLSAgICAgICAgaWYgbmFtZSA9PSAicmVzdWx0cy5qc29uIiBhbmQgdGVzdF9saXN0
X2pzb246CisgICAgICAgIGlmIG5vdCBrZXk6CisgICAgICAgICAgICAjIElmIHBhcmFtZXRlciAi
ZGlyIiBpcyBzcGVjaWZpZWQgb3IgdGhlcmUgaXMgbm8gYnVpbGRlciBvciBmaWxlbmFtZQorICAg
ICAgICAgICAgIyBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3QsIHJldHVybiBsaXN0IG9mIGZpbGVz
LCBvdGhlcndpc2UsIHJldHVybgorICAgICAgICAgICAgIyBmaWxlIGNvbnRlbnQuCisgICAgICAg
ICAgICBpZiBkaXIgb3Igbm90IGJ1aWxkZXIgb3Igbm90IG5hbWU6CisgICAgICAgICAgICAgICAg
cmV0dXJuIHNlbGYuX2dldF9maWxlX2xpc3QobWFzdGVyLCBidWlsZGVyLCB0ZXN0X3R5cGUsIG5h
bWUsIGNhbGxiYWNrX25hbWUpCisKKyAgICAgICAgaWYga2V5OgorICAgICAgICAgICAganNvbiA9
IHNlbGYuX2dldF9maWxlX2NvbnRlbnRfZnJvbV9rZXkoa2V5KQorICAgICAgICBlbGlmIG5hbWUg
PT0gInJlc3VsdHMuanNvbiIgYW5kIHRlc3RfbGlzdF9qc29uOgogICAgICAgICAgICAganNvbiA9
IHNlbGYuX2dldF90ZXN0X2xpc3RfanNvbihtYXN0ZXIsIGJ1aWxkZXIsIHRlc3RfdHlwZSkKICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgIGpzb24gPSBzZWxmLl9nZXRfZmlsZV9jb250ZW50KG1h
c3RlciwgYnVpbGRlciwgdGVzdF90eXBlLCBuYW1lKQogCi0gICAgICAgIGlmIGNhbGxiYWNrX25h
bWUgYW5kIHJlLnNlYXJjaChyIl5bQS1aYS16MC05X10rJCIsIGNhbGxiYWNrX25hbWUpOgotICAg
ICAgICAgICAganNvbiA9IHJlLnN1YihyIl5bQS1aYS16MC05X10rWyhdIiwgY2FsbGJhY2tfbmFt
ZSArICIoIiwganNvbikKKyAgICAgICAgc2VsZi5fc2VydmVfanNvbihfcmVwbGFjZV9qc29ucF9j
YWxsYmFjayhqc29uLCBjYWxsYmFja19uYW1lKSkKIAotICAgICAgICBpZiBqc29uOgotICAgICAg
ICAgICAgc2VsZi5yZXNwb25zZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXSA9ICJhcHBsaWNhdGlv
bi9qc29uIgotICAgICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUoanNvbikKLSAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZXJyb3IoNDA0KQogCiBjbGFzcyBVcGxvYWQod2Vi
YXBwLlJlcXVlc3RIYW5kbGVyKToKICAgICAiIiJVcGxvYWQgdGVzdCByZXN1bHRzIGZpbGUgdG8g
ZGF0YXN0b3JlLiIiIgpAQCAtMjA3LDcgKzIzMyw3IEBAIGNsYXNzIFVwbG9hZCh3ZWJhcHAuUmVx
dWVzdEhhbmRsZXIpOgogICAgICAgICAgICAgICAgICMgTWVyZ2UgaW5jcmVtZW50YWwganNvbiBy
ZXN1bHRzLgogICAgICAgICAgICAgICAgIHVwZGF0ZV9zdWNjZWVkZWQgPSBKc29uUmVzdWx0cy51
cGRhdGUobWFzdGVyLCBidWlsZGVyLCB0ZXN0X3R5cGUsIGZpbGUudmFsdWUpCiAgICAgICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgICAgIHVwZGF0ZV9zdWNjZWVkZWQgPSBUZXN0RmlsZS51cGRh
dGUoCisgICAgICAgICAgICAgICAgdXBkYXRlX3N1Y2NlZWRlZCA9IFRlc3RGaWxlLmFkZF9maWxl
KAogICAgICAgICAgICAgICAgICAgICBtYXN0ZXIsIGJ1aWxkZXIsIHRlc3RfdHlwZSwgZmlsZS5m
aWxlbmFtZSwgZmlsZS52YWx1ZSkKIAogICAgICAgICAgICAgaWYgbm90IHVwZGF0ZV9zdWNjZWVk
ZWQ6CkluZGV4OiBUb29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL3Rlc3RmaWxlLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvdGVzdGZpbGUucHkJKHJldmlz
aW9uIDkwNjUyKQorKysgVG9vbHMvVGVzdFJlc3VsdFNlcnZlci9tb2RlbC90ZXN0ZmlsZS5weQko
d29ya2luZyBjb3B5KQpAQCAtOTcsMjIgKzk3LDYgQEAgY2xhc3MgVGVzdEZpbGUoRGF0YVN0b3Jl
RmlsZSk6CiAKICAgICAgICAgcmV0dXJuIGZpbGUKIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRl
ZiB1cGRhdGUoY2xzLCBtYXN0ZXIsIGJ1aWxkZXIsIHRlc3RfdHlwZSwgbmFtZSwgZGF0YSk6Ci0g
ICAgICAgIGZpbGVzID0gY2xzLmdldF9maWxlcyhtYXN0ZXIsIGJ1aWxkZXIsIHRlc3RfdHlwZSwg
bmFtZSkKLSAgICAgICAgaWYgbm90IGZpbGVzOgotICAgICAgICAgICAgcmV0dXJuIGNscy5hZGRf
ZmlsZShtYXN0ZXIsIGJ1aWxkZXIsIHRlc3RfdHlwZSwgbmFtZSwgZGF0YSkKLQotICAgICAgICBm
aWxlID0gZmlsZXNbMF0KLSAgICAgICAgaWYgbm90IGZpbGUuc2F2ZShkYXRhKToKLSAgICAgICAg
ICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgbG9nZ2luZy5pbmZvKAotICAgICAgICAgICAgIkZp
bGUgcmVwbGFjZWQsIG1hc3RlcjogJXMsIGJ1aWxkZXI6ICVzLCB0ZXN0X3R5cGU6ICVzLCBuYW1l
OiAlcywgZGF0YSBrZXk6ICVzLiIsCi0gICAgICAgICAgICBtYXN0ZXIsIGJ1aWxkZXIsIHRlc3Rf
dHlwZSwgZmlsZS5uYW1lLCBzdHIoZmlsZS5kYXRhX2tleXMpKQotCi0gICAgICAgIHJldHVybiBm
aWxlCi0KICAgICBkZWYgc2F2ZShzZWxmLCBkYXRhKToKICAgICAgICAgaWYgbm90IHNlbGYuc2F2
ZV9kYXRhKGRhdGEpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkluZGV4OiBUb29scy9UZXN0
UmVzdWx0U2VydmVyL3RlbXBsYXRlcy9zaG93ZmlsZWxpc3QuanNvbnAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFJlc3VsdFNlcnZlci90ZW1wbGF0ZXMvc2hvd2ZpbGVsaXN0Lmpzb25wCShyZXZp
c2lvbiAwKQorKysgVG9vbHMvVGVzdFJlc3VsdFNlcnZlci90ZW1wbGF0ZXMvc2hvd2ZpbGVsaXN0
Lmpzb25wCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0NBTExCQUNLKFt7JSBmb3IgZmls
ZSBpbiBmaWxlcyAlfQorICB7ICJrZXkiOiAie3sgZmlsZS5rZXkgfX0iIH0seyUgZW5kZm9yICV9
CitdKTsK
</data>
<flag name="review"
          id="94805"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>