<?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>44117</bug_id>
          
          <creation_ts>2010-08-17 10:22:03 -0700</creation_ts>
          <short_desc>Add support for getting test name list json from test results server</short_desc>
          <delta_ts>2010-08-17 15:47:46 -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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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="Victor Wang">victorw</reporter>
          <assigned_to name="Victor Wang">victorw</assigned_to>
          <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>265623</commentid>
    <comment_count>0</comment_count>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-08-17 10:22:03 -0700</bug_when>
    <thetext>This is for incremental json update to test results server.

In order to correctly merge the incremental json with the aggregated json in test results server, the incremental json needs to contain results not only for the tests failed in current runs, but also for tests failed in previous runs. To avoid upload full test results, we need to add api to test results server to download json that only contains list of test names. No need to include non-test-list data and details of test results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265763</commentid>
    <comment_count>1</comment_count>
      <attachid>64630</attachid>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-08-17 14:15:23 -0700</bug_when>
    <thetext>Created attachment 64630
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265770</commentid>
    <comment_count>2</comment_count>
      <attachid>64630</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-08-17 14:33:41 -0700</bug_when>
    <thetext>Comment on attachment 64630
Proposed Patch

WebKitTools/ChangeLog:5
 +          Add support to test results server for downloading json that
Nit: Add support to the test results server...

WebKitTools/ChangeLog:9
 +          results so it includes results not only for tests failed in
Nit: results so that it includes...for tests that failed in...

WebKitTools/TestResultServer/model/jsonresults.py:437
 +              Json file with test name list only. The json format is the same
Nit: s/Json/JSON or s/Json/json

WebKitTools/TestResultServer/model/jsonresults.py:454
 +              &quot;tests&quot;: dict.fromkeys(tests, {&quot;results&quot;: [], &quot;times&quot;: []})}
This is a lot of bloat just for the tests list. Can &quot;tests&quot; just be tests.keys()? Does this need to be in the same format as the one stored in the datastore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265789</commentid>
    <comment_count>3</comment_count>
      <attachid>64640</attachid>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-08-17 15:09:11 -0700</bug_when>
    <thetext>Created attachment 64640
Updated per comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265797</commentid>
    <comment_count>4</comment_count>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-08-17 15:15:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 64630 [details])
&gt; WebKitTools/ChangeLog:5
&gt;  +          Add support to test results server for downloading json that
&gt; Nit: Add support to the test results server...
done

&gt; 
&gt; WebKitTools/ChangeLog:9
&gt;  +          results so it includes results not only for tests failed in
&gt; Nit: results so that it includes...for tests that failed in...
done

&gt; 
&gt; WebKitTools/TestResultServer/model/jsonresults.py:437
&gt;  +              Json file with test name list only. The json format is the same
&gt; Nit: s/Json/JSON or s/Json/json
done

&gt; 
&gt; WebKitTools/TestResultServer/model/jsonresults.py:454
&gt;  +              &quot;tests&quot;: dict.fromkeys(tests, {&quot;results&quot;: [], &quot;times&quot;: []})}
&gt; This is a lot of bloat just for the tests list. Can &quot;tests&quot; just be tests.keys()? Does this need to be in the same format as the one stored in the datastore?

not required by datastore format. I was doing this to avoid modifying the json results generator so we can share the existing logic for generating results.json. No need to have &quot;results&apos; and &quot;times&quot; if I refactor the json results generator little bit, so removed them from the update patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265811</commentid>
    <comment_count>5</comment_count>
      <attachid>64640</attachid>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-08-17 15:47:42 -0700</bug_when>
    <thetext>Comment on attachment 64640
Updated per comments

Clearing flags on attachment: 64640

Committed r65567: &lt;http://trac.webkit.org/changeset/65567&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265812</commentid>
    <comment_count>6</comment_count>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-08-17 15:47:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64630</attachid>
            <date>2010-08-17 14:15:23 -0700</date>
            <delta_ts>2010-08-17 15:09:11 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>test_list_json.patch</filename>
            <type>text/plain</type>
            <size>9870</size>
            <attacher name="Victor Wang">victorw</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY1NTQwKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDgtMTcgIFZpY3RvciBXYW5nICA8dmlj
