<?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>45100</bug_id>
          
          <creation_ts>2010-09-02 03:33:16 -0700</creation_ts>
          <short_desc>dumpAsText / dumpAsMarkUp test conversion should be automated</short_desc>
          <delta_ts>2017-07-18 08:30:12 -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>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>jparent</cc>
    
    <cc>mihaip</cc>
    
    <cc>morrita</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>273300</commentid>
    <comment_count>0</comment_count>
      <attachid>66347</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-02 03:33:16 -0700</bug_when>
    <thetext>Created attachment 66347
prototype

Most of the work needed to convert a test to dumpAsText or dumpAsMarkup tests are very mechanical.  We should write a script that automates this process so that we only need to verify the results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273304</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-02 03:40:40 -0700</bug_when>
    <thetext>I attached a prototype for this script.

Usage will be:
rebaseline-for-dumpas-conv &lt;path to test&gt;

The script first attempts to convert the test autonomously to either runDumpAsTextEditingTest or dump-as-markup test, and launch an editor for the verification.  When this fails, it prints out a message to ask user to manually convert the test, and launches an editor.

After that, the script will prompt the user whether or not he/she wants to rebaseline now.  If the user choses no, the script halts immediately.  If the user chooses to rebaseline, it&apos;ll automatically svn-delete all platform-specific results and run webkit tests to generate new result, then svn-add the new result.

If the user decides that new test result is wrong or test wasn&apos;t converted correctly, he/she can revert all operations done by this script by simply running:
rebaseline-for-dumpas-conv &lt;path to test&gt; --revert</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293967</commentid>
    <comment_count>2</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-13 22:34:20 -0700</bug_when>
    <thetext>Nice!  It would be  fine if this support git.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293970</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-13 22:38:30 -0700</bug_when>
    <thetext>If you use scm.py, you&apos;ll get SVN+GIT functionality for free.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405329</commentid>
    <comment_count>4</comment_count>
      <attachid>93829</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-17 15:17:24 -0700</bug_when>
    <thetext>Created attachment 93829
prototype 2</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>66347</attachid>
            <date>2010-09-02 03:33:16 -0700</date>
            <delta_ts>2011-05-17 15:17:24 -0700</delta_ts>
            <desc>prototype</desc>
            <filename>rebaseline-for-dumpas-conv</filename>
            <type>text/plain</type>
            <size>9512</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgppbXBvcnQgc3lzCmltcG9ydCBvcwppbXBvcnQgcmUKZnJv
