<?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>178059</bug_id>
          
          <creation_ts>2017-10-07 20:10:20 -0700</creation_ts>
          <short_desc>Improve --help documentation and add --list-plans to show available benchmarks.</short_desc>
          <delta_ts>2017-10-16 01:17:37 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>glenn</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1358022</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2017-10-07 20:10:20 -0700</bug_when>
    <thetext>Improve --help documentation and add --list-plans to show available benchmarks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358029</commentid>
    <comment_count>1</comment_count>
      <attachid>323121</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2017-10-07 20:51:18 -0700</bug_when>
    <thetext>Created attachment 323121
New output for --help and --list-plans

For ease of review, attachment showing what the new --help and --list-plams output looks like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358030</commentid>
    <comment_count>2</comment_count>
      <attachid>323122</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2017-10-07 20:51:44 -0700</bug_when>
    <thetext>Created attachment 323122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358031</commentid>
    <comment_count>3</comment_count>
      <attachid>323122</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-10-07 22:25:57 -0700</bug_when>
    <thetext>Comment on attachment 323122
Patch

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

&gt; Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:64
&gt; +    @staticmethod
&gt; +    def available_plans():

I don&apos;t think this function belongs to benchmark_runner class. This class shouldn&apos;t know anything about where plan files are located.
We should keep it in run_benchmark.py.

&gt; Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:66
&gt; +        plans = [plan_file.replace(&quot;.plan&quot;, &quot;&quot;) for plan_file in os.listdir(plan_directory) if plan_file.endswith(&quot;.plan&quot;)]

We should continue to use os.path.splitext(plan_file)[0]
This code replaces any string of &quot;.plan&quot; in its name like &quot;x*.plan*ebench.plan&quot;.

&gt; Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:88
&gt; -            raise Exception(&apos;Cant find any .plan file in directory %s&apos; % plandir)
&gt; +            raise Exception(&apos;Cant find any .plan file in directory %s&apos; % BenchmarkRunner.available_plans())

I don&apos;t think this change makes sense. This error messages is about not being able to find any plans.
We should show the directory name instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358032</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-10-07 22:26:33 -0700</bug_when>
    <thetext>Dewei, please take a second look at Maciej&apos;s patch to make sure landing this patch won&apos;t break bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358035</commentid>
    <comment_count>5</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2017-10-07 22:55:33 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #3)
&gt; Comment on attachment 323122 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=323122&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:64
&gt; &gt; +    @staticmethod
&gt; &gt; +    def available_plans():
&gt; 
&gt; I don&apos;t think this function belongs to benchmark_runner class. This class
&gt; shouldn&apos;t know anything about where plan files are located.
&gt; We should keep it in run_benchmark.py.

I added it here because benchmark_runner already knows where plan files are located via  _find_plan_file(). I agree the knowledge should only be in one place, it seemed easier to put it in BenchmarkRunner than in run_benchmark.py. If you think it&apos;s a better direction for run_benchmark.py be the only place that knows about plan files instead, I can change things towards that direction instead. I put the code in benchmark_runner before I noticed that run_benchmark was already enumerating all plans.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:66
&gt; &gt; +        plans = [plan_file.replace(&quot;.plan&quot;, &quot;&quot;) for plan_file in os.listdir(plan_directory) if plan_file.endswith(&quot;.plan&quot;)]
&gt; 
&gt; We should continue to use os.path.splitext(plan_file)[0]
&gt; This code replaces any string of &quot;.plan&quot; in its name like
&gt; &quot;x*.plan*ebench.plan&quot;.

Will do.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:88
&gt; &gt; -            raise Exception(&apos;Cant find any .plan file in directory %s&apos; % plandir)
&gt; &gt; +            raise Exception(&apos;Cant find any .plan file in directory %s&apos; % BenchmarkRunner.available_plans())
&gt; 
&gt; I don&apos;t think this change makes sense. This error messages is about not
&gt; being able to find any plans.
&gt; We should show the directory name instead.

