<?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>47359</bug_id>
          
          <creation_ts>2010-10-07 10:17:35 -0700</creation_ts>
          <short_desc>Don&apos;t use the directory structure to gather tests for API tester</short_desc>
          <delta_ts>2010-10-28 13:17:00 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>291090</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-07 10:17:35 -0700</bug_when>
    <thetext>Don&apos;t use the directory structure to gather tests for API tester</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291091</commentid>
    <comment_count>1</comment_count>
      <attachid>70109</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-07 10:18:33 -0700</bug_when>
    <thetext>Created attachment 70109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291094</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-07 10:21:09 -0700</bug_when>
    <thetext>Attachment 70109 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/TestWebKitAPI/Test.h:80:  TEST_CLASS_NAME is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291098</commentid>
    <comment_count>3</comment_count>
      <attachid>70109</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-07 10:23:05 -0700</bug_when>
    <thetext>Comment on attachment 70109
Patch

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

&gt; WebKitTools/Scripts/run-api-tests:28
&gt; +#   - Ability to run all tests in a suite.

Didn&apos;t you add this?

&gt; WebKitTools/TestWebKitAPI/Test.h:45
&gt; +            TestsController::shared().registerCreateTestFunction(testSuite + &quot;/&quot; + testCase, Register::create);

Perhaps the map key should contain both the suite and the test in a pair?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293619</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 12:27:52 -0700</bug_when>
    <thetext>Attachment 70109 was posted by a committer and has review+, assigning to Sam Weinig for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301267</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-28 13:17:00 -0700</bug_when>
    <thetext>Fixed in http://trac.webkit.org/changeset/69317.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70109</attachid>
            <date>2010-10-07 10:18:33 -0700</date>
            <delta_ts>2010-10-07 10:23:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>20694</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY5MzE1KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTAtMTAtMDcgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBDaGFuZ2UgQVBJIHRlc3RlciB0byBhc2sgdGhlIGV4ZWN1dGFibGUgZm9yIHRoZSBsaXN0