bSBzdWJwcm9jZXNzIGltcG9ydCBjYWxsCmZyb20gc3VicHJvY2VzcyBpbXBvcnQgUG9wZW4KaW1w
b3J0IHN1YnByb2Nlc3MKZnJvbSBvcHRwYXJzZSBpbXBvcnQgT3B0aW9uUGFyc2VyCgpkZWYgcmVz
b2x2ZUZpbGVQYXRoKGFyZ3MpOgogICAgaWYgbGVuKGFyZ3MpIDw9IDA6CiAgICAgICAgcHJpbnQg
Ik5lZWQgdG8gc3BlY2lmeSB0aGUgZmlsZW5hbWUiCiAgICAgICAgZXhpdCgpCgogICAgcGF0aCA9
IG9zLnBhdGguYWJzcGF0aChhcmdzWzBdKQogICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBhdGgp
OgogICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKCdMYXlvdXRUZXN0
cycsIGFyZ3NbMF0pKQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYXRoKToKICAgICAg
ICAgICAgcHJpbnQgIlNwZWNpZmllZCBmaWxlIGRvZXMgbm90IGV4aXN0IgogICAgICAgICAgICBl
eGl0KCkKCiAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUocGF0aCk6CiAgICAgICAgcHJpbnQgIlNw
ZWNpZmllZCBwYXRoIGlzIG5vdCBhIGZpbGUiCiAgICAgICAgZXhpdCgpCgogICAgcmV0dXJuIHBh
dGgKCmRlZiByZXNvbHZlV2ViS2l0UGF0aChwYXRoKToKICAgIHRhaWwgPSBOb25lCiAgICB3aGls
ZSB0YWlsICE9ICdMYXlvdXRUZXN0cyc6CiAgICAgICAgcHJldmlvdXNMZW4gPSBsZW4ocGF0aCkK
ICAgICAgICAocGF0aCwgdGFpbCkgPSBvcy5wYXRoLnNwbGl0KHBhdGgpCiAgICAgICAgaWYgbGVu
KHBhdGgpID49IHByZXZpb3VzTGVuOgogICAgICAgICAgICBicmVhawoKICAgIGlmIG5vdCBwYXRo
OgogICAgICAgIHByaW50ICJDYW5ub3QgZGV0ZXJtaW5lIFdlYktpIGNoZWNrb3V0IGxvY2F0aW9u
IgogICAgICAgIGV4aXQoKQoKICAgIHJldHVybiBwYXRoCgpkZWYgcGxhdGZvcm1TcGVjaWZpY1Jl
c3VsdHMod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSk6CiAgICBleHRzID0gWyIucG5nIiwgIi5j
aGVja3N1bSIsICIudHh0Il0KICAgIHJlc3VsdHMgPSBbXQogICAgcGxhdGZvcm1zID0gb3MubGlz
dGRpcihvcy5wYXRoLmpvaW4od2Via2l0UGF0aCwgJ0xheW91dFRlc3RzJywgJ3BsYXRmb3JtJykp
CiAgICBmb3IgcGxhdGZvcm0gaW4gcGxhdGZvcm1zOgogICAgICAgIGlmIHBsYXRmb3JtWzBdID09
ICcuJzoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBmb3IgZXh0IGluIGV4dHM6CiAgICAg
ICAgICAgIGNhbmRpZGF0ZSA9IG9zLnBhdGguam9pbih3ZWJraXRQYXRoLCAnTGF5b3V0VGVzdHMn
LCAncGxhdGZvcm0nLCBwbGF0Zm9ybSwgdGVzdFNpZ25hdHVyZSsnLWV4cGVjdGVkJytleHQpCiAg
ICAgICAgICAgIGlmIHN2blN0YXR1cyhjYW5kaWRhdGUpOgogICAgICAgICAgICAgICAgcmVzdWx0
cy5hcHBlbmQoY2FuZGlkYXRlKQogICAgcmV0dXJuIHJlc3VsdHMKCmRlZiBuZXdFeHBlY3RlZFJl
c3VsdCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlKToKICAgIHJldHVybiBvcy5wYXRoLmpvaW4o
d2Via2l0UGF0aCwgJ0xheW91dFRlc3RzJywgdGVzdFNpZ25hdHVyZSArICctZXhwZWN0ZWQudHh0
JykKCmRlZiB0ZXN0UGF0aCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlKToKICAgIHJldHVybiBv
cy5wYXRoLmpvaW4od2Via2l0UGF0aCwgJ0xheW91dFRlc3RzJywgdGVzdFNpZ25hdHVyZSArICcu
aHRtbCcpCgpkZWYgc3ZuU3RhdHVzKHBhdGgpOgogICAgc3ZuID0gUG9wZW4oWyJzdm4iLCAic3Rh
dHVzIiwgcGF0aF0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJ
UEUpCiAgICAoc3Rkb3V0LCBzdGRlcnIpID0gc3ZuLmNvbW11bmljYXRlKCk7CiAgICBzdGF0dXMg
PSBOb25lCiAgICBpZiBsZW4oc3Rkb3V0KSA+IDAgYW5kIChzdGRvdXRbMF0gPT0gJ00nIG9yIHN0
ZG91dFswXSA9PSAnQScKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHN0ZG91dFswXSA9
PSAnRCcgb3Igc3Rkb3V0WzBdID09ICc/JyBvciBzdGRvdXRbMF0gPT0gJyEnKToKICAgICAgICBz
dGF0dXMgPSBzdGRvdXRbMF0KICAgIGlmIG5vdCByZS5tYXRjaCgic3ZuOiB3YXJuaW5nOiAnLisn
IGlzIG5vdCBhIHdvcmtpbmcgY29weSIsIHN0ZGVycikgYW5kIG9zLnBhdGguaXNmaWxlKHBhdGgp
OgogICAgICAgIHN0YXR1cyA9ICdPSycKICAgIHJldHVybiBzdGF0dXMKCmRlZiBoYXNTdGF0ZW1l
bnQobGluZSwgb2xkKToKICAgIG9sZCA9IG9sZC5yZXBsYWNlKCcoJywgJ1xcKCcpCiAgICBvbGQg
PSBvbGQucmVwbGFjZSgnKScsICdcXCknKQogICAgcmV0dXJuIHJlLm1hdGNoKHInXiguKlxXKT8n
ICsgb2xkICsgcicoOz8oXFcuKik/KSQnLCBsaW5lKQoKZGVmIGxpbmVJc1N0YXRlbWVudChsaW5l
LCBvbGQpOgogICAgb2xkID0gb2xkLnJlcGxhY2UoJygnLCAnXFwoJykKICAgIG9sZCA9IG9sZC5y
ZXBsYWNlKCcpJywgJ1xcKScpCiAgICByZXR1cm4gcmUubWF0Y2gocideXHMqJyArIG9sZCArIHIn
Oz9ccyokJywgbGluZSkKCmRlZiByZXBsYWNlU3RhdGVtZW50KGxpbmUsIG9sZCwgbmV3KToKICAg
IG9sZCA9IG9sZC5yZXBsYWNlKCcoJywgJ1xcKCcpCiAgICBvbGQgPSBvbGQucmVwbGFjZSgnKScs
ICdcXCknKQogICAgcmV0dXJuIHJlLnN1YihyJ14oLipcVyk/JyArIG9sZCArIHInKDs/KFxXLiop
PykkJywgcidcMScgKyBuZXcgKyByJ1wyJywgbGluZSkKCmRlZiBhZGp1c3RJbmRlbnRhdGlvbihs
aW5lLCBuZXdJbmRlbnRhdGlvbik6CiAgICBtID0gcmUubWF0Y2gocideKFxzKikoLiopJCcsIGxp
bmUpICMgdGhpcyBzaG91bGQgYWx3YXlzIG1hdGNoCiAgICByZXR1cm4gbmV3SW5kZW50YXRpb24g
KyBtLmdyb3VwKDIpICsgJ1xuJwoKZGVmIGNvbnZlcnRSdW5FZGl0aW5nVGVzdChwYXRoKToKICAg
IGNvbnZlcnRlZCA9IEZhbHNlCiAgICBuZXdMaW5lcyA9IFtdCiAgICBmID0gb3BlbihwYXRoLCAn
cicpCiAgICBmb3IgbGluZSBpbiBmOgogICAgICAgIGlmIGhhc1N0YXRlbWVudChsaW5lLCAncnVu
RWRpdGluZ1Rlc3QoKScpOgogICAgICAgICAgICBjb252ZXJ0ZWQgPSBUcnVlCiAgICAgICAgbmV3
TGluZXMuYXBwZW5kKHJlcGxhY2VTdGF0ZW1lbnQobGluZSwgJ3J1bkVkaXRpbmdUZXN0KCknLCAn
cnVuRHVtcEFzVGV4dEVkaXRpbmdUZXN0KCknKSk7CiAgICBmLmNsb3NlKCkKCiAgICBpZiBub3Qg
Y29udmVydGVkOgogICAgICAgIHJldHVybiBGYWxzZQoKICAgIHByaW50ICJUZXN0IGNhbGxzIHJ1
bkVkaXRpbmdUZXN0KCkuIENvbnZlcnRpbmcgYXV0b21hdGljYWxseS4uLiIKICAgIGYgPSBvcGVu
KHBhdGgsICd3JykKICAgIGZvciBsaW5lIGluIG5ld0xpbmVzOgogICAgICAgIGYud3JpdGUobGlu
ZSkKICAgIGYuY2xvc2UoKQogICAgcHJpbnQgIkRvbmUiCiAgICByZXR1cm4gVHJ1ZQoKZGVmIGNy
ZWF0ZUR1bXBBc01hcmt1cFNjcmlwdFRhZyh3ZWJraXRQYXRoLCBwYXRoKToKICAgIGR1bXBBc01h
cmt1cFBhdGggPSBvcy5wYXRoLmpvaW4od2Via2l0UGF0aCwgJ0xheW91dFRlc3RzJywgJ3Jlc291
cmNlcycsICdkdW1wLWFzLW1hcmt1cC5qcycpCiAgICByZXR1cm4gJzxzY3JpcHQgc3JjPSInICsg
b3MucGF0aC5yZWxwYXRoKGR1bXBBc01hcmt1cFBhdGgsIHBhdGgpICsgJyI+PC9zY3JpcHQ+XG4n
CgpkZWYgY29udmVydFRvRHVtcEFzTWFya3VwKHdlYmtpdFBhdGgsIHBhdGgpOgogICAgZiA9IG9w
ZW4ocGF0aCwgJ3InKQogICAgY3VycmVudEluZGVudGF0aW9uID0gJycKICAgIGluc2lkZUlmID0g
RmFsc2UKICAgIGlmSGFkQ3VybHlCcmFrZXQgPSBGYWxzZQogICAgYWRkZWREdW1wQXNNYXJrdXAg
PSBGYWxzZQogICAgbmV3RmlsZSA9ICcnCiAgICBmb3IgbGluZSBpbiBmOgogICAgICAgIGlmIHJl
Lm1hdGNoKCcvcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzJywgbGluZSkgb3IgaGFzU3RhdGVt
ZW50KGxpbmUsICdsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCknKToKICAgICAgICAg
ICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIyBUYWtlIGNhcmUgb2YgY2FsbHMgdG8gd2FpdFVudGls
RG9uZSgpIGFuZCBub3RpZnlEb25lKCkKICAgICAgICBpZlN0YXRlbWVudCA9IHJlLm1hdGNoKHIn
XigoXHMqKWlmXHMqXChccyp3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXJccypcKSlccyooeyk/
XHMqJCcsIGxpbmUpCiAgICAgICAgaWYgaWZTdGF0ZW1lbnQ6CiAgICAgICAgICAgIGN1cnJlbnRJ
ZGVudGF0aW9uID0gaWZTdGF0ZW1lbnQuZ3JvdXAoMikKICAgICAgICAgICAgaW5zaWRlSWYgPSBU
cnVlCiAgICAgICAgICAgIGlmIGlmU3RhdGVtZW50Lmdyb3VwKDMpOgogICAgICAgICAgICAgICAg
aWZIYWRDdXJseUJyYWtldCA9IFRydWUKICAgICAgICAgICAgY29udGludWUKICAgICAgICBlbGlm
IGluc2lkZUlmIGFuZCBpZkhhZEN1cmx5QnJha2V0IGFuZCByZS5tYXRjaChyJ15ccyp9XHMqJCcs
IGxpbmUpOgogICAgICAgICAgICBpbnNpZGVJZiA9IEZhbHNlCiAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgZWxpZiBpbnNpZGVJZjoKICAgICAgICAgICAgaWYgbGluZUlzU3RhdGVtZW50KGxp
bmUsICdsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCknKToKICAgICAgICAgICAg
ICAgIGxpbmUgPSBhZGp1c3RJbmRlbnRhdGlvbihyZXBsYWNlU3RhdGVtZW50KGxpbmUsICdsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCknLCAnTWFya3VwLndhaXRVbnRpbERvbmUo
KScpLCBjdXJyZW50SWRlbnRhdGlvbikKICAgICAgICAgICAgZWxpZiBsaW5lSXNTdGF0ZW1lbnQo
bGluZSwgJ2xheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKScpOgogICAgICAgICAgICAg
ICAgbGluZSA9IGFkanVzdEluZGVudGF0aW9uKHJlcGxhY2VTdGF0ZW1lbnQobGluZSwgJ2xheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKScsICdNYXJrdXAubm90aWZ5RG9uZSgpJyksIGN1
cnJlbnRJZGVudGF0aW9uKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIyBUaGlz
IGlzIGEgc3RhdGVtZW50IHdlIGRvbid0IGNvbnZlcnQuIFB1dCBpbiBpZiBzdGF0ZW1lbnQgYmFj
ay4KICAgICAgICAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBtZXJnZSBtdWx0aXBsZSBpZiBz
dGF0ZW1lbnRzIHdoZW4gdGhleSBhcmUgY29uc2VjdGl2ZQogICAgICAgICAgICAgICAgbGluZSA9
IGFkanVzdEluZGVudGF0aW9uKCdpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKVxuJywg
Y3VycmVudElkZW50YXRpb24pICtcCiAgICAgICAgICAgICAgICBhZGp1c3RJbmRlbnRhdGlvbihs
aW5lLCBjdXJyZW50SWRlbnRhdGlvbiArICcgICAgJykKICAgICAgICAgICAgaWYgbm90IGlmSGFk
Q3VybHlCcmFrZXQ6CiAgICAgICAgICAgICAgICBpbnNpZGVJZiA9IEZhbHNlCiAgICAgICAgIyBB
ZGQgc2NyaXB0IHRhZyBhdCBhcHByb3ByaWF0ZSBsb2NhdGlvbgogICAgICAgIGlmIHJlLm1hdGNo
KHInXihccyopPGhlYWQoXHMrLispPz4nLCBsaW5lKToKICAgICAgICAgICAgbGluZSArPSBjcmVh
dGVEdW1wQXNNYXJrdXBTY3JpcHRUYWcod2Via2l0UGF0aCwgcGF0aCkKICAgICAgICAgICAgYWRk
ZWREdW1wQXNNYXJrdXAgPSBUcnVlCiAgICAgICAgbmV3RmlsZSArPSBsaW5lCiAgICBpZiBub3Qg
YWRkZWREdW1wQXNNYXJrdXA6CiAgICAgICAgbmV3RmlsZSA9IGNyZWF0ZUR1bXBBc01hcmt1cFNj
cmlwdFRhZyh3ZWJraXRQYXRoLCBwYXRoKSArIG5ld0ZpbGUKICAgIGYuY2xvc2UoKQoKICAgIGYg
PSBvcGVuKHBhdGgsICd3JykKICAgIGYud3JpdGUobmV3RmlsZSkKICAgIGYuY2xvc2UoKQoKZGVm
IGNvbnZlcnQod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSwgb3B0aW9ucywgZWRpdG9yKToKICAg
IHBhdGggPSB0ZXN0UGF0aCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlKQogICAgaWYgY29udmVy
dFJ1bkVkaXRpbmdUZXN0KHBhdGgpOgogICAgICAgIHBhc3MKICAgIGVsaWYgY29udmVydFRvRHVt
cEFzTWFya3VwKHdlYmtpdFBhdGgsIHBhdGgpOgogICAgICAgIHBhc3MKICAgIGVsc2U6CiAgICAg
ICAgcHJpbnQgIkkgZG9uJ3Qga25vdyBob3cgdG8gY29udmVydCB0aGlzIHRlc3QuIgogICAgICAg
IHByaW50ICJQbGVhc2UgY29udmVydCB0aGUgdGVzdCBtYW51YWxseS4iCgogICAgcHJpbnQgIkxh
dW5jaGluZyB5b3VyIGVkaXRvciIKCiAgICBjb2RlID0gY2FsbChbZWRpdG9yLCBwYXRoXSkKICAg
IGlmIGNvZGUgIT0gMDoKICAgICAgICBwcmludCAiWW91ciBlZGl0b3IgZGlkbid0IGV4aXQgbm9y
bWFsbHkuIFRlcm1pbmF0aW5nIHRoZSBjb252ZXJzaW9uLi4uIgogICAgICAgIGV4aXQoKQoKZGVm
IHJlYmFzZWxpbmUod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSwgb3B0aW9ucyk6CiAgICByZXN1
bHRzID0gcGxhdGZvcm1TcGVjaWZpY1Jlc3VsdHMod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSkK
ICAgIHByaW50ICJEZWxldGluZyBwbGF0Zm9ybSBzcGVjaWZpYyByZXN1bHRzLi4uIgogICAgZm9y
IGV4cGVjdGVkRmlsZSBpbiByZXN1bHRzOgogICAgICAgIGNhbGwoWyJzdm4iLCAiZGVsZXRlIiwg
ZXhwZWN0ZWRGaWxlXSkKCiAgICBwcmludCAiUnVubmluZyB3ZWJraXQgdGVzdHMgdG8gZ2V0IG5l
dyBleHBlY3RlZCByZXN1bHRzLi4uIgogICAgbW9kZSA9ICctLWRlYnVnJwogICAgaWYgb3B0aW9u
cy5yZWxlYXNlOiBtb2RlID0gJy0tcmVsZWFzZScKICAgIGNhbGwoWyJXZWJLaXRUb29scy9TY3Jp
cHRzL3J1bi13ZWJraXQtdGVzdHMiLCBtb2RlLCAiLS1uby1sYXVuY2gtc2FmYXJpIiwgdGVzdFBh
dGgod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSldKQoKICAgIHByaW50ICJBZGRpbmcgbmV3IGV4
cGVjdGVkIHJlc3VsdC4uLiIKICAgIG5ld1Jlc3VsdCA9IG5ld0V4cGVjdGVkUmVzdWx0KHdlYmtp
dFBhdGgsIHRlc3RTaWduYXR1cmUpOwogICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG5ld1Jlc3Vs
dCk6CiAgICAgICAgcHJpbnQgIk9PUFMsIG5vIGV4cGVjdGVkIHJlc3VsdDoiLCBuZXdSZXN1bHQK
ICAgICAgICBwcmludAogICAgICAgIHJldmVydCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlLCBv
cHRpb25zKQogICAgICAgIGV4aXQoKQogICAgY2FsbChbInN2biIsICJhZGQiLCBuZXdSZXN1bHRd
KQoKICAgIHByaW50ICJSZWJhc2VsaW5lZC4iCgpkZWYgcmV2ZXJ0KHdlYmtpdFBhdGgsIHRlc3RT
aWduYXR1cmUsIG9wdGlvbnMpOgogICAgcHJpbnQgIlJlc3RvcmluZyB0ZXN0Li4uIgogICAgY2Fs
bChbInN2biIsICJyZXZlcnQiLCB0ZXN0UGF0aCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlKV0p
CgogICAgcHJpbnQgIlJlc3RvcmluZyBwbGF0Zm9ybSBzcGVjaWZpYyByZXN1bHRzLi4uIgogICAg
b2xkUmVzdWx0cyA9IHBsYXRmb3JtU3BlY2lmaWNSZXN1bHRzKHdlYmtpdFBhdGgsIHRlc3RTaWdu
YXR1cmUpCiAgICBjYWxsKFsic3ZuIiwgInJldmVydCJdICsgb2xkUmVzdWx0cykKCiAgICBwcmlu
dCAiRGVsZXRpbmcgbmV3IHJlc3VsdC4uLiIKICAgIG5ld1Jlc3VsdCA9IG5ld0V4cGVjdGVkUmVz
dWx0KHdlYmtpdFBhdGgsIHRlc3RTaWduYXR1cmUpCiAgICBpZiBzdm5TdGF0dXMobmV3UmVzdWx0
KToKICAgICAgICBjYWxsKFsic3ZuIiwgInJldmVydCIsIG5ld1Jlc3VsdF0pCiAgICBpZiBvcy5w
YXRoLmlzZmlsZShuZXdSZXN1bHQpOgogICAgICAgIGNhbGwoWyJybSIsIG5ld1Jlc3VsdF0pCgog
ICAgcHJpbnQgIlJldmVydGVkLiIKCmRlZiBhc2tZZXNPck5vUXVlc3Rpb24ocXVlc3Rpb24pOgog
ICAgYW5zd2VyID0gTm9uZQogICAgd2hpbGUgKGFuc3dlciAhPSAneScgYW5kIGFuc3dlciAhPSAn
eWVzJyBhbmQgYW5zd2VyICE9ICduJyBhbmQgYW5zd2VyICE9ICdubycpOgogICAgICAgIGlmIGFu
c3dlcjoKICAgICAgICAgICAgcHJpbnQgIlNvcnJ5LCBJIGRpZG4ndCBnZXQgdGhhdC4iCiAgICAg
ICAgYW5zd2VyID0gcmF3X2lucHV0KHF1ZXN0aW9uICsgIiAoeS9uKToiKS5sb3dlcigpCiAgICBy
ZXR1cm4gYW5zd2VyWzBdCgpkZWYgbWFpbigpOgogICAgcGFyc2VyID0gT3B0aW9uUGFyc2VyKCkK
ICAgIHBhcnNlci5hZGRfb3B0aW9uKCItciIsICItLXJlbGVhc2UiLAogICAgICAgICAgICAgICAg
ICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0icmVsZWFzZSIsIGRlZmF1bHQ9RmFsc2Us
CiAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJ1c2UgLS1yZWxlYXNlIG9wdGlvbiB0byBydW4g
dGVzdHMiKQogICAgcGFyc2VyLmFkZF9vcHRpb24oIi1kIiwgIi0tZGVidWciLAogICAgICAgICAg
ICAgICAgICAgIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJyZWxlYXNlIiwgZGVmYXVsdD1G
YWxzZSwKICAgICAgICAgICAgICAgICAgICBoZWxwPSJ1c2UgLS1kZWJ1ZyBvcHRpb24gdG8gcnVu
IHRlc3RzIikKICAgIHBhcnNlci5hZGRfb3B0aW9uKCItdiIsICItLXJldmVydCIsCiAgICAgICAg
ICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0icmV2ZXJ0IiwgZGVmYXVsdD1G
YWxzZSwKICAgICAgICAgICAgICAgICAgICBoZWxwPSJyZXN0b3JlIHBsYXRmb3JtIHNwZWNpZmlj
IHJlc3VsdHMiKQogICAgcGFyc2VyLmFkZF9vcHRpb24oIi1lIiwgIi0tZWRpdG9yIiwKICAgICAg
ICAgICAgICAgICAgICBhY3Rpb249InN0b3JlIiwgZGVzdD0iZWRpdG9yIiwgZGVmYXVsdD1GYWxz
ZSwKICAgICAgICAgICAgICAgICAgICBoZWxwPSJzcGVjaWZ5IHlvdXIgZmF2b3JpdGUgZWRpdG9y
LiBmYWxscyBiYWNrIGlzICRFRElUT1Igb3IgJFNWTl9FRElUT1IiKQogICAgKG9wdGlvbnMsIGFy
Z3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQoKICAgIHBhdGggPSByZXNvbHZlRmlsZVBhdGgoYXJn
cykKICAgIHdlYmtpdFBhdGggPSByZXNvbHZlV2ViS2l0UGF0aChwYXRoKQogICAgbGF5b3V0VGVz
dFBhdGggPSBvcy5wYXRoLmpvaW4od2Via2l0UGF0aCwgJ0xheW91dFRlc3RzJykKICAgICh0ZXN0
U2lnbmF0dXJlLGV4dCkgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGgucmVscGF0aChwYXRoLCBs
YXlvdXRUZXN0UGF0aCkpCgogICAgaWYgb3B0aW9ucy5yZXZlcnQ6CiAgICAgICAgcmV2ZXJ0KHdl
YmtpdFBhdGgsIHRlc3RTaWduYXR1cmUsIG9wdGlvbnMpCiAgICBlbHNlOgogICAgICAgIGVkaXRv
ciA9IG9wdGlvbnMuZWRpdG9yIG9yIG9zLmdldGVudignRURJVE9SJykgb3Igb3MuZ2V0ZW52KCdT
Vk5fRURJVE9SJykKICAgICAgICBpZiBub3QgZWRpdG9yOgogICAgICAgICAgICBwcmludCAiT29w
cywgeW91IGRpZG4ndCBzcGVjaWZ5IHRoZSBlZGl0b3IiCiAgICAgICAgICAgIGV4aXQoKQogICAg
ICAgIGNvbnZlcnQod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSwgb3B0aW9ucywgZWRpdG9yKQog
ICAgICAgIGlmIGFza1llc09yTm9RdWVzdGlvbignU2hvdWxkIEkgcmViYXNlbGluZSBub3c/Jykg
PT0gJ3knOgogICAgICAgICAgICByZWJhc2VsaW5lKHdlYmtpdFBhdGgsIHRlc3RTaWduYXR1cmUs
IG9wdGlvbnMpCgoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIG1haW4oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>93829</attachid>
            <date>2011-05-17 15:17:24 -0700</date>
            <delta_ts>2011-05-17 15:17:24 -0700</delta_ts>
            <desc>prototype 2</desc>
            <filename>rebaseline-for-dumpas-conv</filename>
            <type>application/octet-stream</type>
            <size>9807</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgppbXBvcnQgc3lzCmltcG9ydCBvcwppbXBvcnQgcmUKZnJv
