<?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>56233</bug_id>
          
          <creation_ts>2011-03-11 16:37:09 -0800</creation_ts>
          <short_desc>Add --baseline-search-path to NRWT</short_desc>
          <delta_ts>2011-04-05 13:54:14 -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>All</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="Mihai Parparita">mihaip</reporter>
          <assigned_to name="Mihai Parparita">mihaip</assigned_to>
          <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>366418</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-03-11 16:37:09 -0800</bug_when>
    <thetext>Add --baseline-search-path to NRWT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366420</commentid>
    <comment_count>1</comment_count>
      <attachid>85554</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-03-11 16:38:29 -0800</bug_when>
    <thetext>Created attachment 85554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366425</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-11 16:54:38 -0800</bug_when>
    <thetext>This is for expectations that aren&apos;t going to be checked in?  Why can&apos;t we check in the baselines?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366440</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-03-11 17:12:36 -0800</bug_when>
    <thetext>We could check them in, but (a) we expect them to churn pretty frequently and (b) there will probably be a bunch of them, which could make the tree pretty confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366441</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-03-11 17:13:20 -0800</bug_when>
    <thetext>The downside to not checking them in is that we&apos;ll need some other way to figure out what the references should be and how to regenerate the baselines. Mihai is working on that separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366445</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-11 17:22:35 -0800</bug_when>
    <thetext>Maybe we can use gclient to pull in the other baselines so it doesn&apos;t make the webkit tree noisy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370884</commentid>
    <comment_count>6</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-03-21 14:13:04 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Maybe we can use gclient to pull in the other baselines so it doesn&apos;t make the webkit tree noisy?

There&apos;s going to be enough of these baselines (looks like 100/bot and around 10 bots) that I don&apos;t think we can manage them as carefully (i.e. version control). The expectation is that when the hardware bots go red, the GPU gardener will do some spot checks to make sure that the changes are expected and then run the webkit tests with --reset-results, which will update these local baselines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370955</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-21 15:28:32 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Maybe we can use gclient to pull in the other baselines so it doesn&apos;t make the webkit tree noisy?
&gt; 
&gt; There&apos;s going to be enough of these baselines (looks like 100/bot and around 10 bots) that I don&apos;t think we can manage them as carefully (i.e. version control). The expectation is that when the hardware bots go red, the GPU gardener will do some spot checks to make sure that the changes are expected and then run the webkit tests with --reset-results, which will update these local baselines.

Can we keep the local baselines in the same place as the other baselines?  E.g., LayoutTests/platform/chromium-gpu-win-foo where foo is part of --platform or some other system check?  We could even svn-ignore the directories so they don&apos;t show up.  I&apos;d be nice to avoid adding another command line parameter.

Also, I would at least use a local git repo for each bot&apos;s results.  Having the history of changes will probably be useful at some point.  You could write a wrapper script that runs NRWT --reset-results, shows the diffs, and commits the results to a local git repo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371110</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-03-21 18:11:02 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; Maybe we can use gclient to pull in the other baselines so it doesn&apos;t make the webkit tree noisy?
&gt; &gt; 
&gt; &gt; There&apos;s going to be enough of these baselines (looks like 100/bot and around 10 bots) that I don&apos;t think we can manage them as carefully (i.e. version control). The expectation is that when the hardware bots go red, the GPU gardener will do some spot checks to make sure that the changes are expected and then run the webkit tests with --reset-results, which will update these local baselines.
&gt; 
&gt; Can we keep the local baselines in the same place as the other baselines?  E.g., LayoutTests/platform/chromium-gpu-win-foo where foo is part of --platform or some other system check?  We could even svn-ignore the directories so they don&apos;t show up.  I&apos;d be nice to avoid adding another command line parameter.
&gt; 

I think the platform field and the baseline logic is complicated enough as it is. 

Also, having it have to know how to parse out some sort of &apos;-local&apos; substring feels wrong to me, since it is not like any of the other modifier components.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371425</commentid>
    <comment_count>9</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-22 09:38:08 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I think the platform field and the baseline logic is complicated enough as it is. 
&gt; 
&gt; Also, having it have to know how to parse out some sort of &apos;-local&apos; substring feels wrong to me, since it is not like any of the other modifier components.

I was thinking it would be descriptive rather than just &apos;-local&apos;.  E.g., chromium-gpu-nvidiaXXXX-win or something.  It seems like a small code change to pass in --platform chromium-gpu-nvidiaXXXX and have it get the right results dir.
Alternately, you could add a separate flag (e.g., --gpu-chipset), but that seems less like the other flags.

If all that still sounds worse than --baseline-search-path, I would probably make it at least be a relative path to tempfile.gettempdir() so it&apos;s easier to set across platforms (that way on windows you don&apos;t have to worry about if it&apos;s cygwin or not).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371867</commentid>
    <comment_count>10</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-03-22 17:37:39 -0700</bug_when>
    <thetext>Another use-case that occurred me is wanting to temporarily override the fallback path. For example, there are times where I&apos;d like to know if the a test would pass with the mac/ baselines, even though it has chromium-mac/ ones (right now I have to edit chromium_mac.py and temporarily change the fallback path order).