dG9yd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgdG8gdGVzdCByZXN1bHRzIHNlcnZlciBmb3IgZG93bmxv
YWRpbmcganNvbiB0aGF0CisgICAgICAgIGNvbnRhaW5zIHRlc3QgbGlzdCBvbmx5LgorCisgICAg
ICAgIFRoaXMgaXMgZm9yIGpzb24gcmVzdWx0cyBnZW5lcmF0b3IgdG8gZ2VuZXJhdGUgaW5jcmVt
ZW50YWwganNvbgorICAgICAgICByZXN1bHRzIHNvIGl0IGluY2x1ZGVzIHJlc3VsdHMgbm90IG9u
bHkgZm9yIHRlc3RzIGZhaWxlZCBpbgorICAgICAgICBjdXJyZW50IHJ1biwgYnV0IGFsc28gdGVz
dHMgZmFpbGVkIGJlZm9yZS4KKworICAgICAgICBBbHNvIHNldCB0aGUgcmVzdWx0cyB0eXBlIHRv
ICJOIiAobm8gZGF0YSkgaW5zdGVhZCBvZiAiUCIgKHBhc3MpCisgICAgICAgIGlmIHRlc3QgcmVz
dWx0cyBjYW5ub3QgYmUgZm91bmQgaW4gaW5jcmVtZW50YWwganNvbiBmaWxlLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDExNworCisgICAgICAg
ICogVGVzdFJlc3VsdFNlcnZlci9oYW5kbGVycy90ZXN0ZmlsZWhhbmRsZXIucHk6CisgICAgICAg
ICogVGVzdFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0cy5weToKKyAgICAgICAgKiBUZXN0
UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzX3VuaXR0ZXN0LnB5OgorCiAyMDEwLTA4LTE3
ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBUZWFjaCBydW4td2Vi
a2l0LXRlc3RzLCBEdW1wUmVuZGVyVHJlZSwgYW5kIFdlYktpdFRlc3RSdW5uZXIgaG93IHRvCklu
ZGV4OiBXZWJLaXRUb29scy9UZXN0UmVzdWx0U2VydmVyL2hhbmRsZXJzL3Rlc3RmaWxlaGFuZGxl
ci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9UZXN0UmVzdWx0U2VydmVyL2hhbmRsZXJz
L3Rlc3RmaWxlaGFuZGxlci5weQkocmV2aXNpb24gNjU1MjcpCisrKyBXZWJLaXRUb29scy9UZXN0
UmVzdWx0U2VydmVyL2hhbmRsZXJzL3Rlc3RmaWxlaGFuZGxlci5weQkod29ya2luZyBjb3B5KQpA
QCAtNDMsNiArNDMsNyBAQCBQQVJBTV9OQU1FID0gIm5hbWUiCiBQQVJBTV9LRVkgPSAia2V5Igog
UEFSQU1fVEVTVF9UWVBFID0gInRlc3R0eXBlIgogUEFSQU1fSU5DUkVNRU5UQUwgPSAiaW5jcmVt
ZW50YWwiCitQQVJBTV9URVNUX0xJU1RfSlNPTiA9ICJ0ZXN0bGlzdGpzb24iCiAKIAogY2xhc3Mg
RGVsZXRlRmlsZSh3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgpAQCAtMTA5LDE2ICsxMTAsMzEgQEAg
Y2xhc3MgR2V0RmlsZSh3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgogICAgICAgICBpZiBub3QgZmls
ZXM6CiAgICAgICAgICAgICBsb2dnaW5nLmluZm8oIkZpbGUgbm90IGZvdW5kLCBidWlsZGVyOiAl
cywgdGVzdF90eXBlOiAlcywgbmFtZTogJXMuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBi
dWlsZGVyLCB0ZXN0X3R5cGUsIG5hbWUpCi0gICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAg
IHJldHVybiBOb25lCisKKyAgICAgICAgcmV0dXJuIGZpbGVzWzBdLmRhdGEKKworICAgIGRlZiBf
Z2V0X3Rlc3RfbGlzdF9qc29uKHNlbGYsIGJ1aWxkZXIsIHRlc3RfdHlwZSk6CisgICAgICAgICIi
IlJldHVybiBqc29uIGZpbGUgd2l0aCB0ZXN0IG5hbWUgbGlzdCBvbmx5LCBkbyBub3QgaW5jbHVk
ZSB0ZXN0CisgICAgICAgICAgIHJlc3VsdHMgYW5kIG90aGVyIG5vbi10ZXN0LWRhdGEgLgogCi0g
ICAgICAgIHNlbGYucmVzcG9uc2UuaGVhZGVyc1siQ29udGVudC1UeXBlIl0gPSAidGV4dC9wbGFp
bjsgY2hhcnNldD11dGYtOCIKLSAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUoZmlsZXNb
MF0uZGF0YSkKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGJ1aWxkZXI6IGJ1aWxkZXIgbmFt
ZS4KKyAgICAgICAgICAgIHRlc3RfdHlwZTogdHlwZSBvZiB0ZXN0IHJlc3VsdHMuCisgICAgICAg
ICIiIgorCisgICAgICAgIGpzb24gPSBzZWxmLl9nZXRfZmlsZV9jb250ZW50KGJ1aWxkZXIsIHRl
c3RfdHlwZSwgInJlc3VsdHMuanNvbiIpCisgICAgICAgIGlmIG5vdCBqc29uOgorICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKKworICAgICAgICByZXR1cm4gSnNvblJlc3VsdHMuZ2V0X3Rlc3RfbGlz
dChidWlsZGVyLCBqc29uKQogCiAgICAgZGVmIGdldChzZWxmKToKICAgICAgICAgYnVpbGRlciA9
IHNlbGYucmVxdWVzdC5nZXQoUEFSQU1fQlVJTERFUikKICAgICAgICAgdGVzdF90eXBlID0gc2Vs
Zi5yZXF1ZXN0LmdldChQQVJBTV9URVNUX1RZUEUpCiAgICAgICAgIG5hbWUgPSBzZWxmLnJlcXVl
c3QuZ2V0KFBBUkFNX05BTUUpCiAgICAgICAgIGRpciA9IHNlbGYucmVxdWVzdC5nZXQoUEFSQU1f
RElSKQorICAgICAgICB0ZXN0X2xpc3RfanNvbiA9IHNlbGYucmVxdWVzdC5nZXQoUEFSQU1fVEVT
VF9MSVNUX0pTT04pCiAKICAgICAgICAgbG9nZ2luZy5kZWJ1ZygKICAgICAgICAgICAgICJHZXR0
aW5nIGZpbGVzLCBidWlsZGVyOiAlcywgdGVzdF90eXBlOiAlcywgbmFtZTogJXMuIiwKQEAgLTEy
OSw4ICsxNDUsMTUgQEAgY2xhc3MgR2V0RmlsZSh3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgogICAg
ICAgICAjIGZpbGUgY29udGVudC4KICAgICAgICAgaWYgZGlyIG9yIG5vdCBidWlsZGVyIG9yIG5v
dCBuYW1lOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9maWxlX2xpc3QoYnVpbGRlciwg
dGVzdF90eXBlLCBuYW1lKQorCisgICAgICAgIGlmIG5hbWUgPT0gInJlc3VsdHMuanNvbiIgYW5k
IHRlc3RfbGlzdF9qc29uOgorICAgICAgICAgICAganNvbiA9IHNlbGYuX2dldF90ZXN0X2xpc3Rf
anNvbihidWlsZGVyLCB0ZXN0X3R5cGUpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1
cm4gc2VsZi5fZ2V0X2ZpbGVfY29udGVudChidWlsZGVyLCB0ZXN0X3R5cGUsIG5hbWUpCisgICAg
ICAgICAgICBqc29uID0gc2VsZi5fZ2V0X2ZpbGVfY29udGVudChidWlsZGVyLCB0ZXN0X3R5cGUs
IG5hbWUpCisKKyAgICAgICAgaWYganNvbjoKKyAgICAgICAgICAgIHNlbGYucmVzcG9uc2UuaGVh
ZGVyc1siQ29udGVudC1UeXBlIl0gPSAidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIKKyAgICAg
ICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKGpzb24pCiAKIAogY2xhc3MgVXBsb2FkKHdl
YmFwcC5SZXF1ZXN0SGFuZGxlcik6CkluZGV4OiBXZWJLaXRUb29scy9UZXN0UmVzdWx0U2VydmVy
L21vZGVsL2pzb25yZXN1bHRzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RSZXN1
bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHkJKHJldmlzaW9uIDY1NTI3KQorKysgV2ViS2l0
VG9vbHMvVGVzdFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0cy5weQkod29ya2luZyBjb3B5
KQpAQCAtMjIxLDcgKzIyMSw3IEBAIGNsYXNzIEpzb25SZXN1bHRzKG9iamVjdCk6CiAgICAgICAg
ICAgICAgICAgICAgIHJlc3VsdHMgPSBpbmNyZW1lbnRhbF90ZXN0W0pTT05fUkVTVUxUU19SRVNV
TFRTXQogICAgICAgICAgICAgICAgICAgICB0aW1lcyA9IGluY3JlbWVudGFsX3Rlc3RbSlNPTl9S
RVNVTFRTX1RJTUVTXQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAg
IHJlc3VsdHMgPSBbWzEsIEpTT05fUkVTVUxUU19QQVNTXV0KKyAgICAgICAgICAgICAgICAgICAg
cmVzdWx0cyA9IFtbMSwgSlNPTl9SRVNVTFRTX05PX0RBVEFdXQogICAgICAgICAgICAgICAgICAg
ICB0aW1lcyA9IFtbMSwgMF1dCiAKICAgICAgICAgICAgICAgICBjbHMuX2luc2VydF9pdGVtX3J1
bl9sZW5ndGhfZW5jb2RlZCgKQEAgLTQyNCwzICs0MjQsMzMgQEAgY2xhc3MgSnNvblJlc3VsdHMo
b2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiBOb25lCiAKICAgICAgICAgcmV0dXJuIGZpbGUK
KworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBnZXRfdGVzdF9saXN0KGNscywgYnVpbGRlciwg
anNvbl9maWxlX2RhdGEpOgorICAgICAgICAiIiJHZXQgbGlzdCBvZiB0ZXN0IG5hbWVzIGZyb20g
YWdncmVnYXRlZCBqc29uIGZpbGUgZGF0YS4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAg
anNvbl9maWxlX2RhdGE6IGpzb24gZmlsZSBkYXRhIHRoYXQgaGFzIGFsbCB0ZXN0LWRhdGEgYW5k
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uLXRlc3QtZGF0YS4KKworICAgICAgICBS
ZXR1cm5zOgorICAgICAgICAgICAgSnNvbiBmaWxlIHdpdGggdGVzdCBuYW1lIGxpc3Qgb25seS4g
VGhlIGpzb24gZm9ybWF0IGlzIHRoZSBzYW1lCisgICAgICAgICAgICBhcyB0aGUgb25lIHNhdmVk
IGluIGRhdGFzdG9yZSwgYnV0IGFsbCBub24tdGVzdC1kYXRhIGFuZCB0ZXN0IGRldGFpbAorICAg
ICAgICAgICAgcmVzdWx0cyBhcmUgcmVtb3ZlZC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgbG9n
Z2luZy5kZWJ1ZygiTG9hZGluZyB0ZXN0IHJlc3VsdHMganNvbi4uLiIpCisgICAgICAgIGpzb24g
PSBjbHMuX2xvYWRfanNvbihqc29uX2ZpbGVfZGF0YSkKKyAgICAgICAgaWYgbm90IGpzb246Cisg
ICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIGxvZ2dpbmcuZGVidWcoIkNoZWNraW5n
IHRlc3QgcmVzdWx0cyBqc29uLi4uIikKKyAgICAgICAgaWYgbm90IGNscy5fY2hlY2tfanNvbihi
dWlsZGVyLCBqc29uKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgdGVzdF9s
aXN0X2pzb24gPSB7fQorICAgICAgICB0ZXN0cyA9IGpzb25bYnVpbGRlcl1bSlNPTl9SRVNVTFRT
X1RFU1RTXQorICAgICAgICB0ZXN0X2xpc3RfanNvbltidWlsZGVyXSA9IHsKKyAgICAgICAgICAg
ICJ0ZXN0cyI6IGRpY3QuZnJvbWtleXModGVzdHMsIHsicmVzdWx0cyI6IFtdLCAidGltZXMiOiBb
XX0pfQorCisgICAgICAgIHJldHVybiBjbHMuX2dlbmVyYXRlX2ZpbGVfZGF0YSh0ZXN0X2xpc3Rf
anNvbikKSW5kZXg6IFdlYktpdFRvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3Vs
dHNfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvVGVzdFJlc3VsdFNlcnZl
ci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weQkocmV2aXNpb24gNjU1MjcpCisrKyBXZWJL
aXRUb29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzX3VuaXR0ZXN0LnB5CSh3
b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2Niw5IEBAIEpTT05fUkVTVUxUU19URVNUU19URU1QTEFU
RSA9ICgKIEpTT05fUkVTVUxUU19QUkVGSVggPSAiQUREX1JFU1VMVFMoIgogSlNPTl9SRVNVTFRT
X1NVRkZJWCA9ICIpOyIKIAorSlNPTl9SRVNVTFRTX1RFU1RfTElTVF9URU1QTEFURSA9ICgKKyAg
ICAneyJXZWJraXQiOnsidGVzdHMiOntbVEVTVERBVEFfVEVTVFNdfX19JykKKwogCiBjbGFzcyBK
c29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToK
QEAgLTEyMyw2ICsxMjYsMjUgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtZXJnZWRf
cmVzdWx0cykKIAorICAgIGRlZiBfdGVzdF9nZXRfdGVzdF9saXN0KHNlbGYsIGlucHV0X2RhdGEs
IGV4cGVjdGVkX2RhdGEpOgorICAgICAgICBpbnB1dF9yZXN1bHRzID0gc2VsZi5fbWFrZV90ZXN0
X2pzb24oaW5wdXRfZGF0YSkKKworICAgICAgICBqc29uX3Rlc3RzID0gW10KKyAgICAgICAgZm9y
IHRlc3QgaW4gZXhwZWN0ZWRfZGF0YToKKyAgICAgICAgICAgIHRlc3RfcmVzdWx0cyA9IEpTT05f
UkVTVUxUU19URVNUU19URU1QTEFURS5yZXBsYWNlKAorICAgICAgICAgICAgICAgICJbVEVTVERB
VEFfVEVTVF9OQU1FXSIsIHRlc3QpCisgICAgICAgICAgICB0ZXN0X3Jlc3VsdHMgPSB0ZXN0X3Jl
c3VsdHMucmVwbGFjZSgiW1RFU1REQVRBX1RFU1RfUkVTVUxUU10iLCAiIikKKyAgICAgICAgICAg
IHRlc3RfcmVzdWx0cyA9IHRlc3RfcmVzdWx0cy5yZXBsYWNlKCJbVEVTVERBVEFfVEVTVF9USU1F
U10iLCAiIikKKyAgICAgICAgICAgIGpzb25fdGVzdHMuYXBwZW5kKHRlc3RfcmVzdWx0cykKKwor
ICAgICAgICBleHBlY3RlZF9yZXN1bHRzID0gSlNPTl9SRVNVTFRTX1BSRUZJWCArIFwKKyAgICAg
ICAgICAgIEpTT05fUkVTVUxUU19URVNUX0xJU1RfVEVNUExBVEUucmVwbGFjZSgKKyAgICAgICAg
ICAgICAgICAiW1RFU1REQVRBX1RFU1RTXSIsICIsIi5qb2luKGpzb25fdGVzdHMpKSArIFwKKyAg
ICAgICAgICAgIEpTT05fUkVTVUxUU19TVUZGSVgKKworICAgICAgICBhY3R1YWxfcmVzdWx0cyA9
IEpzb25SZXN1bHRzLmdldF90ZXN0X2xpc3Qoc2VsZi5fYnVpbGRlciwgaW5wdXRfcmVzdWx0cykK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYWN0dWFsX3Jlc3VsdHMsIGV4cGVjdGVkX3Jlc3Vs
dHMpCisKICAgICBkZWYgdGVzdChzZWxmKToKICAgICAgICAgIyBFbXB0eSBpbmNyZW1lbnRhbCBy
ZXN1bHRzIGpzb24uCiAgICAgICAgICMgTm90aGluZyB0byBtZXJnZS4KQEAgLTIwNyw3ICsyMjks
NyBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAgICAg
ICAjIEluY3JlbWVudGFsIHJlc3VsdHMKICAgICAgICAgICAgIChbIjMiXSwgW1siMDAyLmh0bWwi
LCAiWzEsXCJJXCJdIiwgIlsxLDFdIl1dKSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0
cwotICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJQXCJd
LFsyMDAsXCJGXCJdIiwgIlsyMDEsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAxLFwiSVwiXSIsICJb
MTAxLDFdIl1dKSkKKyAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwg
IlsxLFwiTlwiXSxbMjAwLFwiRlwiXSIsICJbMjAxLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEwMSxc
IklcIl0iLCAiWzEwMSwxXSJdXSkpCiAKICAgICAgICAgIyBTaW5nbGUgdGVzdCBmb3IgbXVsdGlw
bGUgcnVucy4KICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKQEAgLTI1OCwyMyArMjgwLDIzIEBA
IGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSkKICAgICAgICAgICAgICMg
RXhwZWN0ZWQgcmVzdWx0cwogICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAyLmh0
bWwiLCAiWzEsXCJQXCJdLFsxMCxcIkZcIl0iLCAiWzExLDBdIl1dKSkKIAotICAgICAgICAjIFJl
bW92ZSB0ZXN0IHdoZXJlIGFsbCBydW4gcGFzcyBhbmQgbWF4IHJ1bm5pbmcgdGltZSA8PSAxIHNl
Y29uZHMKKyAgICAgICAgIyBSZW1vdmUgdGVzdCB3aGVyZSBhbGwgcnVuIHBhc3MgYW5kIG1heCBy
dW5uaW5nIHRpbWUgPCAxIHNlY29uZHMKICAgICAgICAgc2VsZi5fdGVzdF9tZXJnZSgKICAgICAg
ICAgICAgICMgQWdncmVnYXRlZCByZXN1bHRzCiAgICAgICAgICAgICAoWyIyIiwgIjEiXSwgW1si
MDAxLmh0bWwiLCAiWzIwMCxcIlBcIl0iLCAiWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwgIlsxMCxc
IkZcIl0iLCAiWzEwLDBdIl1dKSwKICAgICAgICAgICAgICMgSW5jcmVtZW50YWwgcmVzdWx0cwot
ICAgICAgICAgICAgKFsiMyJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIlBcIl0iLCAiWzEsMV0iXSwg
WyIwMDIuaHRtbCIsICJbMSxcIlBcIl0iLCAiWzEsMF0iXV0pLAorICAgICAgICAgICAgKFsiMyJd
LCBbWyIwMDEuaHRtbCIsICJbMSxcIlBcIl0iLCAiWzEsMF0iXSwgWyIwMDIuaHRtbCIsICJbMSxc
IlBcIl0iLCAiWzEsMF0iXV0pLAogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCiAgICAg
ICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDIuaHRtbCIsICJbMSxcIlBcIl0sWzEwLFwi
RlwiXSIsICJbMTEsMF0iXV0pKQogCi0gICAgICAgICMgRG8gbm90IHJlbW92ZSB0ZXN0IHdoZXJl
IGFsbCBydW4gcGFzcyBidXQgbWF4IHJ1bm5pbmcgdGltZSA+IDEgc2Vjb25kcworICAgICAgICAj
IERvIG5vdCByZW1vdmUgdGVzdCB3aGVyZSBhbGwgcnVuIHBhc3MgYnV0IG1heCBydW5uaW5nIHRp
bWUgPj0gMSBzZWNvbmRzCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCiAgICAgICAgICAgICAj
IEFnZ3JlZ2F0ZWQgcmVzdWx0cwogICAgICAgICAgICAgKFsiMiIsICIxIl0sIFtbIjAwMS5odG1s
IiwgIlsyMDAsXCJQXCJdIiwgIlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAsXCJGXCJdIiwg
IlsxMCwwXSJdXSksCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJlc3VsdHMKLSAgICAgICAg
ICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDJdIl0sIFsiMDAyLmh0
bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDBdIl1dKSwKKyAgICAgICAgICAgIChbIjMiXSwgW1siMDAx
Lmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDFdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJQXCJdIiwg
IlsxLDBdIl1dKSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0cwotICAgICAgICAgICAg
KFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIwMSxcIlBcIl0iLCAiWzEsMl0sWzIw
MCwwXSJdLCBbIjAwMi5odG1sIiwgIlsxLFwiUFwiXSxbMTAsXCJGXCJdIiwgIlsxMSwwXSJdXSkp
CisgICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMjAxLFwiUFwi
XSIsICJbMSwxXSxbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJQXCJdLFsxMCxcIkZcIl0i
LCAiWzExLDBdIl1dKSkKIAogICAgICAgICAjIFJlbW92ZSBpdGVtcyBmcm9tIHRlc3QgcmVzdWx0
cyBhbmQgdGltZXMgdGhhdCBleGNlZWRzIHRoZSBtYXggbnVtYmVyCiAgICAgICAgICMgb2YgYnVp
bGRzIHRvIHRyYWNrLgpAQCAtMjg3LDUgKzMwOSwxMyBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKICAgICAg
ICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiVFwiXSxbIiArIG1h
eF9idWlsZHMgKyAiLFwiRlwiXSIsICJbMSwxXSxbIiArIG1heF9idWlsZHMgKyAiLDBdIl1dKSkK
IAorICAgICAgICAjIEdldCB0ZXN0IG5hbWUgbGlzdCBvbmx5LiBEb24ndCBpbmNsdWRlIG5vbi10
ZXN0LWxpc3QgZGF0YSBhbmQKKyAgICAgICAgIyBvZiB0ZXN0IHJlc3VsdCBkZXRhaWxzLgorICAg
ICAgICBzZWxmLl90ZXN0X2dldF90ZXN0X2xpc3QoCisgICAgICAgICAgICAjIElucHV0IHJlc3Vs
dHMKKyAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJQ
XCJdIiwgIlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMTAsXCJGXCJdIiwgIlsxMCwwXSJdXSks
CisgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKKyAgICAgICAgICAgIFsiMDAxLmh0bWwi
LCAiMDAyLmh0bWwiXSkKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVz
dC5tYWluKCkK
</data>
<flag name="review"
          id="53236"
          type_id="1"
          status="-"
          setter="ojan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64640</attachid>
            <date>2010-08-17 15:09:11 -0700</date>
            <delta_ts>2010-08-17 15:47:42 -0700</delta_ts>
            <desc>Updated per comments</desc>
            <filename>test_list_json.patch</filename>
            <type>text/plain</type>
            <size>9592</size>
            <attacher name="Victor Wang">victorw</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY1NTQwKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDgtMTcgIFZpY3RvciBXYW5nICA8dmlj