bSBzdWJwcm9jZXNzIGltcG9ydCBjYWxsCmZyb20gc3VicHJvY2VzcyBpbXBvcnQgUG9wZW4KaW1w
b3J0IHN1YnByb2Nlc3MKZnJvbSBvcHRwYXJzZSBpbXBvcnQgT3B0aW9uUGFyc2VyCgpkZWYgcmVz
b2x2ZUZpbGVQYXRoKGFyZ3MpOgogICAgaWYgbGVuKGFyZ3MpIDw9IDA6CiAgICAgICAgcHJpbnQg
Ik5lZWQgdG8gc3BlY2lmeSB0aGUgZmlsZW5hbWUiCiAgICAgICAgZXhpdCgpCgogICAgcGF0aCA9
IG9zLnBhdGguYWJzcGF0aChhcmdzWzBdKQogICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBhdGgp
OgogICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKCdMYXlvdXRUZXN0
cycsIGFyZ3NbMF0pKQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYXRoKToKICAgICAg
ICAgICAgcHJpbnQgIlNwZWNpZmllZCBmaWxlIGRvZXMgbm90IGV4aXN0IgogICAgICAgICAgICBl
eGl0KCkKCiAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUocGF0aCk6CiAgICAgICAgcHJpbnQgIlNw
ZWNpZmllZCBwYXRoIGlzIG5vdCBhIGZpbGUiCiAgICAgICAgZXhpdCgpCgogICAgcmV0dXJuIHBh
dGgKCmRlZiByZXNvbHZlV2ViS2l0UGF0aChwYXRoKToKICAgIHRhaWwgPSBOb25lCiAgICB3aGls
ZSB0YWlsICE9ICdMYXlvdXRUZXN0cyc6CiAgICAgICAgcHJldmlvdXNMZW4gPSBsZW4ocGF0aCkK
ICAgICAgICAocGF0aCwgdGFpbCkgPSBvcy5wYXRoLnNwbGl0KHBhdGgpCiAgICAgICAgaWYgbGVu
KHBhdGgpID49IHByZXZpb3VzTGVuOgogICAgICAgICAgICBicmVhawoKICAgIGlmIG5vdCBwYXRo
OgogICAgICAgIHByaW50ICJDYW5ub3QgZGV0ZXJtaW5lIFdlYktpIGNoZWNrb3V0IGxvY2F0aW9u
IgogICAgICAgIGV4aXQoKQoKICAgIHJldHVybiBwYXRoCgpkZWYgcGxhdGZvcm1TcGVjaWZpY1Jl
c3VsdHMod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSk6CiAgICBleHRzID0gWyIucG5nIiwgIi5j
aGVja3N1bSIsICIudHh0Il0KICAgIHJlc3VsdHMgPSBbXQogICAgcGxhdGZvcm1zID0gb3MubGlz
dGRpcihvcy5wYXRoLmpvaW4od2Via2l0UGF0aCwgJ0xheW91dFRlc3RzJywgJ3BsYXRmb3JtJykp
CiAgICBmb3IgcGxhdGZvcm0gaW4gcGxhdGZvcm1zOgogICAgICAgIGlmIHBsYXRmb3JtWzBdID09
ICcuJzoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBmb3IgZXh0IGluIGV4dHM6CiAgICAg
ICAgICAgIGNhbmRpZGF0ZSA9IG9zLnBhdGguam9pbih3ZWJraXRQYXRoLCAnTGF5b3V0VGVzdHMn
LCAncGxhdGZvcm0nLCBwbGF0Zm9ybSwgdGVzdFNpZ25hdHVyZSsnLWV4cGVjdGVkJytleHQpCiAg
ICAgICAgICAgIGlmIHN2blN0YXR1cyhjYW5kaWRhdGUpOgogICAgICAgICAgICAgICAgcmVzdWx0
cy5hcHBlbmQoY2FuZGlkYXRlKQogICAgcmV0dXJuIHJlc3VsdHMKCmRlZiBuZXdFeHBlY3RlZFJl
c3VsdCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlKToKICAgIHJldHVybiBvcy5wYXRoLmpvaW4o
d2Via2l0UGF0aCwgJ0xheW91dFRlc3RzJywgdGVzdFNpZ25hdHVyZSArICctZXhwZWN0ZWQudHh0
JykKCmRlZiB0ZXN0UGF0aCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlKToKICAgIHJldHVybiBv
cy5wYXRoLmpvaW4od2Via2l0UGF0aCwgJ0xheW91dFRlc3RzJywgdGVzdFNpZ25hdHVyZSArICcu
aHRtbCcpCgpkZWYgc3ZuU3RhdHVzKHBhdGgpOgogICAgc3ZuID0gUG9wZW4oWyJzdm4iLCAic3Rh
dHVzIiwgcGF0aF0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJ
UEUpCiAgICAoc3Rkb3V0LCBzdGRlcnIpID0gc3ZuLmNvbW11bmljYXRlKCk7CiAgICBzdGF0dXMg
PSBOb25lCiAgICBpZiBsZW4oc3Rkb3V0KSA+IDAgYW5kIChzdGRvdXRbMF0gPT0gJ00nIG9yIHN0
ZG91dFswXSA9PSAnQScKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHN0ZG91dFswXSA9
PSAnRCcgb3Igc3Rkb3V0WzBdID09ICc/JyBvciBzdGRvdXRbMF0gPT0gJyEnKToKICAgICAgICBz
dGF0dXMgPSBzdGRvdXRbMF0KICAgIGlmIG5vdCByZS5tYXRjaCgic3ZuOiB3YXJuaW5nOiAnLisn
IGlzIG5vdCBhIHdvcmtpbmcgY29weSIsIHN0ZGVycikgYW5kIG9zLnBhdGguaXNmaWxlKHBhdGgp
OgogICAgICAgIHN0YXR1cyA9ICdPSycKICAgIHJldHVybiBzdGF0dXMKCmRlZiBoYXNTdGF0ZW1l
bnQobGluZSwgb2xkKToKICAgIG9sZCA9IG9sZC5yZXBsYWNlKCcoJywgJ1xcKCcpCiAgICBvbGQg
PSBvbGQucmVwbGFjZSgnKScsICdcXCknKQogICAgcmV0dXJuIHJlLm1hdGNoKHInXiguKlxXKT8n
ICsgb2xkICsgcicoOz8oXFcuKik/KSQnLCBsaW5lKQoKZGVmIGxpbmVJc1N0YXRlbWVudChsaW5l
LCBvbGQpOgogICAgb2xkID0gb2xkLnJlcGxhY2UoJygnLCAnXFwoJykKICAgIG9sZCA9IG9sZC5y
ZXBsYWNlKCcpJywgJ1xcKScpCiAgICByZXR1cm4gcmUubWF0Y2gocideXHMqJyArIG9sZCArIHIn
Oz9ccyokJywgbGluZSkKCmRlZiByZXBsYWNlU3RhdGVtZW50KGxpbmUsIG9sZCwgbmV3KToKICAg
IG9sZCA9IG9sZC5yZXBsYWNlKCcoJywgJ1xcKCcpCiAgICBvbGQgPSBvbGQucmVwbGFjZSgnKScs
ICdcXCknKQogICAgcmV0dXJuIHJlLnN1YihyJ14oKC4qXFcpPyknICsgb2xkICsgcicoOz8oXFcu
Kik/KSQnLCByJ1wxJyArIG5ldyArIHInXDMnLCBsaW5lKQoKZGVmIGFkanVzdEluZGVudGF0aW9u
KGxpbmUsIG5ld0luZGVudGF0aW9uKToKICAgIG0gPSByZS5tYXRjaChyJ14oXHMqKSguKikkJywg
bGluZSkgIyB0aGlzIHNob3VsZCBhbHdheXMgbWF0Y2gKICAgIHJldHVybiBuZXdJbmRlbnRhdGlv
biArIG0uZ3JvdXAoMikgKyAnXG4nCgpkZWYgY29udmVydFJ1bkVkaXRpbmdUZXN0KHBhdGgpOgog
ICAgY29udmVydGVkID0gRmFsc2UKICAgIG5ld0xpbmVzID0gW10KICAgIGYgPSBvcGVuKHBhdGgs
ICdyJykKICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgaWYgaGFzU3RhdGVtZW50KGxpbmUsICdy
dW5FZGl0aW5nVGVzdCgpJyk6CiAgICAgICAgICAgIGNvbnZlcnRlZCA9IFRydWUKICAgICAgICBu
ZXdMaW5lcy5hcHBlbmQocmVwbGFjZVN0YXRlbWVudChsaW5lLCAncnVuRWRpdGluZ1Rlc3QoKScs
ICdydW5EdW1wQXNUZXh0RWRpdGluZ1Rlc3QoKScpKTsKICAgIGYuY2xvc2UoKQoKICAgIGlmIG5v
dCBjb252ZXJ0ZWQ6CiAgICAgICAgcmV0dXJuIEZhbHNlCgogICAgcHJpbnQgIlRlc3QgY2FsbHMg
cnVuRWRpdGluZ1Rlc3QoKS4gQ29udmVydGluZyBhdXRvbWF0aWNhbGx5Li4uIgogICAgZiA9IG9w
ZW4ocGF0aCwgJ3cnKQogICAgZm9yIGxpbmUgaW4gbmV3TGluZXM6CiAgICAgICAgZi53cml0ZShs
aW5lKQogICAgZi5jbG9zZSgpCiAgICBwcmludCAiRG9uZSIKICAgIHJldHVybiBUcnVlCgpkZWYg
Y3JlYXRlRHVtcEFzTWFya3VwU2NyaXB0VGFnKHdlYmtpdFBhdGgsIHBhdGgpOgogICAgZHVtcEFz
TWFya3VwUGF0aCA9IG9zLnBhdGguam9pbih3ZWJraXRQYXRoLCAnTGF5b3V0VGVzdHMnLCAncmVz
b3VyY2VzJywgJ2R1bXAtYXMtbWFya3VwLmpzJykKICAgIHJldHVybiAnPHNjcmlwdCBzcmM9Iicg
KyBvcy5wYXRoLnJlbHBhdGgoZHVtcEFzTWFya3VwUGF0aCwgcGF0aCkgKyAnIj48L3NjcmlwdD5c
bicKCmRlZiBjb252ZXJ0VG9EdW1wQXNNYXJrdXAod2Via2l0UGF0aCwgcGF0aCk6CiAgICBmID0g
b3BlbihwYXRoLCAncicpCiAgICBjdXJyZW50SW5kZW50YXRpb24gPSAnJwogICAgaW5zaWRlSWYg
PSBGYWxzZQogICAgaWZIYWRDdXJseUJyYWtldCA9IEZhbHNlCiAgICBhZGRlZER1bXBBc01hcmt1
cCA9IEZhbHNlCiAgICBuZXdGaWxlID0gJycKICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgaWYg
cmUubWF0Y2gocicuKi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMuKicsIGxpbmUpIG9yIGhh
c1N0YXRlbWVudChsaW5lLCAnbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpJyk6CiAg
ICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICMgVGFrZSBjYXJlIG9mIGNhbGxzIHRvIHdh
aXRVbnRpbERvbmUoKSBhbmQgbm90aWZ5RG9uZSgpCiAgICAgICAgaWZTdGF0ZW1lbnQgPSByZS5t
YXRjaChyJ14oKFxzKilpZlxzKlwoXHMqd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyXHMqXCkp
XHMqKHspP1xzKiQnLCBsaW5lKQogICAgICAgIGlmIGlmU3RhdGVtZW50OgogICAgICAgICAgICBj
dXJyZW50SWRlbnRhdGlvbiA9IGlmU3RhdGVtZW50Lmdyb3VwKDIpCiAgICAgICAgICAgIGluc2lk
ZUlmID0gVHJ1ZQogICAgICAgICAgICBpZiBpZlN0YXRlbWVudC5ncm91cCgzKToKICAgICAgICAg
ICAgICAgIGlmSGFkQ3VybHlCcmFrZXQgPSBUcnVlCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAg
ICAgZWxpZiBpbnNpZGVJZiBhbmQgaWZIYWRDdXJseUJyYWtldCBhbmQgcmUubWF0Y2gocideXHMq
fVxzKiQnLCBsaW5lKToKICAgICAgICAgICAgaW5zaWRlSWYgPSBGYWxzZQogICAgICAgICAgICBj
b250aW51ZQogICAgICAgIGVsaWYgaW5zaWRlSWY6CiAgICAgICAgICAgIGlmIGxpbmVJc1N0YXRl
bWVudChsaW5lLCAnbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpJyk6CiAgICAg
ICAgICAgICAgICBsaW5lID0gYWRqdXN0SW5kZW50YXRpb24ocmVwbGFjZVN0YXRlbWVudChsaW5l
LCAnbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpJywgJ01hcmt1cC53YWl0VW50
aWxEb25lKCknKSwgY3VycmVudElkZW50YXRpb24pCiAgICAgICAgICAgIGVsaWYgbGluZUlzU3Rh
dGVtZW50KGxpbmUsICdsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCknKToKICAgICAg
ICAgICAgICAgIGxpbmUgPSBhZGp1c3RJbmRlbnRhdGlvbihyZXBsYWNlU3RhdGVtZW50KGxpbmUs
ICdsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCknLCAnTWFya3VwLm5vdGlmeURvbmUo
KScpLCBjdXJyZW50SWRlbnRhdGlvbikKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAg
ICMgVGhpcyBpcyBhIHN0YXRlbWVudCB3ZSBkb24ndCBjb252ZXJ0LiBQdXQgaW4gaWYgc3RhdGVt
ZW50IGJhY2suCiAgICAgICAgICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgbWVyZ2UgbXVsdGlw
bGUgaWYgc3RhdGVtZW50cyB3aGVuIHRoZXkgYXJlIGNvbnNlY3RpdmUKICAgICAgICAgICAgICAg
IGxpbmUgPSBhZGp1c3RJbmRlbnRhdGlvbignaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cilcbicsIGN1cnJlbnRJZGVudGF0aW9uKSArXAogICAgICAgICAgICAgICAgYWRqdXN0SW5kZW50
YXRpb24obGluZSwgY3VycmVudElkZW50YXRpb24gKyAnICAgICcpCiAgICAgICAgICAgIGlmIG5v
dCBpZkhhZEN1cmx5QnJha2V0OgogICAgICAgICAgICAgICAgaW5zaWRlSWYgPSBGYWxzZQogICAg
ICAgICMgQWRkIHNjcmlwdCB0YWcgYXQgYXBwcm9wcmlhdGUgbG9jYXRpb24KICAgICAgICBpZiBy
ZS5tYXRjaChyJ14oXHMqKTxoZWFkKFxzKy4rKT8+JywgbGluZSk6CiAgICAgICAgICAgIGxpbmUg
Kz0gY3JlYXRlRHVtcEFzTWFya3VwU2NyaXB0VGFnKHdlYmtpdFBhdGgsIHBhdGgpCiAgICAgICAg
ICAgIGFkZGVkRHVtcEFzTWFya3VwID0gVHJ1ZQogICAgICAgIG5ld0ZpbGUgKz0gbGluZQogICAg
aWYgbm90IGFkZGVkRHVtcEFzTWFya3VwOgogICAgICAgIG5ld0ZpbGUgPSBjcmVhdGVEdW1wQXNN
YXJrdXBTY3JpcHRUYWcod2Via2l0UGF0aCwgcGF0aCkgKyBuZXdGaWxlCiAgICBmLmNsb3NlKCkK
CiAgICBmID0gb3BlbihwYXRoLCAndycpCiAgICBmLndyaXRlKG5ld0ZpbGUpCiAgICBmLmNsb3Nl
KCkKCmRlZiBjb252ZXJ0KHdlYmtpdFBhdGgsIHRlc3RTaWduYXR1cmUsIG9wdGlvbnMsIGVkaXRv
cik6CiAgICBwYXRoID0gdGVzdFBhdGgod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSkKICAgIGlm
IHN2blN0YXR1cyhwYXRoKSA9PSAnTSc6CiAgICAgICAgcHJpbnQgIlRoaXMgdGVzdCBoYXMgYWxy
ZWFkeSBiZWVuIG1vZGlmaWVkLiIKICAgIGVsaWYgY29udmVydFJ1bkVkaXRpbmdUZXN0KHBhdGgp
OgogICAgICAgIHBhc3MKICAgIGVsaWYgY29udmVydFRvRHVtcEFzTWFya3VwKHdlYmtpdFBhdGgs
IHBhdGgpOgogICAgICAgIHBhc3MKICAgIGVsc2U6CiAgICAgICAgcHJpbnQgIkkgZG9uJ3Qga25v
dyBob3cgdG8gY29udmVydCB0aGlzIHRlc3QuIgogICAgICAgIHByaW50ICJQbGVhc2UgY29udmVy
dCB0aGUgdGVzdCBtYW51YWxseS4iCgogICAgcmF3X2lucHV0KCJQcmVzcyBhbnkga2V5IHRvIHBy
b2NlZWQiKQogICAgcHJpbnQgIkxhdW5jaGluZyB5b3VyIGVkaXRvciIKCiAgICBjb2RlID0gY2Fs
bChbZWRpdG9yLCBwYXRoXSkKICAgIGlmIGNvZGUgIT0gMDoKICAgICAgICBwcmludCAiWW91ciBl
ZGl0b3IgZGlkbid0IGV4aXQgbm9ybWFsbHkuIFRlcm1pbmF0aW5nIHRoZSBjb252ZXJzaW9uLi4u
IgogICAgICAgIGV4aXQoKQoKZGVmIHJlYmFzZWxpbmUod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVy
ZSwgb3B0aW9ucyk6CiAgICByZXN1bHRzID0gcGxhdGZvcm1TcGVjaWZpY1Jlc3VsdHMod2Via2l0
UGF0aCwgdGVzdFNpZ25hdHVyZSkKICAgIHByaW50ICJEZWxldGluZyBwbGF0Zm9ybSBzcGVjaWZp
YyByZXN1bHRzLi4uIgogICAgZm9yIGV4cGVjdGVkRmlsZSBpbiByZXN1bHRzOgogICAgICAgIGNh
bGwoWyJzdm4iLCAiZGVsZXRlIiwgZXhwZWN0ZWRGaWxlXSkKCiAgICBwcmludCAiRGVsZXRpbmcg
dGVzdCByZXN1bHQuLi4iCiAgICBuZXdSZXN1bHQgPSBuZXdFeHBlY3RlZFJlc3VsdCh3ZWJraXRQ
YXRoLCB0ZXN0U2lnbmF0dXJlKQogICAgaWYgb3MucGF0aC5pc2ZpbGUobmV3UmVzdWx0KToKICAg
ICAgICBjYWxsKFsicm0iLCBuZXdSZXN1bHRdKQoKICAgIHByaW50ICJSdW5uaW5nIHdlYmtpdCB0
ZXN0cyB0byBnZXQgbmV3IGV4cGVjdGVkIHJlc3VsdHMuLi4iCiAgICBtb2RlID0gJy0tZGVidWcn
CiAgICBpZiBvcHRpb25zLnJlbGVhc2U6IG1vZGUgPSAnLS1yZWxlYXNlJwogICAgY2FsbChbIlRv
b2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cyIsIG1vZGUsICItLW5vLWxhdW5jaC1zYWZhcmki
LCB0ZXN0UGF0aCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlKV0pCgogICAgcHJpbnQgIkFkZGlu
ZyBuZXcgZXhwZWN0ZWQgcmVzdWx0Li4uIgogICAgbmV3UmVzdWx0ID0gbmV3RXhwZWN0ZWRSZXN1
bHQod2Via2l0UGF0aCwgdGVzdFNpZ25hdHVyZSk7CiAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUo
bmV3UmVzdWx0KToKICAgICAgICBwcmludCAiT09QUywgbm8gZXhwZWN0ZWQgcmVzdWx0OiIsIG5l
d1Jlc3VsdAogICAgICAgIHByaW50CiAgICAgICAgcmV2ZXJ0KHdlYmtpdFBhdGgsIHRlc3RTaWdu
YXR1cmUsIG9wdGlvbnMpCiAgICAgICAgZXhpdCgpCiAgICBjYWxsKFsic3ZuIiwgImFkZCIsIG5l
d1Jlc3VsdF0pCgogICAgcHJpbnQgIlJlYmFzZWxpbmVkLiIKCmRlZiByZXZlcnQod2Via2l0UGF0
aCwgdGVzdFNpZ25hdHVyZSwgb3B0aW9ucyk6CiMgICAgcHJpbnQgIlJlc3RvcmluZyB0ZXN0Li4u
IgojICAgIGNhbGwoWyJzdm4iLCAicmV2ZXJ0IiwgdGVzdFBhdGgod2Via2l0UGF0aCwgdGVzdFNp
Z25hdHVyZSldKQoKICAgIHByaW50ICJSZXN0b3JpbmcgcGxhdGZvcm0gc3BlY2lmaWMgcmVzdWx0
cy4uLiIKICAgIG9sZFJlc3VsdHMgPSBwbGF0Zm9ybVNwZWNpZmljUmVzdWx0cyh3ZWJraXRQYXRo
LCB0ZXN0U2lnbmF0dXJlKQogICAgY2FsbChbInN2biIsICJyZXZlcnQiXSArIG9sZFJlc3VsdHMp
CgogICAgcHJpbnQgIkRlbGV0aW5nIG5ldyByZXN1bHQuLi4iCiAgICBuZXdSZXN1bHQgPSBuZXdF
eHBlY3RlZFJlc3VsdCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlKQogICAgaWYgc3ZuU3RhdHVz
KG5ld1Jlc3VsdCk6CiAgICAgICAgY2FsbChbInN2biIsICJyZXZlcnQiLCBuZXdSZXN1bHRdKQog
ICAgaWYgb3MucGF0aC5pc2ZpbGUobmV3UmVzdWx0KToKICAgICAgICBjYWxsKFsicm0iLCBuZXdS
ZXN1bHRdKQoKICAgIHByaW50ICJSZXZlcnRlZC4iCgpkZWYgYXNrWWVzT3JOb1F1ZXN0aW9uKHF1
ZXN0aW9uKToKICAgIGFuc3dlciA9IE5vbmUKICAgIHdoaWxlIChhbnN3ZXIgIT0gJ3knIGFuZCBh
bnN3ZXIgIT0gJ3llcycgYW5kIGFuc3dlciAhPSAnbicgYW5kIGFuc3dlciAhPSAnbm8nKToKICAg
ICAgICBpZiBhbnN3ZXI6CiAgICAgICAgICAgIHByaW50ICJTb3JyeSwgSSBkaWRuJ3QgZ2V0IHRo
YXQuIgogICAgICAgIGFuc3dlciA9IHJhd19pbnB1dChxdWVzdGlvbiArICIgKHkvbik6IikubG93
ZXIoKQogICAgcmV0dXJuIGFuc3dlclswXQoKZGVmIG1haW4oKToKICAgIHBhcnNlciA9IE9wdGlv
blBhcnNlcigpCiAgICBwYXJzZXIuYWRkX29wdGlvbigiLXIiLCAiLS1yZWxlYXNlIiwKICAgICAg
ICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9InJlbGVhc2UiLCBkZWZh
dWx0PUZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgaGVscD0idXNlIC0tcmVsZWFzZSBvcHRp
b24gdG8gcnVuIHRlc3RzIikKICAgIHBhcnNlci5hZGRfb3B0aW9uKCItZCIsICItLWRlYnVnIiwK
ICAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0icmVsZWFzZSIs
IGRlZmF1bHQ9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAgaGVscD0idXNlIC0tZGVidWcgb3B0
aW9uIHRvIHJ1biB0ZXN0cyIpCiAgICBwYXJzZXIuYWRkX29wdGlvbigiLXYiLCAiLS1yZXZlcnQi
LAogICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9InJldmVydCIs
IGRlZmF1bHQ9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAgaGVscD0icmVzdG9yZSBwbGF0Zm9y
bSBzcGVjaWZpYyByZXN1bHRzIikKICAgIHBhcnNlci5hZGRfb3B0aW9uKCItZSIsICItLWVkaXRv
ciIsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9ImVkaXRvciIsIGRl
ZmF1bHQ9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAgaGVscD0ic3BlY2lmeSB5b3VyIGZhdm9y
aXRlIGVkaXRvci4gZmFsbHMgYmFjayBpcyAkRURJVE9SIG9yICRTVk5fRURJVE9SIikKICAgIChv
cHRpb25zLCBhcmdzKSA9IHBhcnNlci5wYXJzZV9hcmdzKCkKCiAgICBwYXRoID0gcmVzb2x2ZUZp
bGVQYXRoKGFyZ3MpCiAgICB3ZWJraXRQYXRoID0gcmVzb2x2ZVdlYktpdFBhdGgocGF0aCkKICAg
IGxheW91dFRlc3RQYXRoID0gb3MucGF0aC5qb2luKHdlYmtpdFBhdGgsICdMYXlvdXRUZXN0cycp
CiAgICAodGVzdFNpZ25hdHVyZSxleHQpID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLnJlbHBh
dGgocGF0aCwgbGF5b3V0VGVzdFBhdGgpKQoKICAgIGlmIG9wdGlvbnMucmV2ZXJ0OgogICAgICAg
IHJldmVydCh3ZWJraXRQYXRoLCB0ZXN0U2lnbmF0dXJlLCBvcHRpb25zKQogICAgZWxzZToKICAg
ICAgICBlZGl0b3IgPSBvcHRpb25zLmVkaXRvciBvciBvcy5nZXRlbnYoJ0VESVRPUicpIG9yIG9z
LmdldGVudignU1ZOX0VESVRPUicpCiAgICAgICAgaWYgbm90IGVkaXRvcjoKICAgICAgICAgICAg
cHJpbnQgIk9vcHMsIHlvdSBkaWRuJ3Qgc3BlY2lmeSB0aGUgZWRpdG9yIgogICAgICAgICAgICBl
eGl0KCkKICAgICAgICBjb252ZXJ0KHdlYmtpdFBhdGgsIHRlc3RTaWduYXR1cmUsIG9wdGlvbnMs
IGVkaXRvcikKICAgICAgICBpZiBhc2tZZXNPck5vUXVlc3Rpb24oJ1Nob3VsZCBJIHJlYmFzZWxp
bmUgbm93PycpID09ICd5JzoKICAgICAgICAgICAgcmViYXNlbGluZSh3ZWJraXRQYXRoLCB0ZXN0
U2lnbmF0dXJlLCBvcHRpb25zKQoKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICBtYWlu
KCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>