<?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>65066</bug_id>
          
          <creation_ts>2011-07-23 07:47:13 -0700</creation_ts>
          <short_desc>Extract TestConfiguration from base and write a few unit tests to capture current behavior.</short_desc>
          <delta_ts>2011-07-23 14:16:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>64385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>441381</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-23 07:47:13 -0700</bug_when>
    <thetext>Extract TestConfiguration from base and write a few unit tests to capture current behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441382</commentid>
    <comment_count>1</comment_count>
      <attachid>101811</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-23 07:47:55 -0700</bug_when>
    <thetext>Created attachment 101811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441392</commentid>
    <comment_count>2</comment_count>
      <attachid>101811</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-23 09:21:12 -0700</bug_when>
    <thetext>Comment on attachment 101811
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:55
&gt; +    def all_test_configurations(self):

@classmethod ?

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:70
&gt; +    def all_systems(self):

@classmethod ?

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:79
&gt; +    def all_build_types(self):

@classmethod ?

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:82
&gt; +    def all_graphics_types(self):

@classmethod ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441409</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-23 13:18:51 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 101811 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=101811&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:55
&gt; &gt; +    def all_test_configurations(self):
&gt; 
&gt; @classmethod ?

Yes.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:70
&gt; &gt; +    def all_systems(self):
&gt; 
&gt; @classmethod ?

Yes!

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:79
&gt; &gt; +    def all_build_types(self):
&gt; 
&gt; @classmethod ?

Yes!!

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py:82
&gt; &gt; +    def all_graphics_types(self):
&gt; 
&gt; @classmethod ?

Oh, YES!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441410</commentid>
    <comment_count>4</comment_count>
      <attachid>101811</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-23 13:19:47 -0700</bug_when>
    <thetext>Comment on attachment 101811
Patch

Actually, these methods shouldn&apos;t be part of TestConfiguration at all. They would be port-dependent and should hang off the port object. I&apos;ll move them in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441411</commentid>
    <comment_count>5</comment_count>
      <attachid>101811</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-23 14:16:45 -0700</bug_when>
    <thetext>Comment on attachment 101811
Patch

Clearing flags on attachment: 101811

Committed r91639: &lt;http://trac.webkit.org/changeset/91639&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441412</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-23 14:16:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101811</attachid>
            <date>2011-07-23 07:47:55 -0700</date>
            <delta_ts>2011-07-23 14:16:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65066-20110723074754.patch</filename>
            <type>text/plain</type>
            <size>12153</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE2MzMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjMTk4NzE5ZDI5YjU4YzE2ZWUzNGUxMjA4ZDg1MzUwYzJh