You&apos;re right, that makes no sense. Will revert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358080</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-10-08 02:30:27 -0700</bug_when>
    <thetext>(In reply to Maciej Stachowiak from comment #5)
&gt; (In reply to Ryosuke Niwa from comment #3)
&gt; &gt; Comment on attachment 323122 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=323122&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:64
&gt; &gt; &gt; +    @staticmethod
&gt; &gt; &gt; +    def available_plans():
&gt; &gt; 
&gt; &gt; I don&apos;t think this function belongs to benchmark_runner class. This class
&gt; &gt; shouldn&apos;t know anything about where plan files are located.
&gt; &gt; We should keep it in run_benchmark.py.
&gt; 
&gt; I added it here because benchmark_runner already knows where plan files are
&gt; located via  _find_plan_file(). I agree the knowledge should only be in one
&gt; place, it seemed easier to put it in BenchmarkRunner than in
&gt; run_benchmark.py. If you think it&apos;s a better direction for run_benchmark.py
&gt; be the only place that knows about plan files instead, I can change things
&gt; towards that direction instead. I put the code in benchmark_runner before I
&gt; noticed that run_benchmark was already enumerating all plans.

Oh, okay. I guess keeping it in benchmark_runner would be okay then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360703</commentid>
    <comment_count>7</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2017-10-16 01:16:32 -0700</bug_when>
    <thetext>Committed r223341: &lt;https://trac.webkit.org/changeset/223341&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360704</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-16 01:17:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/35003097&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>323121</attachid>
            <date>2017-10-07 20:51:18 -0700</date>
            <delta_ts>2017-10-07 20:51:18 -0700</delta_ts>
            <desc>New output for --help and --list-plans</desc>
            <filename>new-output.txt</filename>
            <type>text/plain</type>
            <size>2585</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">JCBydW4tYmVuY2htYXJrIC0taGVscAp1c2FnZTogcnVuLWJlbmNobWFyayBbLWhdCiAgICAgICAg
ICAgICAgICAgICAgICgtLXBsYW4gUExBTiB8IC0tbGlzdC1wbGFucyB8IC0tYWxscGxhbnMgfCAt
LXJlYWQtcmVzdWx0cy1qc29uIEpTT05fRklMRSkKICAgICAgICAgICAgICAgICAgICAgWy0tb3V0
cHV0LWZpbGUgT1VUUFVUX0ZJTEVdIFstLWJ1aWxkLWRpcmVjdG9yeSBCVUlMRF9ESVJdCiAgICAg
ICAgICAgICAgICAgICAgIFstLWNvdW50IENPVU5UXSBbLS1kcml2ZXIge3dlYmRyaXZlcix3ZWJz
ZXJ2ZXJ9XQogICAgICAgICAgICAgICAgICAgICBbLS1icm93c2VyIHtmaXJlZm94LGNocm9tZSxl
cGlwaGFueSxzYWZhcmksZmlyZWZveC1uaWdodGx5LGNocm9tZS1jYW5hcnksbWluaWJyb3dzZXIt
Z3RrfV0KICAgICAgICAgICAgICAgICAgICAgWy0tcGxhdGZvcm0ge29zeCxsaW51eH1dIFstLWxv
Y2FsLWNvcHkgTE9DQUxfQ09QWV0KICAgICAgICAgICAgICAgICAgICAgWy0tZGV2aWNlLWlkIERF
VklDRV9JRF0gWy0tZGVidWddIFstLW5vLWFkanVzdC11bml0XQoKUnVuIGJyb3dzZXIgYmFzZWQg
cGVyZm9ybWFuY2UgYmVuY2htYXJrcy4gVG8gcnVuIGEgc2luZ2xlIGJlbmNobWFyayBpbiB0aGUK
cmVjb21tZW5kZWQgd2F5LCB1c2UgcnVuLWJlbmNobWFyayAtLXBsYW4uIFRvIHNlZSB0aGUgdmFp
bGFibGUgYmVuY2htYXJrcywgdXNlCnJ1bi1iZW5jaG1hcmsgLS1saXN0LXBsYW5zLgoKb3B0aW9u
YWwgYXJndW1lbnRzOgogIC1oLCAtLWhlbHAgICAgICAgICAgICBzaG93IHRoaXMgaGVscCBtZXNz
YWdlIGFuZCBleGl0CiAgLS1wbGFuIFBMQU4gICAgICAgICAgIFJ1biBhIHNwZWNpZmljIGJlbmNo
bWFyayBwbGFuIChlLmcuIHNwZWVkb21ldGVyLAogICAgICAgICAgICAgICAgICAgICAgICBqZXRz
dHJlYW0pLgogIC0tbGlzdC1wbGFucyAgICAgICAgICBMaXN0IGFsbCBhdmFpbGFibGUgYmVuY2ht
YXJrIHBsYW5zLgogIC0tYWxscGxhbnMgICAgICAgICAgICBSdW4gYWxsIGF2YWlsYWJsZSBiZW5j
aG1hcmsgcGxhbnMgaW4gb3JkZXIuCiAgLS1yZWFkLXJlc3VsdHMtanNvbiBKU09OX0ZJTEUKICAg
ICAgICAgICAgICAgICAgICAgICAgSW5zdGVhZCBvZiBydW5uaW5nIGEgYmVuY2htYXJrLCBmb3Jt
YXQgdGhlIG91dHB1dAogICAgICAgICAgICAgICAgICAgICAgICBzYXZlZCBpbiBKU09OX0ZJTEUu
CiAgLS1vdXRwdXQtZmlsZSBPVVRQVVRfRklMRQogICAgICAgICAgICAgICAgICAgICAgICBTYXZl
IGRldGFpbGVkIHJlc3VsdHMgdG8gT1VUUFVUIGluIEpTT04gZm9ybWF0LiBCeQogICAgICAgICAg
ICAgICAgICAgICAgICBkZWZhdWx0LCByZXN1bHRzIHdpbGwgbm90IGJlIHNhdmVkLgogIC0tYnVp
bGQtZGlyZWN0b3J5IEJVSUxEX0RJUgogICAgICAgICAgICAgICAgICAgICAgICBQYXRoIHRvIHRo
ZSBicm93c2VyIGV4ZWN1dGFibGUgKGUuZy4KICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0
QnVpbGQvUmVsZWFzZS8pLgogIC0tY291bnQgQ09VTlQgICAgICAgICBOdW1iZXIgb2YgdGltZXMg
dG8gcnVuIHRoZSBiZW5jaG1hcmsgKGUuZy4gNSkuCiAgLS1kcml2ZXIge3dlYmRyaXZlcix3ZWJz
ZXJ2ZXJ9CiAgICAgICAgICAgICAgICAgICAgICAgIFVzZSB0aGUgc3BlY2lmaWVkIGJlbmNobWFy
ayBkcml2ZXIuIERlZmF1bHRzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgIHdlYnNlcnZlci4K
ICAtLWJyb3dzZXIge2ZpcmVmb3gsY2hyb21lLGVwaXBoYW55LHNhZmFyaSxmaXJlZm94LW5pZ2h0
bHksY2hyb21lLWNhbmFyeSxtaW5pYnJvd3Nlci1ndGt9CiAgICAgICAgICAgICAgICAgICAgICAg
IEJyb3dzZXIgdG8gcnVuIHRoZSBuZWNobWFyayBpbi4gRGVmYXVsdHMgdG8gc2FmYXJpLgogIC0t
cGxhdGZvcm0ge29zeCxsaW51eH0KICAgICAgICAgICAgICAgICAgICAgICAgUGxhdGZvcm0gdGhh
dCB0aGlzIHNjcmlwdCBpcyBydW5uaW5nIG9uLiBEZWZhdWx0cyB0bwogICAgICAgICAgICAgICAg
ICAgICAgICBvc3guCiAgLS1sb2NhbC1jb3B5IExPQ0FMX0NPUFkKICAgICAgICAgICAgICAgICAg
ICAgICAgUGF0aCB0byBhIGxvY2FsIGNvcHkgb2YgdGhlIGJlbmNobWFyayAoZS5nLgogICAgICAg
ICAgICAgICAgICAgICAgICBQZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci8pLgogIC0tZGV2aWNl
LWlkIERFVklDRV9JRAogICAgICAgICAgICAgICAgICAgICAgICBVbmRvY3VtZW50ZWQgb3B0aW9u
IGZvciBtb2JpbGUgZGV2aWNlIHRlc3RpbmcuCiAgLS1kZWJ1ZyAgICAgICAgICAgICAgIEVuYWJs
ZSBkZWJ1ZyBsb2dnaW5nLgogIC0tbm8tYWRqdXN0LXVuaXQgICAgICBEb24ndCBjb252ZXJ0IHRv
IHNjaWVudGlmaWMgbm90YXRpb24uCgokIHJ1bi1iZW5jaG1hcmsgLS1saXN0LXBsYW5zCkF2YWls
YWJsZSBiZW5jaG1hcmsgcGxhbnM6IAoJICBhcmVzNgoJICBjb250ZW50LWFuaW1hdGlvbgoJICBk
cm9tYWVvLWNzc3F1ZXJ5CgkgIGRyb21hZW8tZG9tCgkgIGRyb21hZW8tanNsaWIKCSAgamV0c3Ry
ZWFtCgkgIGpzYmVuY2gKCSAga3Jha2VuCgkgIG1vdGlvbm1hcmsKCSAgb2N0YW5lCgkgIHNwZWVk
b21ldGVyCgkgIHN1bnNwaWRlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323122</attachid>
            <date>2017-10-07 20:51:44 -0700</date>
            <delta_ts>2017-10-07 22:25:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178059-20171007205143.patch</filename>
            <type>text/plain</type>
            <size>8679</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyMzAyNykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI5IEBACisyMDE3LTEwLTA3ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+
CisKKyAgICAgICAgSW1wcm92ZSAtLWhlbHAgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIC0tbGlzdC1w
bGFucyB0byBzaG93IGF2YWlsYWJsZSBiZW5jaG1hcmtzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvYmVuY2htYXJrX3J1bm5lci5weToKKyAgICAgICAgKEJlbmNobWFya1J1bm5lci5hdmFp
bGFibGVfcGxhbnMpOiBOZXcgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBsaXN0IG9mIGF2YWls
YWJsZSBwbGFucy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
cnVuX2JlbmNobWFyay5weToKKyAgICAgICAgCisgICAgICAgIChwYXJzZV9hcmdzKTogSGVscCBj
bGVhbnVwOiBSZW9yZGVyZWQgb3B0aW9ucyB0byBwdXQgbW9yZSBjb21tb24KKyAgICAgICAgb25l
cyBhdCB0aGUgdG9wLiBGaXhlZCB3b3JkaW5nLiBBZGRlZCBoZWxwIGZvciBlYWNoCisgICAgICAg
IG9wdGlvbi4gRXhwbGFpbmVkIGRlZmF1bHQgZm9yIGVhY2ggb3B0aW9uIHRoYXQgaGFzIG9uZS4K
KworICAgICAgICBOZXcgb3B0aW9uOiAtLWxpc3QtcGxhbnMgd2hpY2ggdGVsbHMgeW91IHRoZSBh
dmFpbGFibGUgYmVuY2htYXJrcy4KKyAgICAgICAgCisgICAgICAgIENvZGUgY2xlYW51cDogUmVt
b3ZlZCB1c2Ugb2YgZGVzdCB3aGVyZSByZWR1bmRhbnQsIG1hZGUgdmFyaWFibGUKKyAgICAgICAg
bmFtZXMgY29uZm9ybWluZyB0byBQeXRob24gY29kaW5nIHN0eWxlLgorICAgICAgICAKKyAgICAg
ICAgKHJ1bl9iZW5jaG1hcmtfcGxhbik6IEFkYXB0ZWQgZm9yIG5ldyB2YXJpYWJsZSBuYW1lcy4K
KyAgICAgICAgKGxpc3RfYmVuY2htYXJrX3BsYW5zKTogTmV3IGhlbHBlciBmb3IgLS1saXN0LXBs
YW5zIG9wdGlvbi4KKyAgICAgICAgKHN0YXJ0KTogQWNjb3VudCBmb3IgLS1saXN0LXBsYW5zLiBB
bHNvIHVzZQorICAgICAgICBCZWNobWFya1J1bm5lci5hdmFpbGFibGVfcGxhbnMgaW5zdGVhZCBv
ZiBkdXBsaWNhdGluZworICAgICAgICBjb2RlL2tub3dsZWRnZSBoZXJlLgorCiAyMDE3LTA5LTI5
ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIGdpZ2Fj
YWdlIG9uIGlPUwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2JlbmNobWFya19ydW5uZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHkJKHJldmlzaW9uIDIyMzAyNCkK
KysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVu
bmVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMiBAQCBjbGFzcyBCZW5jaG1hcmtS
dW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICByZXR1cm4gYWJzUGF0aAogICAgICAgICBy
ZXR1cm4gcGxhbl9maWxlCiAKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGF2YWlsYWJsZV9w
bGFucygpOgorICAgICAgICBwbGFuX2RpcmVjdG9yeSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnZGF0YS9wbGFucycpCisgICAgICAgIHBsYW5zID0gW3BsYW5fZmls
ZS5yZXBsYWNlKCIucGxhbiIsICIiKSBmb3IgcGxhbl9maWxlIGluIG9zLmxpc3RkaXIocGxhbl9k
aXJlY3RvcnkpIGlmIHBsYW5fZmlsZS5lbmRzd2l0aCgiLnBsYW4iKV0KKyAgICAgICAgcmV0dXJu
IHBsYW5zCisKICAgICBkZWYgX3J1bl9vbmVfdGVzdChzZWxmLCB3ZWJfcm9vdCwgdGVzdF9maWxl
KToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignQmVuY2htYXJrUnVubmVyIGlz
IGFuIGFic3RyYWN0IGNsYXNzIGFuZCBzaG91bGRuXCd0IGJlIGluc3RhbnRpYXRlZC4nKQogCklu
ZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvcnVuX2JlbmNobWFy
ay5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvcnVuX2JlbmNobWFyay5weQkocmV2aXNpb24gMjIzMDI0KQorKysgVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3J1bl9iZW5jaG1hcmsucHkJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDQwICszMyw0NSBAQCBkZWYgZGVmYXVsdF9icm93c2VyKCk6CiAKIAogZGVmIHBhcnNl
X2FyZ3MoKToKLSAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlv
bj0nQXV0b21hdGUgdGhlIGJyb3dzZXIgYmFzZWQgcGVyZm9ybWFuY2UgYmVuY2htYXJrcycpCi0g
ICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1vdXRwdXQtZmlsZScsIGRlc3Q9J291dHB1dCcsIGRl
ZmF1bHQ9Tm9uZSkKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWJ1aWxkLWRpcmVjdG9yeScs
IGRlc3Q9J2J1aWxkRGlyJywgaGVscD0nUGF0aCB0byB0aGUgYnJvd3NlciBleGVjdXRhYmxlLiBl
LmcuIFdlYktpdEJ1aWxkL1JlbGVhc2UvJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXBs
YXRmb3JtJywgZGVzdD0ncGxhdGZvcm0nLCBkZWZhdWx0PWRlZmF1bHRfcGxhdGZvcm0oKSwgY2hv
aWNlcz1Ccm93c2VyRHJpdmVyRmFjdG9yeS5hdmFpbGFibGVfcGxhdGZvcm1zKCkpCi0gICAgcGFy
c2VyLmFkZF9hcmd1bWVudCgnLS1icm93c2VyJywgZGVzdD0nYnJvd3NlcicsIGRlZmF1bHQ9ZGVm
YXVsdF9icm93c2VyKCksIGNob2ljZXM9QnJvd3NlckRyaXZlckZhY3RvcnkuYXZhaWxhYmxlX2Jy
b3dzZXJzKCkpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kZWJ1ZycsIGFjdGlvbj0nc3Rv
cmVfdHJ1ZScpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1sb2NhbC1jb3B5JywgZGVzdD0n
bG9jYWxDb3B5JywgaGVscD0nUGF0aCB0byBhIGxvY2FsIGNvcHkgb2YgdGhlIGJlbmNobWFyay4g
ZS5nLiBQZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci8nKQotICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoJy0tY291bnQnLCBkZXN0PSdjb3VudE92ZXJyaWRlJywgdHlwZT1pbnQsIGhlbHA9J051bWJl
ciBvZiB0aW1lcyB0byBydW4gdGhlIGJlbmNobWFyay4gZS5nLiA1JykKLSAgICBwYXJzZXIuYWRk
X2FyZ3VtZW50KCctLWRldmljZS1pZCcsIGRlc3Q9J2RldmljZV9pZCcsIGRlZmF1bHQ9Tm9uZSkK
LSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRyaXZlcicsIGRlc3Q9J2RyaXZlcicsIGRlZmF1
bHQ9V2ViU2VydmVyQmVuY2htYXJrUnVubmVyLm5hbWUsIGNob2ljZXM9YmVuY2htYXJrX3J1bm5l
cl9zdWJjbGFzc2VzLmtleXMoKSkKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW5vLWFkanVz
dC11bml0JywgZGVzdD0nc2NhbGVfdW5pdCcsIGFjdGlvbj0nc3RvcmVfZmFsc2UnKQorICAgIHBh
cnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSdSdW4gYnJvd3NlciBi
YXNlZCBwZXJmb3JtYW5jZSBiZW5jaG1hcmtzLiBUbyBydW4gYSBzaW5nbGUgYmVuY2htYXJrIGlu
IHRoZSByZWNvbW1lbmRlZCB3YXksIHVzZSBydW4tYmVuY2htYXJrIC0tcGxhbi4gVG8gc2VlIHRo
ZSB2YWlsYWJsZSBiZW5jaG1hcmtzLCB1c2UgcnVuLWJlbmNobWFyayAtLWxpc3QtcGxhbnMuJykK
ICAgICBtdXR1YWxfZ3JvdXAgPSBwYXJzZXIuYWRkX211dHVhbGx5X2V4Y2x1c2l2ZV9ncm91cChy
ZXF1aXJlZD1UcnVlKQotICAgIG11dHVhbF9ncm91cC5hZGRfYXJndW1lbnQoJy0tcmVhZC1yZXN1
bHRzLWpzb24nLCBkZXN0PSdqc29uX2ZpbGUnLCBoZWxwPSdTcGVjaWZ5IGZpbGUgeW91IHdhbnQg
dG8gZm9ybWF0JykKLSAgICBtdXR1YWxfZ3JvdXAuYWRkX2FyZ3VtZW50KCctLXBsYW4nLCBkZXN0
PSdwbGFuJywgaGVscD0nQmVuY2htYXJrIHBsYW4gdG8gcnVuLiBlLmcuIHNwZWVkb21ldGVyLCBq
ZXRzdHJlYW0nKQotICAgIG11dHVhbF9ncm91cC5hZGRfYXJndW1lbnQoJy0tYWxscGxhbnMnLCBh
Y3Rpb249J3N0b3JlX3RydWUnLCBoZWxwPSdSdW4gYWxsIGF2YWlsYWJsZSBiZW5jaG1hcmsgcGxh
bnMgc2VxdWVudGlhbGx5JykKKyAgICBtdXR1YWxfZ3JvdXAuYWRkX2FyZ3VtZW50KCctLXBsYW4n
LCBoZWxwPSdSdW4gYSBzcGVjaWZpYyBiZW5jaG1hcmsgcGxhbiAoZS5nLiBzcGVlZG9tZXRlciwg
amV0c3RyZWFtKS4nKQorICAgIG11dHVhbF9ncm91cC5hZGRfYXJndW1lbnQoJy0tbGlzdC1wbGFu
cycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9J0xpc3QgYWxsIGF2YWlsYWJsZSBiZW5jaG1h
cmsgcGxhbnMuJykKKyAgICBtdXR1YWxfZ3JvdXAuYWRkX2FyZ3VtZW50KCctLWFsbHBsYW5zJywg
YWN0aW9uPSdzdG9yZV90cnVlJywgaGVscD0nUnVuIGFsbCBhdmFpbGFibGUgYmVuY2htYXJrIHBs
YW5zIGluIG9yZGVyLicpCisgICAgbXV0dWFsX2dyb3VwLmFkZF9hcmd1bWVudCgnLS1yZWFkLXJl
c3VsdHMtanNvbicsIGRlc3Q9J2pzb25fZmlsZScsIGhlbHA9J0luc3RlYWQgb2YgcnVubmluZyBh
IGJlbmNobWFyaywgZm9ybWF0IHRoZSBvdXRwdXQgc2F2ZWQgaW4gSlNPTl9GSUxFLicpCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgnLS1vdXRwdXQtZmlsZScsIGRlZmF1bHQ9Tm9uZSwgaGVscD0n
U2F2ZSBkZXRhaWxlZCByZXN1bHRzIHRvIE9VVFBVVCBpbiBKU09OIGZvcm1hdC4gQnkgZGVmYXVs
dCwgcmVzdWx0cyB3aWxsIG5vdCBiZSBzYXZlZC4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
Jy0tYnVpbGQtZGlyZWN0b3J5JywgZGVzdD0nYnVpbGRfZGlyJywgaGVscD0nUGF0aCB0byB0aGUg
YnJvd3NlciBleGVjdXRhYmxlIChlLmcuIFdlYktpdEJ1aWxkL1JlbGVhc2UvKS4nKQorICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoJy0tY291bnQnLCB0eXBlPWludCwgaGVscD0nTnVtYmVyIG9mIHRp
bWVzIHRvIHJ1biB0aGUgYmVuY2htYXJrIChlLmcuIDUpLicpCisgICAgcGFyc2VyLmFkZF9hcmd1
bWVudCgnLS1kcml2ZXInLCBkZWZhdWx0PVdlYlNlcnZlckJlbmNobWFya1J1bm5lci5uYW1lLCBj
aG9pY2VzPWJlbmNobWFya19ydW5uZXJfc3ViY2xhc3Nlcy5rZXlzKCksIGhlbHA9J1VzZSB0aGUg
c3BlY2lmaWVkIGJlbmNobWFyayBkcml2ZXIuIERlZmF1bHRzIHRvICVzLicgJSBXZWJTZXJ2ZXJC
ZW5jaG1hcmtSdW5uZXIubmFtZSkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWJyb3dzZXIn
LCBkZWZhdWx0PWRlZmF1bHRfYnJvd3NlcigpLCBjaG9pY2VzPUJyb3dzZXJEcml2ZXJGYWN0b3J5
LmF2YWlsYWJsZV9icm93c2VycygpLCBoZWxwPSdCcm93c2VyIHRvIHJ1biB0aGUgbmVjaG1hcmsg
aW4uIERlZmF1bHRzIHRvICVzLicgJSBkZWZhdWx0X2Jyb3dzZXIoKSkKKyAgICBwYXJzZXIuYWRk
X2FyZ3VtZW50KCctLXBsYXRmb3JtJywgZGVmYXVsdD1kZWZhdWx0X3BsYXRmb3JtKCksIGNob2lj
ZXM9QnJvd3NlckRyaXZlckZhY3RvcnkuYXZhaWxhYmxlX3BsYXRmb3JtcygpLCBoZWxwPSdQbGF0
Zm9ybSB0aGF0IHRoaXMgc2NyaXB0IGlzIHJ1bm5pbmcgb24uIERlZmF1bHRzIHRvICVzLicgJSBk
ZWZhdWx0X3BsYXRmb3JtKCkpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1sb2NhbC1jb3B5
JywgaGVscD0nUGF0aCB0byBhIGxvY2FsIGNvcHkgb2YgdGhlIGJlbmNobWFyayAoZS5nLiBQZXJm
b3JtYW5jZVRlc3RzL1N1blNwaWRlci8pLicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1k
ZXZpY2UtaWQnLCBkZWZhdWx0PU5vbmUsIGhlbHA9J1VuZG9jdW1lbnRlZCBvcHRpb24gZm9yIG1v
YmlsZSBkZXZpY2UgdGVzdGluZy4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZGVidWcn
LCBhY3Rpb249J3N0b3JlX3RydWUnLCBoZWxwPSdFbmFibGUgZGVidWcgbG9nZ2luZy4nKQorICAg
IHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbm8tYWRqdXN0LXVuaXQnLCBkZXN0PSdzY2FsZV91bml0
JywgYWN0aW9uPSdzdG9yZV9mYWxzZScsIGhlbHA9IkRvbid0IGNvbnZlcnQgdG8gc2NpZW50aWZp
YyBub3RhdGlvbi4iKQogCiAgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKIAogICAgIGlm
IGFyZ3MuZGVidWc6CiAgICAgICAgIF9sb2cuc2V0TGV2ZWwobG9nZ2luZy5ERUJVRykKICAgICBf
bG9nLmRlYnVnKCdJbml0aWFsaXppbmcgcHJvZ3JhbSB3aXRoIGZvbGxvd2luZyBwYXJhbWV0ZXJz
JykKLSAgICBfbG9nLmRlYnVnKCdcdG91dHB1dCBmaWxlIG5hbWVcdDogJXMnICUgYXJncy5vdXRw
dXQpCi0gICAgX2xvZy5kZWJ1ZygnXHRidWlsZCBkaXJlY3RvcnlcdDogJXMnICUgYXJncy5idWls
ZERpcikKKyAgICBfbG9nLmRlYnVnKCdcdG91dHB1dCBmaWxlIG5hbWVcdDogJXMnICUgYXJncy5v
dXRwdXRfZmlsZSkKKyAgICBfbG9nLmRlYnVnKCdcdGJ1aWxkIGRpcmVjdG9yeVx0OiAlcycgJSBh
cmdzLmJ1aWxkX2RpcikKICAgICBfbG9nLmRlYnVnKCdcdHBsYW4gbmFtZVx0OiAlcycsIGFyZ3Mu
cGxhbikKIAogICAgIHJldHVybiBhcmdzCiAKLQogZGVmIHJ1bl9iZW5jaG1hcmtfcGxhbihhcmdz
LCBwbGFuKToKICAgICBiZW5jaG1hcmtfcnVubmVyX2NsYXNzID0gYmVuY2htYXJrX3J1bm5lcl9z
dWJjbGFzc2VzW2FyZ3MuZHJpdmVyXQotICAgIHJ1bm5lciA9IGJlbmNobWFya19ydW5uZXJfY2xh
c3MocGxhbiwgYXJncy5sb2NhbENvcHksIGFyZ3MuY291bnRPdmVycmlkZSwgYXJncy5idWlsZERp
ciwgYXJncy5vdXRwdXQsIGFyZ3MucGxhdGZvcm0sIGFyZ3MuYnJvd3NlciwgYXJncy5zY2FsZV91
bml0LCBhcmdzLmRldmljZV9pZCkKKyAgICBydW5uZXIgPSBiZW5jaG1hcmtfcnVubmVyX2NsYXNz
KHBsYW4sIGFyZ3MubG9jYWxfY29weSwgYXJncy5jb3VudCwgYXJncy5idWlsZF9kaXIsIGFyZ3Mu
b3V0cHV0X2ZpbGUsIGFyZ3MucGxhdGZvcm0sIGFyZ3MuYnJvd3NlciwgYXJncy5zY2FsZV91bml0
LCBhcmdzLmRldmljZV9pZCkKICAgICBydW5uZXIuZXhlY3V0ZSgpCiAKIAorZGVmIGxpc3RfYmVu
Y2htYXJrX3BsYW5zKCk6CisgICAgcHJpbnQgIkF2YWlsYWJsZSBiZW5jaG1hcmsgcGxhbnM6ICIK
KyAgICBmb3IgcGxhbiBpbiBCZW5jaG1hcmtSdW5uZXIuYXZhaWxhYmxlX3BsYW5zKCk6CisgICAg
ICAgIHByaW50ICJcdCVzIiAlIHBsYW4KKwogZGVmIHN0YXJ0KGFyZ3MpOgogICAgIGlmIGFyZ3Mu
anNvbl9maWxlOgogICAgICAgICByZXN1bHRzX2pzb24gPSBqc29uLmxvYWQob3BlbihhcmdzLmpz
b25fZmlsZSwgJ3InKSkKQEAgLTc3LDExICs4MiwxMCBAQCBkZWYgc3RhcnQoYXJncyk6CiAgICAg
aWYgYXJncy5hbGxwbGFuczoKICAgICAgICAgZmFpbGVkID0gW10KICAgICAgICAgc2tpcHBlZCA9
IFtdCi0gICAgICAgIHBsYW5kaXIgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmls
ZV9fKSwgJ2RhdGEvcGxhbnMnKQotICAgICAgICBwbGFubGlzdCA9IFtvcy5wYXRoLnNwbGl0ZXh0
KGYpWzBdIGZvciBmIGluIG9zLmxpc3RkaXIocGxhbmRpcikgaWYgZi5lbmRzd2l0aCgnLnBsYW4n
KV0KKyAgICAgICAgcGxhbmxpc3QgPSBCZW5jaG1hcmtSdW5uZXIuYXZhaWxhYmxlX3BsYW5zKCkK
ICAgICAgICAgc2tpcHBlZGZpbGUgPSBvcy5wYXRoLmpvaW4ocGxhbmRpciwgJ1NraXBwZWQnKQog
ICAgICAgICBpZiBub3QgcGxhbmxpc3Q6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0Nh
bnQgZmluZCBhbnkgLnBsYW4gZmlsZSBpbiBkaXJlY3RvcnkgJXMnICUgcGxhbmRpcikKKyAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQ2FudCBmaW5kIGFueSAucGxhbiBmaWxlIGluIGRpcmVj
dG9yeSAlcycgJSBCZW5jaG1hcmtSdW5uZXIuYXZhaWxhYmxlX3BsYW5zKCkpCiAgICAgICAgIGlm
IG9zLnBhdGguaXNmaWxlKHNraXBwZWRmaWxlKToKICAgICAgICAgICAgIHNraXBwZWQgPSBbbGlu
ZS5zdHJpcCgpIGZvciBsaW5lIGluIG9wZW4oc2tpcHBlZGZpbGUpIGlmIG5vdCBsaW5lLnN0YXJ0
c3dpdGgoJyMnKSBhbmQgbGVuKGxpbmUpID4gMV0KICAgICAgICAgZm9yIHBsYW4gaW4gc29ydGVk
KHBsYW5saXN0KToKQEAgLTEwMCw2ICsxMDQsMTAgQEAgZGVmIHN0YXJ0KGFyZ3MpOgogICAgICAg
ICBpZiBmYWlsZWQ6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCdUaGUgZm9sbG93aW5nIGJlbmNo
bWFyayBwbGFucyBoYXZlIGZhaWxlZDogJXMnICUgZmFpbGVkKQogICAgICAgICByZXR1cm4gbGVu
KGZhaWxlZCkKKyAgICBpZiBhcmdzLmxpc3RfcGxhbnM6CisgICAgICAgIGxpc3RfYmVuY2htYXJr
X3BsYW5zKCkKKyAgICAgICAgcmV0dXJuCisKICAgICBydW5fYmVuY2htYXJrX3BsYW4oYXJncywg
YXJncy5wbGFuKQogCiAK
</data>
<flag name="review"
          id="342909"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>