For that to work, we can&apos;t force it to always be relative to the tempdir. I think the buildbot script that we use on the (GPU) bots (that wraps NRWT) can set the flag using tempfile.gettempdir() though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371873</commentid>
    <comment_count>11</comment_count>
      <attachid>85554</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-22 17:53:56 -0700</bug_when>
    <thetext>Comment on attachment 85554
Patch

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

I think this is suboptimal, but I guess we can try it.

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:276
&gt; +        baseline_search_path = map(self._filesystem.normpath, self.get_option(&apos;baseline_search_path&apos;, &apos;&apos;).split(&apos;:&apos;))

: seems like a poor choice for a delimiter since windows drive letters have : in them.

&gt; Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py:267
&gt; +            [(&apos;/tmp/local-baselines&apos;, &apos;fast/test-expected.txt&apos;)])

Can you add some tests for windows paths and for relative paths?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371941</commentid>
    <comment_count>12</comment_count>
      <attachid>85554</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-03-22 20:18:36 -0700</bug_when>
    <thetext>Comment on attachment 85554
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:276
&gt;&gt; +        baseline_search_path = map(self._filesystem.normpath, self.get_option(&apos;baseline_search_path&apos;, &apos;&apos;).split(&apos;:&apos;))
&gt; 
&gt; : seems like a poor choice for a delimiter since windows drive letters have : in them.

You might be better off declaring the argument as action=&quot;append&quot; and specifying it multiple times on the command line, so that it is stored as a list, and not have to use a separator here. Then again, I don&apos;t know where you&apos;re getting this value from to pass in on the command line.

The only other case I can think of where we do multiple-valued lists on the command line is in the --print option, which uses a comma-separated list of values. I&apos;d rather not have commas for one argument and colons or semicolons for another. I would also rather not change --print to have to be specified multiple times.

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py:267
&gt;&gt; +            [(&apos;/tmp/local-baselines&apos;, &apos;fast/test-expected.txt&apos;)])
&gt; 
&gt; Can you add some tests for windows paths and for relative paths?

Because the test is using a MockFileSystem(), it can (and has to) assume hard-coded forward separators, so these tests will actually work across both unix and win32. 

I don&apos;t know if there&apos;s an easy way to do tests for windows paths and relative paths that will work very well without using a real filesystem. The only other place in this file where we&apos;ve had to worry about this is in test_filename_to_uri, where it was wrapped in an if block conditional on sys.platform. But that could be cumbersome here. I&apos;m a bit on the fence as to whether writing these tests will be worth the effort needed to ensure they&apos;re right (i.e., it&apos;s more likely that the tests will be buggy than the code they&apos;re testing).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379779</commentid>
    <comment_count>13</comment_count>
      <attachid>88289</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-04-05 11:48:47 -0700</bug_when>
    <thetext>Created attachment 88289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379781</commentid>
    <comment_count>14</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-04-05 11:50:08 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; You might be better off declaring the argument as action=&quot;append&quot; and specifying it multiple times on the command line, so that it is stored as a list, and not have to use a separator here. Then again, I don&apos;t know where you&apos;re getting this value from to pass in on the command line.

Changed to append, that seems cleaner.

&gt; I don&apos;t know if there&apos;s an easy way to do tests for windows paths and relative paths that will work very well without using a real filesystem. The only other place in this file where we&apos;ve had to worry about this is in test_filename_to_uri, where it was wrapped in an if block conditional on sys.platform. But that could be cumbersome here. I&apos;m a bit on the fence as to whether writing these tests will be worth the effort needed to ensure they&apos;re right (i.e., it&apos;s more likely that the tests will be buggy than the code they&apos;re testing).

I decided that relative paths are probably not what the user wants, so those will not be used. I moved the checking for that and normalization to _set_up_derived_options.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379783</commentid>
    <comment_count>15</comment_count>
      <attachid>88289</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-05 11:53:24 -0700</bug_when>
    <thetext>Comment on attachment 88289
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:304
&gt; +                 &quot;Specify multiple times to add multiple search path entries.&quot;),

Clever

&gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:582
&gt; +        (res, buildbot_output, regular_output, user) = logging_run(
&gt; +             [&apos;--baseline-search-path&apos;, &apos;foo&apos;])

Nit: no () needed on the left hand side of the assignment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379817</commentid>
    <comment_count>16</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-04-05 13:00:56 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Nit: no () needed on the left hand side of the assignment