YjhhMTZjLi5lN2RiMWI2MzY1NTE0Mjg0MjQ5YWE4N2JmYmYzZjhlMzE1MjRjNDE1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDctMjMgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
KworICAgICAgICBFeHRyYWN0IFRlc3RDb25maWd1cmF0aW9uIGZyb20gYmFzZSBhbmQgd3JpdGUg
YSBmZXcgdW5pdCB0ZXN0cyB0byBjYXB0dXJlIGN1cnJlbnQgYmVoYXZpb3IuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA2NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlvbi5weTogQWRkZWQuCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfY29uZmlndXJhdGlv
bl91bml0dGVzdC5weTogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9iYXNlLnB5OiBNb3ZlZCBjb2RlIHRvIHRlc3RfY29uZmlndXJhdGlvbi5weQor
CiAyMDExLTA3LTIyICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
RG9uJ3QgbWF0Y2ggJ0RFQlVHJyB3aGVuIHRyeWluZyB0byBmaWx0ZXIgQlVHIG1vZGlmaWVycy4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90
ZXN0X2NvbmZpZ3VyYXRpb24ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3NWMxMmQyZGFkYzQ1
YWI2YjI4ZDUxMmQxM2NmY2M4YzY1YTU3N2EKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uLnB5CkBA
IC0wLDAgKzEsODMgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMK
KyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
IyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIEdvb2dsZSBuYW1lIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIlJlcHJlc2VudGF0aW9uIG9mIGEgbGF5b3V0IHRl
c3QgY29uZmlndXJhdGlvbi4iIiIKKworCitjbGFzcyBUZXN0Q29uZmlndXJhdGlvbihvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0PU5vbmUsIHZlcnNpb249Tm9uZSwgYXJjaGl0
ZWN0dXJlPU5vbmUsIGJ1aWxkX3R5cGU9Tm9uZSwgZ3JhcGhpY3NfdHlwZT1Ob25lKToKKyAgICAg
ICAgc2VsZi52ZXJzaW9uID0gdmVyc2lvbiBvciBwb3J0LnZlcnNpb24oKQorICAgICAgICBzZWxm
LmFyY2hpdGVjdHVyZSA9IGFyY2hpdGVjdHVyZSBvciBwb3J0LmFyY2hpdGVjdHVyZSgpCisgICAg
ICAgIHNlbGYuYnVpbGRfdHlwZSA9IGJ1aWxkX3R5cGUgb3IgcG9ydC5vcHRpb25zLmNvbmZpZ3Vy
YXRpb24ubG93ZXIoKQorICAgICAgICBzZWxmLmdyYXBoaWNzX3R5cGUgPSBncmFwaGljc190eXBl
IG9yIHBvcnQuZ3JhcGhpY3NfdHlwZSgpCisKKyAgICBkZWYgaXRlbXMoc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLl9fZGljdF9fLml0ZW1zKCkKKworICAgIGRlZiBrZXlzKHNlbGYpOgorICAg
ICAgICByZXR1cm4gc2VsZi5fX2RpY3RfXy5rZXlzKCkKKworICAgIGRlZiBfX3N0cl9fKHNlbGYp
OgorICAgICAgICByZXR1cm4gKCI8JSh2ZXJzaW9uKXMsICUoYXJjaGl0ZWN0dXJlKXMsICUoYnVp
bGRfdHlwZSlzLCAlKGdyYXBoaWNzX3R5cGUpcz4iICUKKyAgICAgICAgICAgICAgICBzZWxmLl9f
ZGljdF9fKQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIlRlc3RD
b25maWcodmVyc2lvbj0nJSh2ZXJzaW9uKXMnLCBhcmNoaXRlY3R1cmU9JyUoYXJjaGl0ZWN0dXJl
KXMnLCBidWlsZF90eXBlPSclKGJ1aWxkX3R5cGUpcycsIGdyYXBoaWNzX3R5cGU9JyUoZ3JhcGhp
Y3NfdHlwZSlzJykiICUgc2VsZi5fX2RpY3RfXworCisgICAgZGVmIHZhbHVlcyhzZWxmKToKKyAg
ICAgICAgIiIiUmV0dXJucyB0aGUgY29uZmlndXJhdGlvbiB2YWx1ZXMgb2YgdGhpcyBpbnN0YW5j
ZSBhcyBhIHR1cGxlLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fX2RpY3RfXy52YWx1ZXMoKQor
CisgICAgZGVmIGFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKHNlbGYpOgorICAgICAgICAiIiJSZXR1
cm5zIGEgc2VxdWVuY2Ugb2YgdGhlIFRlc3RDb25maWd1cmF0aW9ucyB0aGUgcG9ydCBzdXBwb3J0
cy4iIiIKKyAgICAgICAgIyBCeSBkZWZhdWx0LCB3ZSBhc3N1bWUgd2Ugd2FudCB0byB0ZXN0IGV2
ZXJ5IGdyYXBoaWNzIHR5cGUgaW4KKyAgICAgICAgIyBldmVyeSBjb25maWd1cmF0aW9uIG9uIGV2
ZXJ5IHN5c3RlbS4KKyAgICAgICAgdGVzdF9jb25maWd1cmF0aW9ucyA9IFtdCisgICAgICAgIGZv
ciB2ZXJzaW9uLCBhcmNoaXRlY3R1cmUgaW4gc2VsZi5hbGxfc3lzdGVtcygpOgorICAgICAgICAg
ICAgZm9yIGJ1aWxkX3R5cGUgaW4gc2VsZi5hbGxfYnVpbGRfdHlwZXMoKToKKyAgICAgICAgICAg
ICAgICBmb3IgZ3JhcGhpY3NfdHlwZSBpbiBzZWxmLmFsbF9ncmFwaGljc190eXBlcygpOgorICAg
ICAgICAgICAgICAgICAgICB0ZXN0X2NvbmZpZ3VyYXRpb25zLmFwcGVuZChUZXN0Q29uZmlndXJh
dGlvbigKKyAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb249dmVyc2lvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGFyY2hpdGVjdHVyZT1hcmNoaXRlY3R1cmUsCisgICAgICAgICAgICAg
ICAgICAgICAgICBidWlsZF90eXBlPWJ1aWxkX3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICBncmFwaGljc190eXBlPWdyYXBoaWNzX3R5cGUpKQorICAgICAgICByZXR1cm4gdGVzdF9jb25m
aWd1cmF0aW9ucworCisgICAgZGVmIGFsbF9zeXN0ZW1zKHNlbGYpOgorICAgICAgICByZXR1cm4g
KCgnbGVvcGFyZCcsICd4ODYnKSwKKyAgICAgICAgICAgICAgICAoJ3Nub3dsZW9wYXJkJywgJ3g4
NicpLAorICAgICAgICAgICAgICAgICgneHAnLCAneDg2JyksCisgICAgICAgICAgICAgICAgKCd2
aXN0YScsICd4ODYnKSwKKyAgICAgICAgICAgICAgICAoJ3dpbjcnLCAneDg2JyksCisgICAgICAg
ICAgICAgICAgKCdsdWNpZCcsICd4ODYnKSwKKyAgICAgICAgICAgICAgICAoJ2x1Y2lkJywgJ3g4
Nl82NCcpKQorCisgICAgZGVmIGFsbF9idWlsZF90eXBlcyhzZWxmKToKKyAgICAgICAgcmV0dXJu
ICgnZGVidWcnLCAncmVsZWFzZScpCisKKyAgICBkZWYgYWxsX2dyYXBoaWNzX3R5cGVzKHNlbGYp
OgorICAgICAgICByZXR1cm4gKCdjcHUnLCAnZ3B1JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2NvbmZpZ3VyYXRpb25fdW5pdHRl
c3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9j
b25maWd1cmF0aW9uX3VuaXR0ZXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjZWE3Yzg0YjcxNjc0ZDJkODkw
MDJhNWIxOGFlZWFkNTkzMjczZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9jb25maWd1cmF0aW9uX3VuaXR0ZXN0LnB5
CkBAIC0wLDAgKzEsNzIgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoK
KyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIEdvb2dsZSBuYW1lIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworaW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gd2Vi
a2l0cHkubGF5b3V0X3Rlc3RzIGltcG9ydCBwb3J0Citmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0
cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCAqCisKKworY2xhc3MgVGVzdENvbmZp
Z3VyYXRpb25UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9pdGVtcyhzZWxm
KToKKyAgICAgICAgY29uZmlnID0gVGVzdENvbmZpZ3VyYXRpb24oTm9uZSwgJ3hwJywgJ3g4Nics
ICdyZWxlYXNlJywgJ2NwdScpCisgICAgICAgIHJlc3VsdF9jb25maWdfZGljdCA9IHt9CisgICAg
ICAgIGZvciBjYXRlZ29yeSwgc3BlY2lmaWVyIGluIGNvbmZpZy5pdGVtcygpOgorICAgICAgICAg
ICAgcmVzdWx0X2NvbmZpZ19kaWN0W2NhdGVnb3J5XSA9IHNwZWNpZmllcgorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyh7J3ZlcnNpb24nOiAneHAnLCAnYXJjaGl0ZWN0dXJlJzogJ3g4NicsICdi
dWlsZF90eXBlJzogJ3JlbGVhc2UnLCAnZ3JhcGhpY3NfdHlwZSc6ICdjcHUnfSwgcmVzdWx0X2Nv
bmZpZ19kaWN0KQorCisgICAgZGVmIHRlc3Rfa2V5cyhzZWxmKToKKyAgICAgICAgY29uZmlnID0g
VGVzdENvbmZpZ3VyYXRpb24oTm9uZSwgJ3hwJywgJ3g4NicsICdyZWxlYXNlJywgJ2NwdScpCisg
ICAgICAgIHJlc3VsdF9jb25maWdfa2V5cyA9IFtdCisgICAgICAgIGZvciBjYXRlZ29yeSBpbiBj
b25maWcua2V5cygpOgorICAgICAgICAgICAgcmVzdWx0X2NvbmZpZ19rZXlzLmFwcGVuZChjYXRl
Z29yeSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2V0KFsnZ3JhcGhpY3NfdHlwZScsICd2
ZXJzaW9uJywgJ2FyY2hpdGVjdHVyZScsICdidWlsZF90eXBlJ10pLCBzZXQocmVzdWx0X2NvbmZp
Z19rZXlzKSkKKworICAgIGRlZiB0ZXN0X3N0cihzZWxmKToKKyAgICAgICAgY29uZmlnID0gVGVz
dENvbmZpZ3VyYXRpb24oTm9uZSwgJ3hwJywgJ3g4NicsICdyZWxlYXNlJywgJ2NwdScpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCc8eHAsIHg4NiwgcmVsZWFzZSwgY3B1PicsIHN0cihjb25m
aWcpKQorCisgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKKyAgICAgICAgY29uZmlnID0gVGVzdENv
bmZpZ3VyYXRpb24oTm9uZSwgJ3hwJywgJ3g4NicsICdyZWxlYXNlJywgJ2NwdScpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKCJUZXN0Q29uZmlnKHZlcnNpb249J3hwJywgYXJjaGl0ZWN0dXJl
PSd4ODYnLCBidWlsZF90eXBlPSdyZWxlYXNlJywgZ3JhcGhpY3NfdHlwZT0nY3B1JykiLCByZXBy
KGNvbmZpZykpCisKKyAgICBkZWYgdGVzdF92YWx1ZXMoc2VsZik6CisgICAgICAgIGNvbmZpZyA9
IFRlc3RDb25maWd1cmF0aW9uKE5vbmUsICd4cCcsICd4ODYnLCAncmVsZWFzZScsICdjcHUnKQor
ICAgICAgICByZXN1bHRfY29uZmlnX3ZhbHVlcyA9IFtdCisgICAgICAgIGZvciB2YWx1ZSBpbiBj
b25maWcudmFsdWVzKCk6CisgICAgICAgICAgICByZXN1bHRfY29uZmlnX3ZhbHVlcy5hcHBlbmQo
dmFsdWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNldChbJ3hwJywgJ3g4NicsICdyZWxl
YXNlJywgJ2NwdSddKSwgc2V0KHJlc3VsdF9jb25maWdfdmFsdWVzKSkKKworICAgIGRlZiB0ZXN0
X3BvcnRfaW5pdChzZWxmKToKKyAgICAgICAgY29uZmlnID0gVGVzdENvbmZpZ3VyYXRpb24ocG9y
dC5nZXQoJ3Rlc3Qtd2luLXhwJywgTm9uZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKCc8
eHAsIHg4NiwgcmVsZWFzZSwgY3B1PicsIHN0cihjb25maWcpKQorCisgICAgZGVmIHRlc3RfYWxs
X3Rlc3RfY29uZmlndXJhdGlvbnMoc2VsZik6CisgICAgICAgIGFsbF9jb25maWdzID0gVGVzdENv
bmZpZ3VyYXRpb24oTm9uZSwgJ3hwJywgJ3g4NicsICdyZWxlYXNlJywgJ2NwdScpLmFsbF90ZXN0
X2NvbmZpZ3VyYXRpb25zKCkKKyAgICAgICAgZm9yIGNvbmZpZyBpbiBhbGxfY29uZmlnczoKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKGNvbmZpZywgVGVzdENvbmZpZ3Vy
YXRpb24pKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9i
YXNlLnB5CmluZGV4IGEwNGU2YmIzZjY2NzJkNzRkZjYwM2MyMzc2MTdhMzUwMzQ3ZTkzNjguLjQ3
ZmU1NjI1MmZhYmIzMzM4YmQ1NTRjNWQwNjRkMzA2MjdhYmI1MzkgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKQEAgLTU0LDYgKzU0LDcg
QEAgZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBwYXRoCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUsIFNjcmlwdEVycm9yCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0udXNlciBpbXBvcnQgVXNlcgogZnJvbSB3ZWJraXRw
eS5sYXlvdXRfdGVzdHMgaW1wb3J0IHJlYWRfY2hlY2tzdW1fZnJvbV9wbmcKK2Zyb20gd2Via2l0
cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRlc3RDb25m
aWd1cmF0aW9uCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBjb25maWcg
YXMgcG9ydF9jb25maWcKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IGh0
dHBfbG9jawogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydCBpbXBvcnQgdGVzdF9maWxl
cwpAQCAtOTQ1LDU4ICs5NDYsMyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICIiIlJl
dHVybiB0aGUgIGZ1bGwgcGF0aCB0byB0aGUgdG9wIG9mIHRoZSBiYXNlbGluZSB0cmVlIGZvciBh
CiAgICAgICAgIGdpdmVuIHBsYXRmb3JtLiIiIgogICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5
c3RlbS5qb2luKHNlbGYubGF5b3V0X3Rlc3RzX2RpcigpLCAncGxhdGZvcm0nLCBwbGF0Zm9ybSkK
LQotCi1jbGFzcyBUZXN0Q29uZmlndXJhdGlvbihvYmplY3QpOgotICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBwb3J0PU5vbmUsIHZlcnNpb249Tm9uZSwgYXJjaGl0ZWN0dXJlPU5vbmUsIGJ1aWxkX3R5
cGU9Tm9uZSwgZ3JhcGhpY3NfdHlwZT1Ob25lKToKLSAgICAgICAgc2VsZi52ZXJzaW9uID0gdmVy
c2lvbiBvciBwb3J0LnZlcnNpb24oKQotICAgICAgICBzZWxmLmFyY2hpdGVjdHVyZSA9IGFyY2hp
dGVjdHVyZSBvciBwb3J0LmFyY2hpdGVjdHVyZSgpCi0gICAgICAgIHNlbGYuYnVpbGRfdHlwZSA9
IGJ1aWxkX3R5cGUgb3IgcG9ydC5vcHRpb25zLmNvbmZpZ3VyYXRpb24ubG93ZXIoKQotICAgICAg
ICBzZWxmLmdyYXBoaWNzX3R5cGUgPSBncmFwaGljc190eXBlIG9yIHBvcnQuZ3JhcGhpY3NfdHlw
ZSgpCi0KLSAgICBkZWYgaXRlbXMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9fZGljdF9f
Lml0ZW1zKCkKLQotICAgIGRlZiBrZXlzKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fX2Rp
Y3RfXy5rZXlzKCkKLQotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gKCI8
JSh2ZXJzaW9uKXMsICUoYXJjaGl0ZWN0dXJlKXMsICUoYnVpbGRfdHlwZSlzLCAlKGdyYXBoaWNz
X3R5cGUpcz4iICUKLSAgICAgICAgICAgICAgICBzZWxmLl9fZGljdF9fKQotCi0gICAgZGVmIF9f
cmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIlRlc3RDb25maWcodmVyc2lvbj0nJSh2ZXJz
aW9uKXMnLCBhcmNoaXRlY3R1cmU9JyUoYXJjaGl0ZWN0dXJlKXMnLCBidWlsZF90eXBlPSclKGJ1
aWxkX3R5cGUpcycsIGdyYXBoaWNzX3R5cGU9JyUoZ3JhcGhpY3NfdHlwZSlzJykiICUgc2VsZi5f
X2RpY3RfXwotCi0gICAgZGVmIHZhbHVlcyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUg
Y29uZmlndXJhdGlvbiB2YWx1ZXMgb2YgdGhpcyBpbnN0YW5jZSBhcyBhIHR1cGxlLiIiIgotICAg
ICAgICByZXR1cm4gc2VsZi5fX2RpY3RfXy52YWx1ZXMoKQotCi0gICAgZGVmIGFsbF90ZXN0X2Nv
bmZpZ3VyYXRpb25zKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIGEgc2VxdWVuY2Ugb2YgdGhl
IFRlc3RDb25maWd1cmF0aW9ucyB0aGUgcG9ydCBzdXBwb3J0cy4iIiIKLSAgICAgICAgIyBCeSBk
ZWZhdWx0LCB3ZSBhc3N1bWUgd2Ugd2FudCB0byB0ZXN0IGV2ZXJ5IGdyYXBoaWNzIHR5cGUgaW4K
LSAgICAgICAgIyBldmVyeSBjb25maWd1cmF0aW9uIG9uIGV2ZXJ5IHN5c3RlbS4KLSAgICAgICAg
dGVzdF9jb25maWd1cmF0aW9ucyA9IFtdCi0gICAgICAgIGZvciB2ZXJzaW9uLCBhcmNoaXRlY3R1
cmUgaW4gc2VsZi5hbGxfc3lzdGVtcygpOgotICAgICAgICAgICAgZm9yIGJ1aWxkX3R5cGUgaW4g
c2VsZi5hbGxfYnVpbGRfdHlwZXMoKToKLSAgICAgICAgICAgICAgICBmb3IgZ3JhcGhpY3NfdHlw
ZSBpbiBzZWxmLmFsbF9ncmFwaGljc190eXBlcygpOgotICAgICAgICAgICAgICAgICAgICB0ZXN0
X2NvbmZpZ3VyYXRpb25zLmFwcGVuZChUZXN0Q29uZmlndXJhdGlvbigKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHZlcnNpb249dmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGFyY2hp
dGVjdHVyZT1hcmNoaXRlY3R1cmUsCi0gICAgICAgICAgICAgICAgICAgICAgICBidWlsZF90eXBl
PWJ1aWxkX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBncmFwaGljc190eXBlPWdyYXBo
aWNzX3R5cGUpKQotICAgICAgICByZXR1cm4gdGVzdF9jb25maWd1cmF0aW9ucwotCi0gICAgZGVm
IGFsbF9zeXN0ZW1zKHNlbGYpOgotICAgICAgICByZXR1cm4gKCgnbGVvcGFyZCcsICd4ODYnKSwK
LSAgICAgICAgICAgICAgICAoJ3Nub3dsZW9wYXJkJywgJ3g4NicpLAotICAgICAgICAgICAgICAg
ICgneHAnLCAneDg2JyksCi0gICAgICAgICAgICAgICAgKCd2aXN0YScsICd4ODYnKSwKLSAgICAg
ICAgICAgICAgICAoJ3dpbjcnLCAneDg2JyksCi0gICAgICAgICAgICAgICAgKCdsdWNpZCcsICd4
ODYnKSwKLSAgICAgICAgICAgICAgICAoJ2x1Y2lkJywgJ3g4Nl82NCcpKQotCi0gICAgZGVmIGFs
bF9idWlsZF90eXBlcyhzZWxmKToKLSAgICAgICAgcmV0dXJuICgnZGVidWcnLCAncmVsZWFzZScp
Ci0KLSAgICBkZWYgYWxsX2dyYXBoaWNzX3R5cGVzKHNlbGYpOgotICAgICAgICByZXR1cm4gKCdj
cHUnLCAnZ3B1JykK
</data>

          </attachment>
      

    </bug>

</bugzilla>