dG9yd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgdG8gdGhlIHRlc3QgcmVzdWx0cyBzZXJ2ZXIgZm9yIGRv
d25sb2FkaW5nIGpzb24gdGhhdAorICAgICAgICBjb250YWlucyB0ZXN0IGxpc3Qgb25seS4KKwor
ICAgICAgICBUaGlzIGlzIGZvciBqc29uIHJlc3VsdHMgZ2VuZXJhdG9yIHRvIGdlbmVyYXRlIGlu
Y3JlbWVudGFsIGpzb24KKyAgICAgICAgcmVzdWx0cyBzbyB0aGF0IGl0IGluY2x1ZGVzIHJlc3Vs
dHMgbm90IG9ubHkgZm9yIHRlc3RzIGZhaWxlZCBpbgorICAgICAgICBjdXJyZW50IHJ1biwgYnV0
IGFsc28gdGVzdHMgZmFpbGVkIGJlZm9yZS4KKworICAgICAgICBBbHNvIHNldCB0aGUgcmVzdWx0
cyB0eXBlIHRvICJOIiAobm8gZGF0YSkgaW5zdGVhZCBvZiAiUCIgKHBhc3MpCisgICAgICAgIGlm
IHRlc3QgcmVzdWx0cyBjYW5ub3QgYmUgZm91bmQgaW4gaW5jcmVtZW50YWwganNvbiBmaWxlLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDExNwor
CisgICAgICAgICogVGVzdFJlc3VsdFNlcnZlci9oYW5kbGVycy90ZXN0ZmlsZWhhbmRsZXIucHk6
CisgICAgICAgICogVGVzdFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0cy5weToKKyAgICAg
ICAgKiBUZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzX3VuaXR0ZXN0LnB5OgorCiAy
MDEwLTA4LTE3ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBUZWFj
aCBydW4td2Via2l0LXRlc3RzLCBEdW1wUmVuZGVyVHJlZSwgYW5kIFdlYktpdFRlc3RSdW5uZXIg
aG93IHRvCkluZGV4OiBXZWJLaXRUb29scy9UZXN0UmVzdWx0U2VydmVyL2hhbmRsZXJzL3Rlc3Rm
aWxlaGFuZGxlci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9UZXN0UmVzdWx0U2VydmVy
L2hhbmRsZXJzL3Rlc3RmaWxlaGFuZGxlci5weQkocmV2aXNpb24gNjU1MjcpCisrKyBXZWJLaXRU
b29scy9UZXN0UmVzdWx0U2VydmVyL2hhbmRsZXJzL3Rlc3RmaWxlaGFuZGxlci5weQkod29ya2lu
ZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBQQVJBTV9OQU1FID0gIm5hbWUiCiBQQVJBTV9LRVkg
PSAia2V5IgogUEFSQU1fVEVTVF9UWVBFID0gInRlc3R0eXBlIgogUEFSQU1fSU5DUkVNRU5UQUwg
PSAiaW5jcmVtZW50YWwiCitQQVJBTV9URVNUX0xJU1RfSlNPTiA9ICJ0ZXN0bGlzdGpzb24iCiAK
IAogY2xhc3MgRGVsZXRlRmlsZSh3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgpAQCAtMTA5LDE2ICsx
MTAsMzEgQEAgY2xhc3MgR2V0RmlsZSh3ZWJhcHAuUmVxdWVzdEhhbmRsZXIpOgogICAgICAgICBp
ZiBub3QgZmlsZXM6CiAgICAgICAgICAgICBsb2dnaW5nLmluZm8oIkZpbGUgbm90IGZvdW5kLCBi
dWlsZGVyOiAlcywgdGVzdF90eXBlOiAlcywgbmFtZTogJXMuIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICBidWlsZGVyLCB0ZXN0X3R5cGUsIG5hbWUpCi0gICAgICAgICAgICByZXR1cm4KKyAg
ICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgcmV0dXJuIGZpbGVzWzBdLmRhdGEKKwor
ICAgIGRlZiBfZ2V0X3Rlc3RfbGlzdF9qc29uKHNlbGYsIGJ1aWxkZXIsIHRlc3RfdHlwZSk6Cisg
ICAgICAgICIiIlJldHVybiBqc29uIGZpbGUgd2l0aCB0ZXN0IG5hbWUgbGlzdCBvbmx5LCBkbyBu
b3QgaW5jbHVkZSB0ZXN0CisgICAgICAgICAgIHJlc3VsdHMgYW5kIG90aGVyIG5vbi10ZXN0LWRh
dGEgLgogCi0gICAgICAgIHNlbGYucmVzcG9uc2UuaGVhZGVyc1siQ29udGVudC1UeXBlIl0gPSAi
dGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIKLSAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3Jp
dGUoZmlsZXNbMF0uZGF0YSkKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGJ1aWxkZXI6IGJ1
aWxkZXIgbmFtZS4KKyAgICAgICAgICAgIHRlc3RfdHlwZTogdHlwZSBvZiB0ZXN0IHJlc3VsdHMu
CisgICAgICAgICIiIgorCisgICAgICAgIGpzb24gPSBzZWxmLl9nZXRfZmlsZV9jb250ZW50KGJ1
aWxkZXIsIHRlc3RfdHlwZSwgInJlc3VsdHMuanNvbiIpCisgICAgICAgIGlmIG5vdCBqc29uOgor
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICByZXR1cm4gSnNvblJlc3VsdHMuZ2V0
X3Rlc3RfbGlzdChidWlsZGVyLCBqc29uKQogCiAgICAgZGVmIGdldChzZWxmKToKICAgICAgICAg
YnVpbGRlciA9IHNlbGYucmVxdWVzdC5nZXQoUEFSQU1fQlVJTERFUikKICAgICAgICAgdGVzdF90
eXBlID0gc2VsZi5yZXF1ZXN0LmdldChQQVJBTV9URVNUX1RZUEUpCiAgICAgICAgIG5hbWUgPSBz
ZWxmLnJlcXVlc3QuZ2V0KFBBUkFNX05BTUUpCiAgICAgICAgIGRpciA9IHNlbGYucmVxdWVzdC5n
ZXQoUEFSQU1fRElSKQorICAgICAgICB0ZXN0X2xpc3RfanNvbiA9IHNlbGYucmVxdWVzdC5nZXQo
UEFSQU1fVEVTVF9MSVNUX0pTT04pCiAKICAgICAgICAgbG9nZ2luZy5kZWJ1ZygKICAgICAgICAg
ICAgICJHZXR0aW5nIGZpbGVzLCBidWlsZGVyOiAlcywgdGVzdF90eXBlOiAlcywgbmFtZTogJXMu
IiwKQEAgLTEyOSw4ICsxNDUsMTUgQEAgY2xhc3MgR2V0RmlsZSh3ZWJhcHAuUmVxdWVzdEhhbmRs
ZXIpOgogICAgICAgICAjIGZpbGUgY29udGVudC4KICAgICAgICAgaWYgZGlyIG9yIG5vdCBidWls
ZGVyIG9yIG5vdCBuYW1lOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9maWxlX2xpc3Qo
YnVpbGRlciwgdGVzdF90eXBlLCBuYW1lKQorCisgICAgICAgIGlmIG5hbWUgPT0gInJlc3VsdHMu
anNvbiIgYW5kIHRlc3RfbGlzdF9qc29uOgorICAgICAgICAgICAganNvbiA9IHNlbGYuX2dldF90
ZXN0X2xpc3RfanNvbihidWlsZGVyLCB0ZXN0X3R5cGUpCiAgICAgICAgIGVsc2U6Ci0gICAgICAg
ICAgICByZXR1cm4gc2VsZi5fZ2V0X2ZpbGVfY29udGVudChidWlsZGVyLCB0ZXN0X3R5cGUsIG5h
bWUpCisgICAgICAgICAgICBqc29uID0gc2VsZi5fZ2V0X2ZpbGVfY29udGVudChidWlsZGVyLCB0
ZXN0X3R5cGUsIG5hbWUpCisKKyAgICAgICAgaWYganNvbjoKKyAgICAgICAgICAgIHNlbGYucmVz
cG9uc2UuaGVhZGVyc1siQ29udGVudC1UeXBlIl0gPSAidGV4dC9wbGFpbjsgY2hhcnNldD11dGYt
OCIKKyAgICAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKGpzb24pCiAKIAogY2xhc3Mg
VXBsb2FkKHdlYmFwcC5SZXF1ZXN0SGFuZGxlcik6CkluZGV4OiBXZWJLaXRUb29scy9UZXN0UmVz
dWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3VsdHMucHkJKHJldmlzaW9uIDY1NTI3KQor
KysgV2ViS2l0VG9vbHMvVGVzdFJlc3VsdFNlcnZlci9tb2RlbC9qc29ucmVzdWx0cy5weQkod29y
a2luZyBjb3B5KQpAQCAtMjIxLDcgKzIyMSw3IEBAIGNsYXNzIEpzb25SZXN1bHRzKG9iamVjdCk6
CiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHMgPSBpbmNyZW1lbnRhbF90ZXN0W0pTT05fUkVT
VUxUU19SRVNVTFRTXQogICAgICAgICAgICAgICAgICAgICB0aW1lcyA9IGluY3JlbWVudGFsX3Rl
c3RbSlNPTl9SRVNVTFRTX1RJTUVTXQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICAgICAgICAgIHJlc3VsdHMgPSBbWzEsIEpTT05fUkVTVUxUU19QQVNTXV0KKyAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0cyA9IFtbMSwgSlNPTl9SRVNVTFRTX05PX0RBVEFdXQogICAgICAgICAg
ICAgICAgICAgICB0aW1lcyA9IFtbMSwgMF1dCiAKICAgICAgICAgICAgICAgICBjbHMuX2luc2Vy
dF9pdGVtX3J1bl9sZW5ndGhfZW5jb2RlZCgKQEAgLTQyNCwzICs0MjQsMzMgQEAgY2xhc3MgSnNv
blJlc3VsdHMob2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiBOb25lCiAKICAgICAgICAgcmV0
dXJuIGZpbGUKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBnZXRfdGVzdF9saXN0KGNscywg
YnVpbGRlciwganNvbl9maWxlX2RhdGEpOgorICAgICAgICAiIiJHZXQgbGlzdCBvZiB0ZXN0IG5h
bWVzIGZyb20gYWdncmVnYXRlZCBqc29uIGZpbGUgZGF0YS4KKworICAgICAgICBBcmdzOgorICAg
ICAgICAgICAganNvbl9maWxlX2RhdGE6IGpzb24gZmlsZSBkYXRhIHRoYXQgaGFzIGFsbCB0ZXN0
LWRhdGEgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uLXRlc3QtZGF0YS4KKwor
ICAgICAgICBSZXR1cm5zOgorICAgICAgICAgICAganNvbiBmaWxlIHdpdGggdGVzdCBuYW1lIGxp
c3Qgb25seS4gVGhlIGpzb24gZm9ybWF0IGlzIHRoZSBzYW1lCisgICAgICAgICAgICBhcyB0aGUg
b25lIHNhdmVkIGluIGRhdGFzdG9yZSwgYnV0IGFsbCBub24tdGVzdC1kYXRhIGFuZCB0ZXN0IGRl
dGFpbAorICAgICAgICAgICAgcmVzdWx0cyBhcmUgcmVtb3ZlZC4KKyAgICAgICAgIiIiCisKKyAg
ICAgICAgbG9nZ2luZy5kZWJ1ZygiTG9hZGluZyB0ZXN0IHJlc3VsdHMganNvbi4uLiIpCisgICAg
ICAgIGpzb24gPSBjbHMuX2xvYWRfanNvbihqc29uX2ZpbGVfZGF0YSkKKyAgICAgICAgaWYgbm90
IGpzb246CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIGxvZ2dpbmcuZGVidWco
IkNoZWNraW5nIHRlc3QgcmVzdWx0cyBqc29uLi4uIikKKyAgICAgICAgaWYgbm90IGNscy5fY2hl
Y2tfanNvbihidWlsZGVyLCBqc29uKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAg
ICAgdGVzdF9saXN0X2pzb24gPSB7fQorICAgICAgICB0ZXN0cyA9IGpzb25bYnVpbGRlcl1bSlNP
Tl9SRVNVTFRTX1RFU1RTXQorICAgICAgICB0ZXN0X2xpc3RfanNvbltidWlsZGVyXSA9IHsKKyAg
ICAgICAgICAgICJ0ZXN0cyI6IGRpY3QuZnJvbWtleXModGVzdHMsIHt9KX0KKworICAgICAgICBy
ZXR1cm4gY2xzLl9nZW5lcmF0ZV9maWxlX2RhdGEodGVzdF9saXN0X2pzb24pCkluZGV4OiBXZWJL
aXRUb29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2pzb25yZXN1bHRzX3VuaXR0ZXN0LnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RSZXN1bHRTZXJ2ZXIvbW9kZWwvanNvbnJlc3Vs
dHNfdW5pdHRlc3QucHkJKHJldmlzaW9uIDY1NTI3KQorKysgV2ViS2l0VG9vbHMvVGVzdFJlc3Vs
dFNlcnZlci9tb2RlbC9qc29ucmVzdWx0c191bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAt
NjYsNiArNjYsOSBAQCBKU09OX1JFU1VMVFNfVEVTVFNfVEVNUExBVEUgPSAoCiBKU09OX1JFU1VM
VFNfUFJFRklYID0gIkFERF9SRVNVTFRTKCIKIEpTT05fUkVTVUxUU19TVUZGSVggPSAiKTsiCiAK
K0pTT05fUkVTVUxUU19URVNUX0xJU1RfVEVNUExBVEUgPSAoCisgICAgJ3siV2Via2l0Ijp7InRl
c3RzIjp7W1RFU1REQVRBX1RFU1RTXX19fScpCisKIAogY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CkBAIC0xMjMsNiArMTI2LDIx
IEBAIGNsYXNzIEpzb25SZXN1bHRzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSkKICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWVyZ2VkX3Jlc3VsdHMpCiAKKyAgICBk
ZWYgX3Rlc3RfZ2V0X3Rlc3RfbGlzdChzZWxmLCBpbnB1dF9kYXRhLCBleHBlY3RlZF9kYXRhKToK
KyAgICAgICAgaW5wdXRfcmVzdWx0cyA9IHNlbGYuX21ha2VfdGVzdF9qc29uKGlucHV0X2RhdGEp
CisKKyAgICAgICAganNvbl90ZXN0cyA9IFtdCisgICAgICAgIGZvciB0ZXN0IGluIGV4cGVjdGVk
X2RhdGE6CisgICAgICAgICAgICBqc29uX3Rlc3RzLmFwcGVuZCgiXCIiICsgdGVzdCArICJcIjp7
fSIpCisKKyAgICAgICAgZXhwZWN0ZWRfcmVzdWx0cyA9IEpTT05fUkVTVUxUU19QUkVGSVggKyBc
CisgICAgICAgICAgICBKU09OX1JFU1VMVFNfVEVTVF9MSVNUX1RFTVBMQVRFLnJlcGxhY2UoCisg
ICAgICAgICAgICAgICAgIltURVNUREFUQV9URVNUU10iLCAiLCIuam9pbihqc29uX3Rlc3RzKSkg
KyBcCisgICAgICAgICAgICBKU09OX1JFU1VMVFNfU1VGRklYCisKKyAgICAgICAgYWN0dWFsX3Jl
c3VsdHMgPSBKc29uUmVzdWx0cy5nZXRfdGVzdF9saXN0KHNlbGYuX2J1aWxkZXIsIGlucHV0X3Jl
c3VsdHMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGFjdHVhbF9yZXN1bHRzLCBleHBlY3Rl
ZF9yZXN1bHRzKQorCiAgICAgZGVmIHRlc3Qoc2VsZik6CiAgICAgICAgICMgRW1wdHkgaW5jcmVt
ZW50YWwgcmVzdWx0cyBqc29uLgogICAgICAgICAjIE5vdGhpbmcgdG8gbWVyZ2UuCkBAIC0yMDcs
NyArMjI1LDcgQEAgY2xhc3MgSnNvblJlc3VsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKQogICAg
ICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCiAgICAgICAgICAgICAoWyIzIl0sIFtbIjAw
Mi5odG1sIiwgIlsxLFwiSVwiXSIsICJbMSwxXSJdXSksCiAgICAgICAgICAgICAjIEV4cGVjdGVk
IHJlc3VsdHMKLSAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsx
LFwiUFwiXSxbMjAwLFwiRlwiXSIsICJbMjAxLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEwMSxcIklc
Il0iLCAiWzEwMSwxXSJdXSkpCisgICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEu
aHRtbCIsICJbMSxcIk5cIl0sWzIwMCxcIkZcIl0iLCAiWzIwMSwwXSJdLCBbIjAwMi5odG1sIiwg
IlsxMDEsXCJJXCJdIiwgIlsxMDEsMV0iXV0pKQogCiAgICAgICAgICMgU2luZ2xlIHRlc3QgZm9y
IG11bHRpcGxlIHJ1bnMuCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2UoCkBAIC0yNTgsMjMgKzI3
NiwyMyBAQCBjbGFzcyBKc29uUmVzdWx0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAg
ICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKICAgICAgICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtb
IjAwMi5odG1sIiwgIlsxLFwiUFwiXSxbMTAsXCJGXCJdIiwgIlsxMSwwXSJdXSkpCiAKLSAgICAg
ICAgIyBSZW1vdmUgdGVzdCB3aGVyZSBhbGwgcnVuIHBhc3MgYW5kIG1heCBydW5uaW5nIHRpbWUg
PD0gMSBzZWNvbmRzCisgICAgICAgICMgUmVtb3ZlIHRlc3Qgd2hlcmUgYWxsIHJ1biBwYXNzIGFu
ZCBtYXggcnVubmluZyB0aW1lIDwgMSBzZWNvbmRzCiAgICAgICAgIHNlbGYuX3Rlc3RfbWVyZ2Uo
CiAgICAgICAgICAgICAjIEFnZ3JlZ2F0ZWQgcmVzdWx0cwogICAgICAgICAgICAgKFsiMiIsICIx
Il0sIFtbIjAwMS5odG1sIiwgIlsyMDAsXCJQXCJdIiwgIlsyMDAsMF0iXSwgWyIwMDIuaHRtbCIs
ICJbMTAsXCJGXCJdIiwgIlsxMCwwXSJdXSksCiAgICAgICAgICAgICAjIEluY3JlbWVudGFsIHJl
c3VsdHMKLSAgICAgICAgICAgIChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsx
LDFdIl0sIFsiMDAyLmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDBdIl1dKSwKKyAgICAgICAgICAg
IChbIjMiXSwgW1siMDAxLmh0bWwiLCAiWzEsXCJQXCJdIiwgIlsxLDBdIl0sIFsiMDAyLmh0bWwi
LCAiWzEsXCJQXCJdIiwgIlsxLDBdIl1dKSwKICAgICAgICAgICAgICMgRXhwZWN0ZWQgcmVzdWx0
cwogICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAyLmh0bWwiLCAiWzEsXCJQXCJd
LFsxMCxcIkZcIl0iLCAiWzExLDBdIl1dKSkKIAotICAgICAgICAjIERvIG5vdCByZW1vdmUgdGVz
dCB3aGVyZSBhbGwgcnVuIHBhc3MgYnV0IG1heCBydW5uaW5nIHRpbWUgPiAxIHNlY29uZHMKKyAg
ICAgICAgIyBEbyBub3QgcmVtb3ZlIHRlc3Qgd2hlcmUgYWxsIHJ1biBwYXNzIGJ1dCBtYXggcnVu
bmluZyB0aW1lID49IDEgc2Vjb25kcwogICAgICAgICBzZWxmLl90ZXN0X21lcmdlKAogICAgICAg
ICAgICAgIyBBZ2dyZWdhdGVkIHJlc3VsdHMKICAgICAgICAgICAgIChbIjIiLCAiMSJdLCBbWyIw
MDEuaHRtbCIsICJbMjAwLFwiUFwiXSIsICJbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEwLFwi
RlwiXSIsICJbMTAsMF0iXV0pLAogICAgICAgICAgICAgIyBJbmNyZW1lbnRhbCByZXN1bHRzCi0g
ICAgICAgICAgICAoWyIzIl0sIFtbIjAwMS5odG1sIiwgIlsxLFwiUFwiXSIsICJbMSwyXSJdLCBb
IjAwMi5odG1sIiwgIlsxLFwiUFwiXSIsICJbMSwwXSJdXSksCisgICAgICAgICAgICAoWyIzIl0s
IFtbIjAwMS5odG1sIiwgIlsxLFwiUFwiXSIsICJbMSwxXSJdLCBbIjAwMi5odG1sIiwgIlsxLFwi
UFwiXSIsICJbMSwwXSJdXSksCiAgICAgICAgICAgICAjIEV4cGVjdGVkIHJlc3VsdHMKLSAgICAg
ICAgICAgIChbIjMiLCAiMiIsICIxIl0sIFtbIjAwMS5odG1sIiwgIlsyMDEsXCJQXCJdIiwgIlsx
LDJdLFsyMDAsMF0iXSwgWyIwMDIuaHRtbCIsICJbMSxcIlBcIl0sWzEwLFwiRlwiXSIsICJbMTEs
MF0iXV0pKQorICAgICAgICAgICAgKFsiMyIsICIyIiwgIjEiXSwgW1siMDAxLmh0bWwiLCAiWzIw
MSxcIlBcIl0iLCAiWzEsMV0sWzIwMCwwXSJdLCBbIjAwMi5odG1sIiwgIlsxLFwiUFwiXSxbMTAs
XCJGXCJdIiwgIlsxMSwwXSJdXSkpCiAKICAgICAgICAgIyBSZW1vdmUgaXRlbXMgZnJvbSB0ZXN0
IHJlc3VsdHMgYW5kIHRpbWVzIHRoYXQgZXhjZWVkcyB0aGUgbWF4IG51bWJlcgogICAgICAgICAj
IG9mIGJ1aWxkcyB0byB0cmFjay4KQEAgLTI4Nyw1ICszMDUsMTMgQEAgY2xhc3MgSnNvblJlc3Vs
dHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKQogICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRz
CiAgICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJbMSxcIlRcIl0s
WyIgKyBtYXhfYnVpbGRzICsgIixcIkZcIl0iLCAiWzEsMV0sWyIgKyBtYXhfYnVpbGRzICsgIiww
XSJdXSkpCiAKKyAgICAgICAgIyBHZXQgdGVzdCBuYW1lIGxpc3Qgb25seS4gRG9uJ3QgaW5jbHVk
ZSBub24tdGVzdC1saXN0IGRhdGEgYW5kCisgICAgICAgICMgb2YgdGVzdCByZXN1bHQgZGV0YWls
cy4KKyAgICAgICAgc2VsZi5fdGVzdF9nZXRfdGVzdF9saXN0KAorICAgICAgICAgICAgIyBJbnB1
dCByZXN1bHRzCisgICAgICAgICAgICAoWyIzIiwgIjIiLCAiMSJdLCBbWyIwMDEuaHRtbCIsICJb
MjAwLFwiUFwiXSIsICJbMjAwLDBdIl0sIFsiMDAyLmh0bWwiLCAiWzEwLFwiRlwiXSIsICJbMTAs
MF0iXV0pLAorICAgICAgICAgICAgIyBFeHBlY3RlZCByZXN1bHRzCisgICAgICAgICAgICBbIjAw
MS5odG1sIiwgIjAwMi5odG1sIl0pCisKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAg
dW5pdHRlc3QubWFpbigpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>