Fixed (elsewhere in the file too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379821</commentid>
    <comment_count>17</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-04-05 13:03:33 -0700</bug_when>
    <thetext>Committed r82972: &lt;http://trac.webkit.org/changeset/82972&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379846</commentid>
    <comment_count>18</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-05 13:54:14 -0700</bug_when>
    <thetext>LGTM as well.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85554</attachid>
            <date>2011-03-11 16:38:29 -0800</date>
            <delta_ts>2011-04-05 11:48:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56233-20110311163828.patch</filename>
            <type>text/plain</type>
            <size>5993</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA4OTcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNTRmZjU3ZGYwMmVhMTQ5YmY5MjRhYTk3ZmFhNjM1NjYy
Yjc0NGQ3Li5lY2NhMWE3MTA0MDdmMGVlYzRiODlkZDNjYTY3NzA4NmQyNTgyZWY2IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDMtMTEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIC0tYmFz
ZWxpbmUtc2VhcmNoLXBhdGggdG8gTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTYyMzMKKyAgICAgICAgCisgICAgICAgIEFkZCBOUldUIG9wdGlv
biB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgZGlyZWN0b3JpZXMgdG8gbG9vayBmb3IgYmFzZWxpbmVz
CisgICAgICAgICh3aWxsIGJlIHVzZWQgYnkgaGFyZHdhcmUgR1BVIGJvdHMgd2hpY2ggd2lsbCBo
YXZlIGxvY2FsIHBlci1ib3QKKyAgICAgICAgZXhwZWN0YXRpb25zIGZvciBzb21lIHRlc3RzKQor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9j
ay5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Uu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHMucHk6CisKIDIwMTEtMDMtMTEgIEFudG9uIEQnQXVyaWEgIDxhZGF1cmlhQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBhbmQgbGFuZGVkIGJ5IEJyYWR5IEVpZHNvbi4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lz
dGVtX21vY2sucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5
c3RlbV9tb2NrLnB5CmluZGV4IGFhNzlhOGM3MTMwOTRjZGYzZTIzZmY4MGQyMjU5MjM5ZTM0ODNk
NGMuLmRkZGJlOGNlOTRiYzMwMjQzZTZjZTIyNmVhMmQ1ZjA1MDRlZWI3MmQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21vY2sucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9j
ay5weQpAQCAtMjE2LDcgKzIxNiw5IEBAIGNsYXNzIE1vY2tGaWxlU3lzdGVtKG9iamVjdCk6CiAg
ICAgICAgIHNlbGYud3JpdHRlbl9maWxlc1tzb3VyY2VdID0gTm9uZQogCiAgICAgZGVmIG5vcm1w
YXRoKHNlbGYsIHBhdGgpOgotICAgICAgICByZXR1cm4gcGF0aAorICAgICAgICAjIExpa2Ugam9p
bigpLCByZWxpZXMgb24gb3MucGF0aCBmdW5jdGlvbmFsaXR5IGJ1dCBub3JtYWxpemVzIHRoZQor
ICAgICAgICAjIHBhdGggc2VwYXJhdG9yIHRvIHRoZSBtb2NrIG9uZS4KKyAgICAgICAgcmV0dXJu
IHJlLnN1YihyZS5lc2NhcGUob3MucGF0aC5zZXApLCBzZWxmLnNlcCwgb3MucGF0aC5ub3JtcGF0
aChwYXRoKSkKIAogICAgIGRlZiBvcGVuX2JpbmFyeV90ZW1wZmlsZShzZWxmLCBzdWZmaXg9Jycp
OgogICAgICAgICBwYXRoID0gc2VsZi5fbWt0ZW1wKHN1ZmZpeCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQppbmRleCAxNTkwMmI0MGFkODE4
MGRiOWFkZjNjMWY3YTBhNGJjODRjOWNiM2VkLi5hY2VlYTk3MmNkZTcxYjE4ODRmNWEyOGFlYTYx
NTdhNmZkNTA4MTIyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9iYXNlLnB5CkBAIC0yNzMsNyArMjczLDggQEAgY2xhc3MgUG9ydChvYmplY3QpOgog
CiAgICAgICAgIGJhc2VsaW5lX2ZpbGVuYW1lID0gdGVzdG5hbWUgKyAnLWV4cGVjdGVkJyArIHN1
ZmZpeAogCi0gICAgICAgIGJhc2VsaW5lX3NlYXJjaF9wYXRoID0gc2VsZi5iYXNlbGluZV9zZWFy
Y2hfcGF0aCgpCisgICAgICAgIGJhc2VsaW5lX3NlYXJjaF9wYXRoID0gbWFwKHNlbGYuX2ZpbGVz
eXN0ZW0ubm9ybXBhdGgsIHNlbGYuZ2V0X29wdGlvbignYmFzZWxpbmVfc2VhcmNoX3BhdGgnLCAn
Jykuc3BsaXQoJzonKSkKKyAgICAgICAgYmFzZWxpbmVfc2VhcmNoX3BhdGggKz0gc2VsZi5iYXNl
bGluZV9zZWFyY2hfcGF0aCgpCiAKICAgICAgICAgYmFzZWxpbmVzID0gW10KICAgICAgICAgZm9y
IHBsYXRmb3JtX2RpciBpbiBiYXNlbGluZV9zZWFyY2hfcGF0aDoKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weQpp
bmRleCBlZjkwNDg0Y2E4M2IxNzE3OTQzMDIwYjFkNDNjOTJkNzE2ODAzMDgyLi4zODIyZjgyMWQ0
ZGRjNDU1NGVjNjg1ODgzMGY4Y2ZhNWRmOTcyZmU3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CkBAIC0z
Myw3ICszMyw3IEBAIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUsIFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZV9tb2NrCi1mcm9tIHdlYmtpdHB5LmNvbW1v
bi5zeXN0ZW0gaW1wb3J0IGZpbGVzeXN0ZW0KK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5m
aWxlc3lzdGVtX21vY2sgaW1wb3J0IE1vY2tGaWxlU3lzdGVtCiBmcm9tIHdlYmtpdHB5LmNvbW1v
bi5zeXN0ZW0gaW1wb3J0IG91dHB1dGNhcHR1cmUKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bS5wYXRoIGltcG9ydCBhYnNwYXRoX3RvX3VyaQogZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5Lm1v
Y2sgaW1wb3J0IE1vY2sKQEAgLTIzMiw2ICsyMzIsMzkgQEAgY2xhc3MgUG9ydFRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBwb3J0ID0gYmFzZS5Qb3J0KHBvcnRfbmFtZT0nZm9vJykK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0Lm5hbWUoKSwgJ2ZvbycpCiAKKyAgICBkZWYg
dGVzdF9iYXNlbGluZV9zZWFyY2hfcGF0aChzZWxmKToKKyAgICAgICAgZmlsZXN5c3RlbSA9IE1v
Y2tGaWxlU3lzdGVtKCkKKyAgICAgICAgb3B0aW9ucywgYXJncyA9IG9wdHBhcnNlLk9wdGlvblBh
cnNlcigpLnBhcnNlX2FyZ3MoW10pCisgICAgICAgIHBvcnQgPSBiYXNlLlBvcnQocG9ydF9uYW1l
PSdmb28nLCBmaWxlc3lzdGVtPWZpbGVzeXN0ZW0sIG9wdGlvbnM9b3B0aW9ucykKKyAgICAgICAg
cG9ydC5iYXNlbGluZV9zZWFyY2hfcGF0aCA9IGxhbWJkYTogW10KKyAgICAgICAgbGF5b3V0X3Rl
c3RfZGlyID0gcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCkKKyAgICAgICAgdGVzdF9maWxlID0gZmls
ZXN5c3RlbS5qb2luKGxheW91dF90ZXN0X2RpciwgJ2Zhc3QnLCAndGVzdC5odG1sJykKKworICAg
ICAgICAjIE5vIGJhc2VsaW5lIHNlYXJjaCBwYXRoCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
CisgICAgICAgICAgICBwb3J0LmV4cGVjdGVkX2Jhc2VsaW5lcyh0ZXN0X2ZpbGUsICcudHh0Jyks
CisgICAgICAgICAgICBbKE5vbmUsICdmYXN0L3Rlc3QtZXhwZWN0ZWQudHh0JyldKQorCisgICAg
ICAgICMgU2ltcGxlIHNlYXJjaCBwYXRoCisgICAgICAgIG9wdGlvbnMuYmFzZWxpbmVfc2VhcmNo
X3BhdGggPSAnL3RtcC9sb2NhbC1iYXNlbGluZXMnCisgICAgICAgIGZpbGVzeXN0ZW0uZmlsZXMg
PSB7CisgICAgICAgICAgICAnL3RtcC9sb2NhbC1iYXNlbGluZXMvZmFzdC90ZXN0LWV4cGVjdGVk
LnR4dCc6ICdmb28nLAorICAgICAgICB9CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAg
ICAgICAgICBwb3J0LmV4cGVjdGVkX2Jhc2VsaW5lcyh0ZXN0X2ZpbGUsICcudHh0JyksCisgICAg
ICAgICAgICBbKCcvdG1wL2xvY2FsLWJhc2VsaW5lcycsICdmYXN0L3Rlc3QtZXhwZWN0ZWQudHh0
JyldKQorCisgICAgICAgICMgTXVsdGlwbGUgZW50cmllcyBpbiBzZWFyY2ggcGF0aAorICAgICAg
ICBvcHRpb25zLmJhc2VsaW5lX3NlYXJjaF9wYXRoID0gJy9mb286L3RtcC9sb2NhbC1iYXNlbGlu
ZXMnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBwb3J0LmV4cGVjdGVk
X2Jhc2VsaW5lcyh0ZXN0X2ZpbGUsICcudHh0JyksCisgICAgICAgICAgICBbKCcvdG1wL2xvY2Fs
LWJhc2VsaW5lcycsICdmYXN0L3Rlc3QtZXhwZWN0ZWQudHh0JyldKQorCisgICAgICAgICMgQmFz
ZWxpbmUgc2VhcmNoIHBhdGggZ2V0cyBub3JtYWxpemVkCisgICAgICAgIG9wdGlvbnMuYmFzZWxp
bmVfc2VhcmNoX3BhdGggPSAnL3RtcC9mb28vLi4vbG9jYWwtYmFzZWxpbmVzLy8vJworICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcG9ydC5leHBlY3RlZF9iYXNlbGluZXMo
dGVzdF9maWxlLCAnLnR4dCcpLAorICAgICAgICAgICAgWygnL3RtcC9sb2NhbC1iYXNlbGluZXMn
LCAnZmFzdC90ZXN0LWV4cGVjdGVkLnR4dCcpXSkKIAogY2xhc3MgVmlydHVhbFRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICIiIlRlc3RzIHRoYXQgdmFyaW91cyBtZXRob2RzIGV4cGVjdGVk
IHRvIGJlIHZpcnR1YWwgYXJlLiIiIgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggZDI3ZWExZWI0ZWJhZGI0
N2RmNzAyYTUxNjllYmYyNjU4ODcxNGZiYy4uZGY4MTdkYjJkZDgzNWE5MmNkMjZkMzBlOTZjNTNl
MjU1NmQ0NGE5ZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC0yODgsNiArMjg4LDEwIEBAIGRlZiBwYXJz
ZV9hcmdzKGFyZ3M9Tm9uZSk6CiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXJlc2V0
LXJlc3VsdHMiLCBhY3Rpb249InN0b3JlX3RydWUiLAogICAgICAgICAgICAgZGVmYXVsdD1GYWxz
ZSwgaGVscD0iUmVzZXQgYW55IGV4aXN0aW5nIGJhc2VsaW5lcyB0byB0aGUgIgogICAgICAgICAg
ICAgICAgICAiZ2VuZXJhdGVkIHJlc3VsdHMiKSwKKyAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRp
b24oIi0tYmFzZWxpbmUtc2VhcmNoLXBhdGgiLAorICAgICAgICAgICAgaGVscD0iQWRkaXRpb25h
bCBkaXJlY3RvcmllcyAoY29sb24gc2VwYXJhdGVkKSB3aGVyZSB0byBsb29rIGZvciAiCisgICAg
ICAgICAgICAgICAgInRlc3QgYmFzZWxpbmVzICh3aWxsIHRha2UgcHJlY2VuZGVuY2Ugb3ZlciBw
bGF0Zm9ybSAiCisgICAgICAgICAgICAgICAgImJhc2VsaW5lcykiKSwKICAgICAgICAgb3B0cGFy
c2UubWFrZV9vcHRpb24oIi0tbm8tc2hvdy1yZXN1bHRzIiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIs
CiAgICAgICAgICAgICBkZWZhdWx0PVRydWUsIGRlc3Q9InNob3dfcmVzdWx0cyIsCiAgICAgICAg
ICAgICBoZWxwPSJEb24ndCBsYXVuY2ggYSBicm93c2VyIHdpdGggcmVzdWx0cyBhZnRlciB0aGUg
dGVzdHMgIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88289</attachid>
            <date>2011-04-05 11:48:47 -0700</date>
            <delta_ts>2011-04-05 13:54:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56233-20110405114845.patch</filename>
            <type>text/plain</type>
            <size>7789</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI5NTQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1MjgzYzJiYzkxNDA5OTBjNDEwZDQ5OGU4OGM4NWY1NzFk
MTljMTY5Li44MWRmMWZjNTAwYWUzZmIyYTkwMTBhZWExNzU0MGM4ZjhlNWZhMDFiIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDQtMDUgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIC0tYmFz
ZWxpbmUtc2VhcmNoLXBhdGggdG8gTlJXVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTYyMzMKKyAgICAgICAgCisgICAgICAgIEFkZCBOUldUIG9wdGlv
biB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgZGlyZWN0b3JpZXMgdG8gbG9vayBmb3IgYmFzZWxpbmVz
CisgICAgICAgICh3aWxsIGJlIHVzZWQgYnkgaGFyZHdhcmUgR1BVIGJvdHMgd2hpY2ggd2lsbCBo
YXZlIGxvY2FsIHBlci1ib3QKKyAgICAgICAgZXhwZWN0YXRpb25zIGZvciBzb21lIHRlc3RzKQor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9j
ay5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Uu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHMucHk6CisKIDIwMTEtMDQtMDUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9j
ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtX21v
Y2sucHkKaW5kZXggYTZkMTU4YWQ1MGVkYjg5N2Q4MDNiNmFlMTNkMmM3NTVlMjVmYjJkYS4uZmE3
Yzc0NTI0ZWI4NjcyYjM2YWFmODA4ODZkYTcwMzA5NzI5M2Q3MSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW1fbW9jay5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbV9tb2NrLnB5CkBA
IC0yMTYsNyArMjE2LDkgQEAgY2xhc3MgTW9ja0ZpbGVTeXN0ZW0ob2JqZWN0KToKICAgICAgICAg
c2VsZi53cml0dGVuX2ZpbGVzW3NvdXJjZV0gPSBOb25lCiAKICAgICBkZWYgbm9ybXBhdGgoc2Vs
ZiwgcGF0aCk6Ci0gICAgICAgIHJldHVybiBwYXRoCisgICAgICAgICMgTGlrZSBqb2luKCksIHJl
bGllcyBvbiBvcy5wYXRoIGZ1bmN0aW9uYWxpdHkgYnV0IG5vcm1hbGl6ZXMgdGhlCisgICAgICAg
ICMgcGF0aCBzZXBhcmF0b3IgdG8gdGhlIG1vY2sgb25lLgorICAgICAgICByZXR1cm4gcmUuc3Vi
KHJlLmVzY2FwZShvcy5wYXRoLnNlcCksIHNlbGYuc2VwLCBvcy5wYXRoLm5vcm1wYXRoKHBhdGgp
KQogCiAgICAgZGVmIG9wZW5fYmluYXJ5X3RlbXBmaWxlKHNlbGYsIHN1ZmZpeD0nJyk6CiAgICAg
ICAgIHBhdGggPSBzZWxmLl9ta3RlbXAoc3VmZml4KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CmluZGV4IGEzMzgwMDZlMjlhN2RkMzRkNWY4
ZmRkZjFlZWZiNzBkMmY3YjhiNzIuLmMyMDQ4NmM4MDZiZTJmMzg0ZmY1ZDg0ZmQ1MzE2Mzk2YTNl
ZjljZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Jhc2UucHkKQEAgLTI4Miw3ICsyODIsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAKICAgICAg
ICAgYmFzZWxpbmVfZmlsZW5hbWUgPSB0ZXN0bmFtZSArICctZXhwZWN0ZWQnICsgc3VmZml4CiAK
LSAgICAgICAgYmFzZWxpbmVfc2VhcmNoX3BhdGggPSBzZWxmLmJhc2VsaW5lX3NlYXJjaF9wYXRo
KCkKKyAgICAgICAgYmFzZWxpbmVfc2VhcmNoX3BhdGggPSBzZWxmLmdldF9vcHRpb24oJ2Jhc2Vs
aW5lX3NlYXJjaF9wYXRoJywgW10pICsgc2VsZi5iYXNlbGluZV9zZWFyY2hfcGF0aCgpCiAKICAg
ICAgICAgYmFzZWxpbmVzID0gW10KICAgICAgICAgZm9yIHBsYXRmb3JtX2RpciBpbiBiYXNlbGlu
ZV9zZWFyY2hfcGF0aDoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weQppbmRleCA0MWU3NWVhZmUxMjEzNGM4YjI2
ODYzNDY0MTUyY2I3YTJiNjcyMTc1Li4zNzdkYmE4YWYzY2YxNmNlNDdkMzQzMjBjYTFlNzllNGEx
YmUyNTYwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Jhc2VfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CkBAIC0zMyw3ICszMyw3IEBAIGltcG9ydCB1bml0
dGVzdAogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVj
dXRpdmUsIFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4
ZWN1dGl2ZV9tb2NrCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGZpbGVzeXN0
ZW0KK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtX21vY2sgaW1wb3J0IE1v
Y2tGaWxlU3lzdGVtCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IG91dHB1dGNh
cHR1cmUKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5wYXRoIGltcG9ydCBhYnNwYXRoX3Rv
X3VyaQogZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5Lm1vY2sgaW1wb3J0IE1vY2sKQEAgLTIzMiw2
ICsyMzIsMzMgQEAgY2xhc3MgUG9ydFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBw
b3J0ID0gYmFzZS5Qb3J0KHBvcnRfbmFtZT0nZm9vJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChwb3J0Lm5hbWUoKSwgJ2ZvbycpCiAKKyAgICBkZWYgdGVzdF9iYXNlbGluZV9zZWFyY2hfcGF0
aChzZWxmKToKKyAgICAgICAgZmlsZXN5c3RlbSA9IE1vY2tGaWxlU3lzdGVtKCkKKyAgICAgICAg
b3B0aW9ucywgYXJncyA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcigpLnBhcnNlX2FyZ3MoW10pCisg
ICAgICAgIHBvcnQgPSBiYXNlLlBvcnQocG9ydF9uYW1lPSdmb28nLCBmaWxlc3lzdGVtPWZpbGVz
eXN0ZW0sIG9wdGlvbnM9b3B0aW9ucykKKyAgICAgICAgcG9ydC5iYXNlbGluZV9zZWFyY2hfcGF0
aCA9IGxhbWJkYTogW10KKyAgICAgICAgbGF5b3V0X3Rlc3RfZGlyID0gcG9ydC5sYXlvdXRfdGVz
dHNfZGlyKCkKKyAgICAgICAgdGVzdF9maWxlID0gZmlsZXN5c3RlbS5qb2luKGxheW91dF90ZXN0
X2RpciwgJ2Zhc3QnLCAndGVzdC5odG1sJykKKworICAgICAgICAjIE5vIGJhc2VsaW5lIHNlYXJj
aCBwYXRoCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBwb3J0LmV4cGVj
dGVkX2Jhc2VsaW5lcyh0ZXN0X2ZpbGUsICcudHh0JyksCisgICAgICAgICAgICBbKE5vbmUsICdm
YXN0L3Rlc3QtZXhwZWN0ZWQudHh0JyldKQorCisgICAgICAgICMgU2ltcGxlIHNlYXJjaCBwYXRo
CisgICAgICAgIG9wdGlvbnMuYmFzZWxpbmVfc2VhcmNoX3BhdGggPSBbJy90bXAvbG9jYWwtYmFz
ZWxpbmVzJ10KKyAgICAgICAgZmlsZXN5c3RlbS5maWxlcyA9IHsKKyAgICAgICAgICAgICcvdG1w
L2xvY2FsLWJhc2VsaW5lcy9mYXN0L3Rlc3QtZXhwZWN0ZWQudHh0JzogJ2ZvbycsCisgICAgICAg
IH0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHBvcnQuZXhwZWN0ZWRf
YmFzZWxpbmVzKHRlc3RfZmlsZSwgJy50eHQnKSwKKyAgICAgICAgICAgIFsoJy90bXAvbG9jYWwt
YmFzZWxpbmVzJywgJ2Zhc3QvdGVzdC1leHBlY3RlZC50eHQnKV0pCisKKyAgICAgICAgIyBNdWx0
aXBsZSBlbnRyaWVzIGluIHNlYXJjaCBwYXRoCisgICAgICAgIG9wdGlvbnMuYmFzZWxpbmVfc2Vh
cmNoX3BhdGggPSBbJy9mb28nLCAnL3RtcC9sb2NhbC1iYXNlbGluZXMnXQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcG9ydC5leHBlY3RlZF9iYXNlbGluZXModGVzdF9m
aWxlLCAnLnR4dCcpLAorICAgICAgICAgICAgWygnL3RtcC9sb2NhbC1iYXNlbGluZXMnLCAnZmFz
dC90ZXN0LWV4cGVjdGVkLnR4dCcpXSkKIAogY2xhc3MgVmlydHVhbFRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICIiIlRlc3RzIHRoYXQgdmFyaW91cyBtZXRob2RzIGV4cGVjdGVkIHRvIGJl
IHZpcnR1YWwgYXJlLiIiIgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggZDI3ZWExZWI0ZWJhZGI0N2RmNzAy
YTUxNjllYmYyNjU4ODcxNGZiYy4uMjQ3N2JmYWU3NmQwYzBjOGVjOTcwZDUxYjg3MDM5ZjVjMDVl
ZWE3NCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVu
X3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC0xNjUsNiArMTY1LDE2IEBAIGRlZiBfc2V0X3VwX2Rl
cml2ZWRfb3B0aW9ucyhwb3J0X29iaiwgb3B0aW9ucyk6CiAgICAgICAgICAgICBvcHRpb25zLnRp
bWVfb3V0X21zID0gc3RyKHRlc3RfcnVubmVyLlRlc3RSdW5uZXIuREVGQVVMVF9URVNUX1RJTUVP
VVRfTVMpCiAKICAgICBvcHRpb25zLnNsb3dfdGltZV9vdXRfbXMgPSBzdHIoNSAqIGludChvcHRp
b25zLnRpbWVfb3V0X21zKSkKKworICAgIGlmIG9wdGlvbnMuYmFzZWxpbmVfc2VhcmNoX3BhdGg6
CisgICAgICAgIG5vcm1hbGl6ZWRfc2VhcmNoX3BhdGhzID0gW10KKyAgICAgICAgZm9yIHBhdGgg
aW4gb3B0aW9ucy5iYXNlbGluZV9zZWFyY2hfcGF0aDoKKyAgICAgICAgICAgIGlmIG5vdCBwb3J0
X29iai5fZmlsZXN5c3RlbS5pc2FicyhwYXRoKToKKyAgICAgICAgICAgICAgICB3YXJuaW5ncy5h
cHBlbmQoIi0tYmFzZWxpbmUtc2VhcmNoLXBhdGg9JXMgaXMgaWdub3JlZCBzaW5jZSBpdCBpcyBu
b3QgYWJzb2x1dGUiICUgcGF0aCkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAg
ICAgbm9ybWFsaXplZF9zZWFyY2hfcGF0aHMuYXBwZW5kKHBvcnRfb2JqLl9maWxlc3lzdGVtLm5v
cm1wYXRoKHBhdGgpKQorICAgICAgICBvcHRpb25zLmJhc2VsaW5lX3NlYXJjaF9wYXRoID0gbm9y
bWFsaXplZF9zZWFyY2hfcGF0aHMKKwogICAgIHJldHVybiB3YXJuaW5ncwogCiAKQEAgLTI4OCw2
ICsyOTgsMTAgQEAgZGVmIHBhcnNlX2FyZ3MoYXJncz1Ob25lKToKICAgICAgICAgb3B0cGFyc2Uu
bWFrZV9vcHRpb24oIi0tcmVzZXQtcmVzdWx0cyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCiAgICAg
ICAgICAgICBkZWZhdWx0PUZhbHNlLCBoZWxwPSJSZXNldCBhbnkgZXhpc3RpbmcgYmFzZWxpbmVz
IHRvIHRoZSAiCiAgICAgICAgICAgICAgICAgICJnZW5lcmF0ZWQgcmVzdWx0cyIpLAorICAgICAg
ICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1iYXNlbGluZS1zZWFyY2gtcGF0aCIsIGFjdGlvbj0i
YXBwZW5kIiwKKyAgICAgICAgICAgIGRlZmF1bHQ9W10sIGhlbHA9IkFkZGl0aW9uYWwgZGlyZWN0
b3J5IHdoZXJlIHRvIGxvb2sgZm9yIHRlc3QgIgorICAgICAgICAgICAgICAgICAiYmFzZWxpbmVz
ICh3aWxsIHRha2UgcHJlY2VuZGVuY2Ugb3ZlciBwbGF0Zm9ybSBiYXNlbGluZXMpLiAiCisgICAg
ICAgICAgICAgICAgICJTcGVjaWZ5IG11bHRpcGxlIHRpbWVzIHRvIGFkZCBtdWx0aXBsZSBzZWFy
Y2ggcGF0aCBlbnRyaWVzLiIpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1uby1z
aG93LXJlc3VsdHMiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwKICAgICAgICAgICAgIGRlZmF1bHQ9
VHJ1ZSwgZGVzdD0ic2hvd19yZXN1bHRzIiwKICAgICAgICAgICAgIGhlbHA9IkRvbid0IGxhdW5j
aCBhIGJyb3dzZXIgd2l0aCByZXN1bHRzIGFmdGVyIHRoZSB0ZXN0cyAiCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0c191bml0dGVzdC5weQppbmRleCAxOWQ2ZGExMTVlMTRlZjE0ZWQ1ZjNjMDc0ZDU1NGFmZDFh
ZmE2MWNhLi4yNzNiNjVjODRhNGMzNWM2NDljNmU4ZWU1ZGUxMDk0N2U4OTdmOTc2IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3Rz
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHNfdW5pdHRlc3QucHkKQEAgLTU3Miw2ICs1NzIsMTcgQEAgY2xhc3MgTWFp
blRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluY2x1ZGVfcmVmZXJlbmNlX2h0bWw9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMoWydwYXNzZXMvbWlzbWF0Y2guaHRtbCcsICdwYXNzZXMvbWlzbWF0Y2gtZXhwZWN0ZWQtbWlz
bWF0Y2guaHRtbCddLCB0ZXN0c19ydW4pCiAKKyAgICBkZWYgdGVzdF9iYXNlbGluZV9zZWFyY2hf
cGF0aChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhc3NpbmdfcnVuKFsnLS1iYXNl
bGluZS1zZWFyY2gtcGF0aCcsICcvdG1wL2ZvbyddKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KHBhc3NpbmdfcnVuKFsnLS1iYXNlbGluZS1zZWFyY2gtcGF0aCcsICcvdG1wLy4uL2ZvbyddKSkK
KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhc3NpbmdfcnVuKFsnLS1iYXNlbGluZS1zZWFyY2gt
cGF0aCcsICcvdG1wL2ZvbycsCisgICAgICAgICAgICAnLS1iYXNlbGluZS1zZWFyY2gtcGF0aCcs
ICcvdG1wL2JhciddKSkKKworICAgICAgICAocmVzLCBidWlsZGJvdF9vdXRwdXQsIHJlZ3VsYXJf
b3V0cHV0LCB1c2VyKSA9IGxvZ2dpbmdfcnVuKAorICAgICAgICAgICAgIFsnLS1iYXNlbGluZS1z
ZWFyY2gtcGF0aCcsICdmb28nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCctLWJhc2VsaW5l
LXNlYXJjaC1wYXRoPWZvbyBpcyBpZ25vcmVkIHNpbmNlIGl0IGlzIG5vdCBhYnNvbHV0ZVxuJwor
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gcmVndWxhcl9vdXRwdXQuZ2V0KCkpCisKIAogTWFp
blRlc3QgPSBza2lwX2lmKE1haW5UZXN0LCBzeXMucGxhdGZvcm0gPT0gJ2N5Z3dpbicgYW5kIGNv
bXBhcmVfdmVyc2lvbihzeXMsICcyLjYnKVswXSA8IDAsICduZXctcnVuLXdlYmtpdC10ZXN0cyB0
ZXN0cyBoYW5nIG9uIEN5Z3dpbiBQeXRob24gMi41LjInKQogCg==
</data>
<flag name="review"
          id="80782"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>