IG9mIGFsbAorICAgICAgICB0ZXN0cyBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGRpcmVjdG9y
eSBzdHJ1Y3R1cmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NzM1OQorCisgICAgICAgICogU2NyaXB0cy9ydW4tdGVzdC13ZWJraXQtYXBpOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06CisgICAgICAgIEFkZCBhZGRpdGlv
bmFsIHNjcmlwdCB0byBqdXN0IGxhdW5jaCB0aGUgYXBpIHRlc3RlciB3aXRoIHRoZSBjb3JyZWN0
IHNldHRpbmdzLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tYXBpLXRlc3RzOgorICAgICAgICBD
aGFuZ2UgdG8gdXNlIHRoZSBuZXcgLS1kdW1wLXRlc3RzIG9wdGlvbnMgdG8gYnVpbGQgdGhlIGxp
c3Qgb2YgdGVzdHMgYW5kIGNoYW5nZQorICAgICAgICBvdXRwdXQgdG8gcmVmbGVjdCBhIChzdWl0
ZSwgdGVzdGNhc2UpIHR1cGxlIGZvciBlYWNoIHRlc3QuIEFsc28gYWRkcyBzb21lIGNvbG9yLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0Lmg6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpUZXN0OjpSZWdpc3Rlcjo6UmVnaXN0ZXIpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL1ZlY3RvckJhc2ljLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9GcmFtZU1JTUVUeXBlSFRNTC5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvRnJhbWVNSU1FVHlwZVBORy5jcHA6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFn
ZUxvYWRCYXNpYy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tTdHJpbmcuY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L1dLU3RyaW5nSlNTdHJpbmcuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgIEdpdmUgZWFjaCB0ZXN0IGEgc3VpdGUgbmFtZSBpbiBhZGRpdGlvbiB0byB0aGUgdGVz
dCBuYW1lLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKToK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5oOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvbWFjL21haW4ubW06CisgICAgICAgIChtYWluKToKKyAgICAgICAgQWRkIG9w
dGlvbiB0byBwcmludCBhbGwgcmVnaXN0ZXJlZCB0ZXN0cy4KKwogMjAxMC0xMC0wNyAgSm9jZWx5
biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPiwgQW5kcmFzIEJlY3NpICA8
YWJlY3NpQHdlYmtpdC5vcmc+LCBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KSW5kZXg6
IFdlYktpdFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjkzMTUpCisrKyBXZWJLaXRUb29s
cy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNTYsNyArMjU2LDE0IEBACiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJ
YnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IEMwMUZDRjRFMDhBOTU0NTQwMDU0MjQ3QiAvKiBCdWls
ZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIk1pbmlCcm93c2VyIiAqLzsKIAkJ
CWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMuMSI7CisJCQlkZXZlbG9wbWVudFJlZ2lv
biA9IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKKwkJCWtub3duUmVn
aW9ucyA9ICgKKwkJCQlFbmdsaXNoLAorCQkJCUphcGFuZXNlLAorCQkJCUZyZW5jaCwKKwkJCQlH
ZXJtYW4sCisJCQkpOwogCQkJbWFpbkdyb3VwID0gMjlCOTczMTRGRENGQTM5NDExQ0EyQ0VBIC8q
IE1pbmlCcm93c2VyICovOwogCQkJcHJvamVjdERpclBhdGggPSAiIjsKIAkJCXByb2plY3RSb290
ID0gIiI7CkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRlc3RzCShyZXZpc2lvbiA2OTMxNSkK
KysrIFdlYktpdFRvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cwkod29ya2luZyBjb3B5KQpAQCAt
MjUsNDEgKzI1LDQyIEBACiAKICMgRmVhdHVyZXMgdG8gYWRkOgogIyAgIC0gQWJpbGl0eSB0byBy
dW4gYSBzaW5nbGUgdGVzdC4KLSMgICAtIEFiaWxpdHkgdG8gcnVuIGFsbCB0ZXN0cyB1bmRlciBv
bmUgZGlyZWN0b3J5LgorIyAgIC0gQWJpbGl0eSB0byBydW4gYWxsIHRlc3RzIGluIGEgc3VpdGUu
CiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7CiAKIHVzZSBGaWxlOjpCYXNlbmFtZTsKLXVz
ZSBGaWxlOjpGaW5kOwotdXNlIEZpbGU6OlNwZWM6OkZ1bmN0aW9uczsKLXVzZSBGaWxlOjpTcGVj
OwogdXNlIEZpbmRCaW47CiB1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190aHJvdWdo
KTsKIHVzZSBJUEM6Ok9wZW4zOwogdXNlIGxpYiAkRmluZEJpbjo6QmluOwogdXNlIHdlYmtpdGRp
cnM7Cit1c2UgVGVybTo6QU5TSUNvbG9yIHF3KDpjb25zdGFudHMpOwogCi1zdWIgc3BsaXRwYXRo
KCQpOwotc3ViIG51bWVyaWNjbXAoJCQpOwotc3ViIHBhdGhjbXAoJCQpOwotc3ViIGZpbmRUZXN0
c1RvUnVuKCk7Ci1zdWIgcnVuVGVzdCgkKTsKK3N1YiBkdW1wQWxsVGVzdHMoKTsKK3N1YiBydW5B
bGxUZXN0cygpOworc3ViIHJ1bkFsbFRlc3RzSW5TdWl0ZSgkKTsKK3N1YiBydW5UZXN0KCQkKTsK
K3N1YiBwb3B1bGF0ZVRlc3RzKCk7CiBzdWIgYnVpbGRUZXN0VG9vbCgpOwogCiBteSAkc2hvd0hl
bHAgPSAwOwogbXkgJHF1aWV0ID0gMDsKK215ICRkdW1wID0gMDsKIAogbXkgJHByb2dyYW1OYW1l
ID0gYmFzZW5hbWUoJDApOwogbXkgJHVzYWdlID0gPDxFT0Y7CiBVc2FnZTogJHByb2dyYW1OYW1l
IFtvcHRpb25zXQogICAtLWhlbHAgICAgICAgICAgICAgICAgU2hvdyB0aGlzIGhlbHAgbWVzc2Fn
ZQogICAtcXwtLXF1aXRlICAgICAgICAgICAgTGVzcyB2ZXJib3NlIG91dHB1dAorICAtZHwtLWR1
bXAtdGVzdHMgICAgICAgRHVtcCB0aGUgbmFtZXMgb2YgdGVzdGNhc2VzIHdpdGhvdXQgcnVubmlu
ZyB0aGVtCiBFT0YKIAogR2V0T3B0aW9ucygKICAgICAnaGVscCcgPT4gXCRzaG93SGVscCwKICAg
ICAncXVpZXR8cScgPT4gXCRxdWlldCwKKyAgICAnZHVtcHxkJyA9PiBcJGR1bXAsCiApOwogCiBp
ZiAoJHNob3dIZWxwKSB7CkBAIC02OSwxMTQgKzcwLDExNyBAQCBpZiAoJHNob3dIZWxwKSB7CiAK
IHNldENvbmZpZ3VyYXRpb24oKTsKIGJ1aWxkVGVzdFRvb2woKTsKLW15IEB0ZXN0c1RvUnVuID0g
ZmluZFRlc3RzVG9SdW4oKTsKK215ICV0ZXN0c1RvUnVuID0gcG9wdWxhdGVUZXN0cygpOwogCi1t
eSAkYW55RmFpbHVyZXMgPSAwOwotZm9yIG15ICR0ZXN0UGF0aCAoQHRlc3RzVG9SdW4pIHsKLSAg
ICBteSAkZmFpbGVkID0gcnVuVGVzdCgkdGVzdFBhdGgpOwotICAgIGlmICgkZmFpbGVkKSB7Ci0g
ICAgICAgICRhbnlGYWlsdXJlcyA9IDE7Ci0gICAgfQoraWYgKCRkdW1wKSB7CisgICAgZHVtcEFs
bFRlc3RzKCk7CisgICAgZXhpdCAwOwogfQotZXhpdCAkYW55RmFpbHVyZXM7CiAKK3J1bkFsbFRl
c3RzKCk7CiAKLXN1YiBzcGxpdHBhdGgoJCkKK3N1YiBkdW1wQWxsVGVzdHMoKQogewotICAgIG15
ICgkcGF0aCkgPSBAXzsKLQotICAgIG15ICRwYXRoU2VwYXJhdG9yID0gIi8iOwotICAgIG15ICRk
aXJuYW1lID0gZGlybmFtZSgkcGF0aCkgLiAkcGF0aFNlcGFyYXRvcjsKLSAgICAkZGlybmFtZSA9
ICIiIGlmICRkaXJuYW1lIGVxICIuIiAuICRwYXRoU2VwYXJhdG9yOwotCi0gICAgcmV0dXJuICgk
ZGlybmFtZSwgYmFzZW5hbWUoJHBhdGgpKTsKKyAgICBwcmludCAiRHVtcGluZyB0ZXN0IGNhc2Vz
XG4iOworICAgIHByaW50ICItLS0tLS0tLS0tLS0tLS0tLS1cbiI7CisgICAgZm9yIG15ICRzdWl0
ZSAoa2V5cyAldGVzdHNUb1J1bikgeworICAgICAgICBwcmludCAkc3VpdGUgLiAiOlxuIjsKKyAg
ICAgICAgcHJpbnQgbWFwIHsgIiAgICAiIC4gJF8gLiAiXG4iIH0gQHsgJHRlc3RzVG9SdW57JHN1
aXRlfSB9OworICAgIH0KKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwogfQogCi1z
dWIgbnVtZXJpY2NtcCgkJCkKK3N1YiBydW5BbGxUZXN0cygpCiB7Ci0gICAgbXkgKCRhYSwgJGJi
KSA9IEBfOwotCi0gICAgbXkgQGEgPSBzcGxpdCAvKFxkKykvLCAkYWE7Ci0gICAgbXkgQGIgPSBz
cGxpdCAvKFxkKykvLCAkYmI7Ci0KLSAgICAjIENvbXBhcmUgb25lIGNodW5rIGF0IGEgdGltZS4K
LSAgICAjIEVhY2ggY2h1bmsgaXMgZWl0aGVyIGFsbCBudW1lcmljIGRpZ2l0cywgb3IgYWxsIG5v
dCBudW1lcmljIGRpZ2l0cy4KLSAgICB3aGlsZSAoQGEgJiYgQGIpIHsKLSAgICAgICAgbXkgJGEg
PSBzaGlmdCBAYTsKLSAgICAgICAgbXkgJGIgPSBzaGlmdCBAYjsKLSAgICAgICAgCi0gICAgICAg
ICMgVXNlIG51bWVyaWMgY29tcGFyaXNvbiBpZiBjaHVua3MgYXJlIG5vbi1lcXVhbCBudW1iZXJz
LgotICAgICAgICByZXR1cm4gJGEgPD0+ICRiIGlmICRhID1+IC9eXGQvICYmICRiID1+IC9eXGQv
ICYmICRhICE9ICRiOwotCi0gICAgICAgICMgVXNlIHN0cmluZyBjb21wYXJpc29uIGlmIGNodW5r
cyBhcmUgYW55IG90aGVyIGtpbmQgb2Ygbm9uLWVxdWFsIHN0cmluZy4KLSAgICAgICAgcmV0dXJu
ICRhIGNtcCAkYiBpZiAkYSBuZSAkYjsKKyAgICBteSAkYW55RmFpbHVyZXMgPSAwOworICAgIGZv
ciBteSAkc3VpdGUgKGtleXMgJXRlc3RzVG9SdW4pIHsKKyAgICAgICAgbXkgJGZhaWxlZCA9IHJ1
bkFsbFRlc3RzSW5TdWl0ZSgkc3VpdGUpOworICAgICAgICBpZiAoJGZhaWxlZCkgeworICAgICAg
ICAgICAgJGFueUZhaWx1cmVzID0gMTsKKyAgICAgICAgfQogICAgIH0KLSAgICAKLSAgICAjIE9u
ZSBvZiB0aGUgdHdvIGlzIG5vdyBlbXB0eTsgY29tcGFyZSBsZW5ndGhzIGZvciByZXN1bHQgaW4g
dGhpcyBjYXNlLgotICAgIHJldHVybiBAYSA8PT4gQGI7CisgICAgcmV0dXJuICRhbnlGYWlsdXJl
czsKIH0KIAotc3ViIHBhdGhjbXAoJCQpCitzdWIgcnVuQWxsVGVzdHNJblN1aXRlKCQpCiB7Ci0g
ICAgbXkgKCRwYXRoYSwgJHBhdGhiKSA9IEBfOworICAgIG15ICgkc3VpdGUpID0gQF87CisgICAg
cHJpbnQgIlN1aXRlOiAkc3VpdGVcbiI7CiAKLSAgICBteSAoJGRpcmEsICRuYW1lYSkgPSBzcGxp
dHBhdGgoJHBhdGhhKTsKLSAgICBteSAoJGRpcmIsICRuYW1lYikgPSBzcGxpdHBhdGgoJHBhdGhi
KTsKLQotICAgIHJldHVybiBudW1lcmljY21wKCRkaXJhLCAkZGlyYikgaWYgJGRpcmEgbmUgJGRp
cmI7Ci0gICAgcmV0dXJuIG51bWVyaWNjbXAoJG5hbWVhLCAkbmFtZWIpOworICAgIG15ICRhbnlG
YWlsdXJlcyA9IDA7CisgICAgZm9yIG15ICR0ZXN0IChAeyR0ZXN0c1RvUnVueyRzdWl0ZX19KSB7
CisgICAgICAgIG15ICRmYWlsZWQgPSBydW5UZXN0KCRzdWl0ZSwgJHRlc3QpOworICAgICAgICBp
ZiAoJGZhaWxlZCkgeworICAgICAgICAgICAgJGFueUZhaWx1cmVzID0gMTsKKyAgICAgICAgfQor
ICAgIH0KKyAgICAKKyAgICByZXR1cm4gJGFueUZhaWx1cmVzOwogfQogCi1zdWIgZmluZFRlc3Rz
VG9SdW4oKQorc3ViIHJ1blRlc3QoJCQpCiB7Ci0gICAgb3VyICVpZ25vcmVkTG9jYWxEaXJlY3Rv
cmllcyA9IG1hcCB7ICRfID0+IDEgfSBxdyguc3ZuIF9zdm4pOwotICAgIG91ciAlc3VwcG9ydGVk
RmlsZUV4dGVuc2lvbnMgPSBtYXAgeyAkXyA9PiAxIH0gcXcoY3BwKTsKLSAgICBvdXIgJHRlc3Rz
RGlyZWN0b3J5ID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgcXcoV2ViS2l0VG9v
bHMgVGVzdFdlYktpdEFQSSBUZXN0cykpOwotICAgIG91ciBAdGVzdHNGb3VuZCA9ICgpOworICAg
IG15ICgkc3VpdGUsICR0ZXN0TmFtZSkgPSBAXzsKKyAgICBteSAkdGVzdCA9ICRzdWl0ZSAuICIv
IiAuICR0ZXN0TmFtZTsKIAotICAgIHN1YiBkaXJlY3RvcnlGaWx0ZXIKLSAgICB7Ci0gICAgICAg
IHJldHVybiAoKSBpZiBleGlzdHMgJGlnbm9yZWRMb2NhbERpcmVjdG9yaWVze2Jhc2VuYW1lKCRG
aWxlOjpGaW5kOjpkaXIpfTsKLSAgICAgICAgcmV0dXJuIEBfOwotICAgIH0KKyAgICBwcmludCAi
ICAgIFRlc3Q6ICR0ZXN0TmFtZSAtPiAiOwogCi0gICAgc3ViIGZpbGVGaWx0ZXIKLSAgICB7Ci0g
ICAgICAgIG15ICRmaWxlbmFtZSA9ICRfOwotICAgICAgICBpZiAoJGZpbGVuYW1lID1+IC9cLihb
Xi5dKykkLykgewotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoZXhpc3RzICRzdXBwb3J0
ZWRGaWxlRXh0ZW5zaW9uc3skMX0pIHsKLSAgICAgICAgICAgICAgICBteSAkcGF0aCA9IEZpbGU6
OlNwZWMtPmFiczJyZWwoY2F0ZmlsZSgkRmlsZTo6RmluZDo6ZGlyLCAkZmlsZW5hbWUpLCAkdGVz
dHNEaXJlY3RvcnkpOwotICAgICAgICAgICAgICAgIHB1c2ggQHRlc3RzRm91bmQsICRwYXRoOwot
ICAgICAgICAgICAgfQorICAgIG15ICRyZXN1bHQgPSAwOworICAgIGlmIChpc0FwcGxlTWFjV2Vi
S2l0KCkpIHsKKyAgICAgICAgbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7CisgICAgICAg
ICRFTlZ7RFlMRF9GUkFNRVdPUktfUEFUSH0gPSAkcHJvZHVjdERpcjsKKyAgICAgICAgJEVOVntX
RUJLSVRfVU5TRVRfRFlMRF9GUkFNRVdPUktfUEFUSH0gPSAiWUVTIjsKKyAgICAgICAgbXkgJGFw
aVRlc3RlclBhdGggPSAiJHByb2R1Y3REaXIvVGVzdFdlYktpdEFQSSI7CisgICAgICAgIGlmIChh
cmNoaXRlY3R1cmUoKSkgeworICAgICAgICAgICAgJHJlc3VsdCA9IHN5c3RlbSAiYXJjaCIsICIt
IiAuIGFyY2hpdGVjdHVyZSgpLCAkYXBpVGVzdGVyUGF0aCwgJHRlc3QsIEBBUkdWOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgJHJlc3VsdCA9IHN5c3RlbSAkYXBpVGVzdGVyUGF0aCwg
JHRlc3QsIEBBUkdWOwogICAgICAgICB9CiAgICAgfQotCi0gICAgY2hkaXJXZWJLaXQoKTsKLQot
ICAgIGZpbmQoeyBwcmVwcm9jZXNzID0+IFwmZGlyZWN0b3J5RmlsdGVyLCB3YW50ZWQgPT4gXCZm
aWxlRmlsdGVyIH0sICR0ZXN0c0RpcmVjdG9yeSk7Ci0gICAgcmV0dXJuIHNvcnQgcGF0aGNtcCBA
dGVzdHNGb3VuZDsKKyAgICAKKyAgICBpZiAoJHJlc3VsdCA9PSAwKSB7CisgICAgICAgIHByaW50
IEJPTEQgR1JFRU4sICJQYXNzZWQiLCBSRVNFVCwgIlxuIjsKKyAgICB9IGVsc2UgeworICAgICAg
ICBwcmludCBCT0xEIFJFRCwgIkZhaWxlZCIsIFJFU0VULCAiXG4iOworICAgIH0KIH0KIAotc3Vi
IHJ1blRlc3QoJCkKLXsKLSAgICBteSAoJHRlc3RQYXRoKSA9IEBfOwotCi0gICAgbXkgKCRkaXIs
ICR0ZXN0RmlsZSkgPSBzcGxpdHBhdGgoJHRlc3RQYXRoKTsKLSAgICBteSAkdGVzdCA9IHN1YnN0
cigkdGVzdEZpbGUsIDAsIHJpbmRleCgkdGVzdEZpbGUsICIuIikpOwotCi0gICAgcHJpbnQgIlJ1
bm5pbmcgIiAuICRkaXIgLiAkdGVzdCAuICJcbiI7CiAKK3N1YiBwb3B1bGF0ZVRlc3RzKCkKK3sK
ICAgICBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7CiAgICAgICAgIG15ICRwcm9kdWN0RGlyID0g
cHJvZHVjdERpcigpOwogICAgICAgICAkRU5We0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJHByb2R1
Y3REaXI7CiAgICAgICAgICRFTlZ7V0VCS0lUX1VOU0VUX0RZTERfRlJBTUVXT1JLX1BBVEh9ID0g
IllFUyI7CiAgICAgICAgIG15ICRhcGlUZXN0ZXJQYXRoID0gIiRwcm9kdWN0RGlyL1Rlc3RXZWJL
aXRBUEkiOwotICAgICAgICBpZiAoIWlzVGlnZXIoKSAmJiBhcmNoaXRlY3R1cmUoKSkgewotICAg
ICAgICAgICAgcmV0dXJuIHN5c3RlbSAiYXJjaCIsICItIiAuIGFyY2hpdGVjdHVyZSgpLCAkYXBp
VGVzdGVyUGF0aCwgJHRlc3QsIEBBUkdWOworCisgICAgICAgIG15ICgkcGlkLCAkY2hpbGRJbiwg
JGNoaWxkT3V0KTsKKyAgICAgICAgaWYgKGFyY2hpdGVjdHVyZSgpKSB7CisgICAgICAgICAgICAk
cGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgIj4mU1RERVJSIiwgImFyY2giLCAiLSIg
LiBhcmNoaXRlY3R1cmUoKSwgJGFwaVRlc3RlclBhdGgsICItLWR1bXAtdGVzdHMiKSBvciBkaWUg
IkZhaWxlZCB0byBidWlsZCBsaXN0IG9mIHRlc3RzISI7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICByZXR1cm4gc3lzdGVtICRhcGlUZXN0ZXJQYXRoLCAkdGVzdCwgQEFSR1Y7CisgICAg
ICAgICAgICAkcGlkID0gb3BlbjMoJGNoaWxkSW4sICRjaGlsZE91dCwgIj4mU1RERVJSIiwgJGFw
aVRlc3RlclBhdGgsICItLWR1bXAtdGVzdHMiKSBvciBkaWUgIkZhaWxlZCB0byBidWlsZCBsaXN0
IG9mIHRlc3RzISI7CisgICAgICAgIH0KKyAgICAgICAgY2xvc2UoJGNoaWxkSW4pOworICAgICAg
ICBteSBAdGVzdHMgPSA8JGNoaWxkT3V0PjsKKyAgICAgICAgY2xvc2UoJGNoaWxkT3V0KTsKKwor
ICAgICAgICB3YWl0cGlkKCRwaWQsIDApOworICAgICAgICBteSAkcmVzdWx0ID0gJD87CisKKyAg
ICAgICAgaWYgKCRyZXN1bHQpIHsKKyAgICAgICAgICAgIHByaW50IFNUREVSUiAiRmFpbGVkIHRv
IGJ1aWxkIGxpc3Qgb2YgdGVzdHMhXG4iOworICAgICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCRy
ZXN1bHQpOwogICAgICAgICB9CisKKyAgICAgICAgY2hvbXAoQHRlc3RzKTsKKworICAgICAgICBt
eSAla2V5ZWRUZXN0cyA9ICgpOworICAgICAgICBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgeworICAg
ICAgICAgICAgbXkgKCRzdWl0ZSwgJHRlc3ROYW1lKSA9IHNwbGl0KC9cLy8sICR0ZXN0KTsKKyAg
ICAgICAgICAgIHB1c2ggQHska2V5ZWRUZXN0c3skc3VpdGV9fSwgJHRlc3ROYW1lOworICAgICAg
ICB9CisgICAgICAgIAorICAgICAgICByZXR1cm4gJWtleWVkVGVzdHM7CiAgICAgfQogfQogCkBA
IC0xODQsNyArMTg4LDcgQEAgc3ViIGJ1aWxkVGVzdFRvb2woKQogewogICAgIGNoZGlyV2ViS2l0
KCk7CiAKLSAgICBteSAkYnVpbGRUZXN0VG9vbCA9ICAiYnVpbGQtYXBpLXRlc3RzIjsKKyAgICBt
eSAkYnVpbGRUZXN0VG9vbCA9ICJidWlsZC1hcGktdGVzdHMiOwogICAgIHByaW50IFNUREVSUiAi
UnVubmluZyAkYnVpbGRUZXN0VG9vbFxuIjsKIAogICAgIGxvY2FsICpERVZOVUxMOwpJbmRleDog
V2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4tdGVzdC13ZWJraXQtYXBpCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL1NjcmlwdHMvcnVuLXRlc3Qtd2Via2l0LWFwaQkocmV2aXNpb24gMCkKKysrIFdl
YktpdFRvb2xzL1NjcmlwdHMvcnVuLXRlc3Qtd2Via2l0LWFwaQkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzOCBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworIyBhcmUgbWV0OgorIworIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisjIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisjIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
CisjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCisjICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorIyBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorIyBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisjIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAorIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyMgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworIyBTaW1wbGlmaWVkICJydW4iIHNjcmlwdCBmb3IgbGF1bmNoaW5nIHRoZSBXZWJLaXQyIGVz
dFdlYktpdEFQSS4KKwordXNlIHN0cmljdDsKK3VzZSBGaW5kQmluOwordXNlIGxpYiAkRmluZEJp
bjo6QmluOwordXNlIHdlYmtpdGRpcnM7CisKK3NldENvbmZpZ3VyYXRpb24oKTsKKworZXhpdCBl
eGl0U3RhdHVzKHJ1blRlc3RXZWJLaXRBUEkoKSk7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJL
aXRUb29scy9TY3JpcHRzL3J1bi10ZXN0LXdlYmtpdC1hcGkKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmV4ZWN1dGFibGUKICAgKyAqCgpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJz
LnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQkocmV2
aXNpb24gNjkzMTUpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0JKHdvcmtp
bmcgY29weSkKQEAgLTE4MzQsNCArMTgzNCwyMiBAQCBzdWIgZGVidWdXZWJLaXRUZXN0UnVubmVy
CiAgICAgcmV0dXJuIDE7CiB9CiAKK3N1YiBydW5UZXN0V2ViS2l0QVBJCit7CisgICAgaWYgKGlz
QXBwbGVNYWNXZWJLaXQoKSkgeworICAgICAgICBteSAkcHJvZHVjdERpciA9IHByb2R1Y3REaXIo
KTsKKyAgICAgICAgcHJpbnQgIlN0YXJ0aW5nIFRlc3RXZWJLaXRBUEkgd2l0aCBEWUxEX0ZSQU1F
V09SS19QQVRIIHNldCB0byBwb2ludCB0byAkcHJvZHVjdERpci5cbiI7CisgICAgICAgICRFTlZ7
RFlMRF9GUkFNRVdPUktfUEFUSH0gPSAkcHJvZHVjdERpcjsKKyAgICAgICAgJEVOVntXRUJLSVRf
VU5TRVRfRFlMRF9GUkFNRVdPUktfUEFUSH0gPSAiWUVTIjsKKyAgICAgICAgbXkgJHRlc3RXZWJL
aXRBUElQYXRoID0gIiRwcm9kdWN0RGlyL1Rlc3RXZWJLaXRBUEkiOworICAgICAgICBpZiAoIWlz
VGlnZXIoKSAmJiBhcmNoaXRlY3R1cmUoKSkgeworICAgICAgICAgICAgcmV0dXJuIHN5c3RlbSAi
YXJjaCIsICItIiAuIGFyY2hpdGVjdHVyZSgpLCAkdGVzdFdlYktpdEFQSVBhdGgsIEBBUkdWOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIHN5c3RlbSAkdGVzdFdlYktpdEFQ
SVBhdGgsIEBBUkdWOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIDE7Cit9CisKIDE7
CkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3QuaAkocmV2aXNpb24gNjkzMTUpCisrKyBXZWJL
aXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsOSArNDAs
OSBAQCBwdWJsaWM6CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGVzdENsYXNzVHk+IGNs
YXNzIFJlZ2lzdGVyIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIFJlZ2lzdGVyKGNvbnN0IHN0ZDo6
c3RyaW5nJiBpZGVudGlmaWVyKQorICAgICAgICBSZWdpc3Rlcihjb25zdCBzdGQ6OnN0cmluZyYg
dGVzdFN1aXRlLCBjb25zdCBzdGQ6OnN0cmluZyYgdGVzdENhc2UpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIFRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkucmVnaXN0ZXJDcmVhdGVUZXN0RnVuY3Rp
b24oaWRlbnRpZmllciwgUmVnaXN0ZXI6OmNyZWF0ZSk7CisgICAgICAgICAgICBUZXN0c0NvbnRy
b2xsZXI6OnNoYXJlZCgpLnJlZ2lzdGVyQ3JlYXRlVGVzdEZ1bmN0aW9uKHRlc3RTdWl0ZSArICIv
IiArIHRlc3RDYXNlLCBSZWdpc3Rlcjo6Y3JlYXRlKTsKICAgICAgICAgfQogICAgIAogICAgIHBy
aXZhdGU6CkBAIC02MSwyMyArNjEsMjMgQEAgcHJvdGVjdGVkOgogICAgIHN0ZDo6c3RyaW5nIG1f
aWRlbnRpZmllcjsKIH07CiAKLSNkZWZpbmUgVEVTVF9DTEFTU19OQU1FKHRlc3RDYXNlTmFtZSkg
dGVzdENhc2VOYW1lIyNfVGVzdAotI2RlZmluZSBURVNUX1JFR0lTVFJBUl9OQU1FKHRlc3RDYXNl
TmFtZSkgdGVzdENhc2VOYW1lIyNfUmVnaXN0cmFyCisjZGVmaW5lIFRFU1RfQ0xBU1NfTkFNRSh0
ZXN0U3VpdGUsIHRlc3RDYXNlTmFtZSkgdGVzdFN1aXRlIyN0ZXN0Q2FzZU5hbWUjI19UZXN0Cisj
ZGVmaW5lIFRFU1RfUkVHSVNUUkFSX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIHRlc3RT
dWl0ZSMjdGVzdENhc2VOYW1lIyNfUmVnaXN0cmFyCiAKIC8vIFVzZSB0aGlzIHRvIGRlZmluZSBh
IG5ldyB0ZXN0LgotI2RlZmluZSBURVNUKHRlc3RDYXNlTmFtZSkgXAotICAgIGNsYXNzIFRFU1Rf
Q0xBU1NfTkFNRSh0ZXN0Q2FzZU5hbWUpIDogcHVibGljIFRlc3QgeyBcCisjZGVmaW5lIFRFU1Qo
dGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIFwKKyAgICBjbGFzcyBURVNUX0NMQVNTX05BTUUodGVz
dFN1aXRlLCB0ZXN0Q2FzZU5hbWUpIDogcHVibGljIFRlc3QgeyBcCiAgICAgcHVibGljOiBcCi0g
ICAgICAgIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0Q2FzZU5hbWUpKGNvbnN0IHN0ZDo6c3RyaW5nJiBp
ZGVudGlmaWVyKSBcCisgICAgICAgIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0U3VpdGUsIHRlc3RDYXNl
TmFtZSkoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpIFwKICAgICAgICAgICAgIDogVGVz
dChpZGVudGlmaWVyKSBcCiAgICAgICAgIHsgXAogICAgICAgICB9IFwKICAgICAgICAgdmlydHVh
bCB2b2lkIHJ1bigpOyBcCiAgICAgfTsgXAogICAgIFwKLSAgICBzdGF0aWMgVGVzdDo6UmVnaXN0
ZXI8VEVTVF9DTEFTU19OQU1FKHRlc3RDYXNlTmFtZSk+IFRFU1RfUkVHSVNUUkFSX05BTUUodGVz
dENhc2VOYW1lKSgjdGVzdENhc2VOYW1lKTsgXAorICAgIHN0YXRpYyBUZXN0OjpSZWdpc3RlcjxU
RVNUX0NMQVNTX05BTUUodGVzdFN1aXRlLCB0ZXN0Q2FzZU5hbWUpPiBURVNUX1JFR0lTVFJBUl9O
QU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKSgjdGVzdFN1aXRlLCAjdGVzdENhc2VOYW1lKTsg
XAogICAgIFwKLSAgICB2b2lkIFRFU1RfQ0xBU1NfTkFNRSh0ZXN0Q2FzZU5hbWUpOjpydW4oKQor
ICAgIHZvaWQgVEVTVF9DTEFTU19OQU1FKHRlc3RTdWl0ZSwgdGVzdENhc2VOYW1lKTo6cnVuKCkK
IAogI2RlZmluZSBURVNUX0FTU0VSVChleHByZXNzaW9uKSBkbyB7IGlmICghKGV4cHJlc3Npb24p
KSB7IFRlc3RzQ29udHJvbGxlcjo6c2hhcmVkKCkudGVzdEZhaWxlZChfX0ZJTEVfXywgX19MSU5F
X18sICNleHByZXNzaW9uKTsgcmV0dXJuOyB9IH0gd2hpbGUgKDApCiAKSW5kZXg6IFdlYktpdFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDY5MzE1
KQorKysgV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Myw2ICs0MywxNCBAQCBUZXN0c0NvbnRyb2xsZXI6OlRlc3RzQ29udHJv
bGxlcigpCiB7CiB9CiAKK3ZvaWQgVGVzdHNDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKCkKK3sK
KyAgICBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPjo6Y29uc3RfaXRl
cmF0b3IgaXQgPSBtX2NyZWF0ZVRlc3RGdW5jdGlvbnMuYmVnaW4oKTsKKyAgICBzdGQ6Om1hcDxz
dGQ6OnN0cmluZywgQ3JlYXRlVGVzdEZ1bmN0aW9uPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9j
cmVhdGVUZXN0RnVuY3Rpb25zLmVuZCgpOworICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpCisg
ICAgICAgIHByaW50ZigiJXNcbiIsICgqaXQpLmZpcnN0LmNfc3RyKCkpOworfQorCiBib29sIFRl
c3RzQ29udHJvbGxlcjo6cnVuVGVzdE5hbWVkKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZGVudGlmaWVy
KQogewogICAgIENyZWF0ZVRlc3RGdW5jdGlvbiBjcmVhdGVUZXN0RnVuY3Rpb24gPSBtX2NyZWF0
ZVRlc3RGdW5jdGlvbnNbaWRlbnRpZmllcl07CkBAIC01NCw5ICs2Miw2IEBAIGJvb2wgVGVzdHND
b250cm9sbGVyOjpydW5UZXN0TmFtZWQoY29uc3QKICAgICBtX2N1cnJlbnRUZXN0ID0gY3JlYXRl
VGVzdEZ1bmN0aW9uKGlkZW50aWZpZXIpOwogICAgIG1fY3VycmVudFRlc3QtPnJ1bigpOwogCi0g
ICAgaWYgKCFtX3Rlc3RGYWlsZWQpCi0gICAgICAgIHByaW50ZigiUEFTUzogJXNcbiIsIG1fY3Vy
cmVudFRlc3QtPm5hbWUoKS5jX3N0cigpKTsKLQogICAgIGRlbGV0ZSBtX2N1cnJlbnRUZXN0Owog
ICAgIG1fY3VycmVudFRlc3QgPSAwOwogCkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHNDb250cm9sbGVyLmgJKHJldmlzaW9uIDY5MzE1KQorKysgV2ViS2l0VG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcs
NyBAQCBjbGFzcyBUZXN0c0NvbnRyb2xsZXIgewogcHVibGljOgogICAgIHN0YXRpYyBUZXN0c0Nv
bnRyb2xsZXImIHNoYXJlZCgpOwogCisgICAgdm9pZCBkdW1wVGVzdE5hbWVzKCk7CiAgICAgYm9v
bCBydW5UZXN0TmFtZWQoY29uc3Qgc3RkOjpzdHJpbmcmKTsKIAogICAgIC8vIENhbGxlZCBieSB0
aGUgdGVzdHMgdGhlbXNlbHZlcy4KSW5kZXg6IFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL1ZlY3RvckJhc2ljLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9WZWN0b3JCYXNpYy5jcHAJKHJldmlzaW9uIDY5MzE1KQorKysgV2Vi
S2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yQmFzaWMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSwxMiArMjksMTIgQEAKIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewog
Ci1URVNUKFZlY3RvckJhc2ljKQorVEVTVChXVEYsIFZlY3RvckJhc2ljKQogewogICAgIFZlY3Rv
cjxpbnQ+IGludFZlY3RvcjsKICAgICBURVNUX0FTU0VSVChpbnRWZWN0b3IuaXNFbXB0eSgpKTsK
ICAgICBURVNUX0FTU0VSVChpbnRWZWN0b3Iuc2l6ZSgpID09IDApOwotICAgIFRFU1RfQVNTRVJU
KGludFZlY3Rvci5jYXBhY2l0eSgpID09IDApOworICAgIFRFU1RfQVNTRVJUKGludFZlY3Rvci5j
YXBhY2l0eSgpID09IDEpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCkluZGV4
OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRnJhbWVNSU1FVHlwZUhU
TUwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9GcmFtZU1JTUVUeXBlSFRNTC5jcHAJKHJldmlzaW9uIDY5MzE1KQorKysgV2ViS2l0VG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZyYW1lTUlNRVR5cGVIVE1MLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9y
RnJhbWUoV0tQYWdlCiAgICAgdGVzdERvbmUgPSB0cnVlOwogfQogCi1URVNUKEZyYW1lTUlNRVR5
cGVIVE1MKQorVEVTVChXZWJLaXQyLCBGcmFtZU1JTUVUeXBlSFRNTCkKIHsKICAgICBXS1JldGFp
blB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwog
ICAgIFdLUmV0YWluUHRyPFdLUGFnZU5hbWVzcGFjZVJlZj4gcGFnZU5hbWVzcGFjZShBZG9wdFdL
LCBXS1BhZ2VOYW1lc3BhY2VDcmVhdGUoY29udGV4dC5nZXQoKSkpOwpJbmRleDogV2ViS2l0VG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0ZyYW1lTUlNRVR5cGVQTkcuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9GcmFtZU1J
TUVUeXBlUE5HLmNwcAkocmV2aXNpb24gNjkzMTUpCisrKyBXZWJLaXRUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvRnJhbWVNSU1FVHlwZVBORy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU0LDcgKzU0LDcgQEAgc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZQog
ICAgIHRlc3REb25lID0gdHJ1ZTsKIH0KIAotVEVTVChGcmFtZU1JTUVUeXBlUE5HKQorVEVTVChX
ZWJLaXQyLCBGcmFtZU1JTUVUeXBlUE5HKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJl
Zj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CiAgICAgV0tSZXRhaW5QdHI8
V0tQYWdlTmFtZXNwYWNlUmVmPiBwYWdlTmFtZXNwYWNlKEFkb3B0V0ssIFdLUGFnZU5hbWVzcGFj
ZUNyZWF0ZShjb250ZXh0LmdldCgpKSk7CkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvUGFnZUxvYWRCYXNpYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1BhZ2VMb2FkQmFzaWMuY3BwCShyZXZpc2lv
biA2OTMxNSkKKysrIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9QYWdl
TG9hZEJhc2ljLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsNyArOTcsNyBAQCBzdGF0aWMgdm9p
ZCBkZWNpZGVQb2xpY3lGb3JNSU1FVHlwZShXS1BhCiAgICAgV0tGcmFtZVBvbGljeUxpc3RlbmVy
VXNlKGxpc3RlbmVyKTsKIH0KIAotVEVTVChQYWdlTG9hZEJhc2ljKQorVEVTVChXZWJLaXQyLCBQ
YWdlTG9hZEJhc2ljKQogewogICAgIFN0YXRlIHN0YXRlOwogCkluZGV4OiBXZWJLaXRUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tTdHJpbmcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS1N0cmluZy5jcHAJKHJldmlz
aW9uIDY5MzE1KQorKysgV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1dL
U3RyaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSSB7CiAKLVRFU1QoV0tTdHJpbmcpCitURVNUKFdlYktpdDIsIFdLU3RyaW5n
KQogewogICAgIFdLU3RyaW5nUmVmIHN0cmluZyA9IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJoZWxsbyIpOwogICAgIFRFU1RfQVNTRVJUKCFXS1N0cmluZ0lzRW1wdHkoc3RyaW5nKSk7
CkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvV0tTdHJpbmdK
U1N0cmluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL1dLU3RyaW5nSlNTdHJpbmcuY3BwCShyZXZpc2lvbiA2OTMxNSkKKysrIFdlYktp
dFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9XS1N0cmluZ0pTU3RyaW5nLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SSB7CiAKLVRFU1QoV0tTdHJpbmdKU1N0cmluZykKK1RFU1QoV2ViS2l0MiwgV0tTdHJpbmdKU1N0
cmluZykKIHsKICAgICBXS1N0cmluZ1JlZiB3a1N0cmluZyA9IFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJoZWxsbyIpOwogICAgIEpTU3RyaW5nUmVmIGpzU3RyaW5nID0gSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoImhlbGxvIik7CkluZGV4OiBXZWJLaXRUb29scy9UZXN0V2Vi
S2l0QVBJL21hYy9tYWluLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL21haW4ubW0JKHJldmlzaW9uIDY5MzE1KQorKysgV2ViS2l0VG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvbWFpbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsMTMgQEAgaW50IG1h
aW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKIAogICAgIFtOU0FwcGxpY2F0aW9uIHNo
YXJlZEFwcGxpY2F0aW9uXTsKIAotICAgIGJvb2wgcGFzc2VkID0gVGVzdFdlYktpdEFQSTo6VGVz
dHNDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5UZXN0TmFtZWQoc3RkOjpzdHJpbmcoYXJndlsxXSkp
OworICAgIGJvb2wgcGFzc2VkID0gdHJ1ZTsKKworICAgIHN0ZDo6c3RyaW5nIGFyZ3VtZW50KGFy
Z3ZbMV0pOworICAgIGlmIChhcmd1bWVudCA9PSAiLS1kdW1wLXRlc3RzIikKKyAgICAgICAgVGVz
dFdlYktpdEFQSTo6VGVzdHNDb250cm9sbGVyOjpzaGFyZWQoKS5kdW1wVGVzdE5hbWVzKCk7Cisg
ICAgZWxzZSAgIAorICAgICAgICBwYXNzZWQgPSBUZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xs
ZXI6OnNoYXJlZCgpLnJ1blRlc3ROYW1lZChhcmd1bWVudCk7CiAKICAgICBbcG9vbCBkcmFpbl07
CiAK
</data>
<flag name="review"
          id="59895"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>