<?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>70688</bug_id>
          
          <creation_ts>2011-10-22 19:53:35 -0700</creation_ts>
          <short_desc>[chromium] Manage webkit_unit_tests TestSuite lifetime explicitly in DLL build</short_desc>
          <delta_ts>2011-10-24 12:52:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nat Duca">nduca</reporter>
          <assigned_to name="Nat Duca">nduca</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>488983</commentid>
    <comment_count>0</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-10-22 19:53:35 -0700</bug_when>
    <thetext>[chromium] Manage TestSuite lifetime explicitly, fixing crash in webkit_unit_tests in DLL build.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488984</commentid>
    <comment_count>1</comment_count>
      <attachid>112103</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-10-22 19:54:03 -0700</bug_when>
    <thetext>Created attachment 112103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488985</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-22 19:57:08 -0700</bug_when>
    <thetext>Attachment 112103 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Sourc...&quot; exit_code: 1

Source/WebKit/chromium/tests/WebUnitTests.h:46:  WEBKIT_EXPORT should only appear in the chromium public directory.  [readability/webkit_export] [5]
Source/WebKit/chromium/tests/WebUnitTests.h:49:  WEBKIT_EXPORT should only appear in the chromium public directory.  [readability/webkit_export] [5]
Source/WebKit/chromium/tests/WebUnitTests.h:52:  WEBKIT_EXPORT should only appear in the chromium public directory.  [readability/webkit_export] [5]
Total errors found: 3 in 4 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>488986</commentid>
    <comment_count>3</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-10-22 20:00:21 -0700</bug_when>
    <thetext>On component/dll builds, the existing code çreates two test suites -- main() creates a TestSuite, then WebKit::RunAllTests creates another. This leads to two nasty side effects:
- webkit_unit_tests crashes after it runs. The tests show as passing, but then we get a stack dump in ~CommandLine.
- The &quot;real&quot; testsuite thinks it doesn&apos;t have a command line. This makes things like --gtest_filter don&apos;t work

This patch replaces the RunAllTests with three functions: InitTestSuite,RunAllTests,DeleteTestSuite. This allows the overall main() function to create the suite, initialize webkit support, run the tests, then tear everything down again in the right order.

I&apos;m not sure how to make the style bot happy. Should tests/WebUnitTests.h be in public?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489410</commentid>
    <comment_count>4</comment_count>
      <attachid>112103</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-10-24 10:22:55 -0700</bug_when>
    <thetext>Comment on attachment 112103
Patch

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

&gt; Source/WebKit/chromium/tests/RunAllTests.cpp:47
&gt; +// and run inside awebkit.dll.

Nit: awebkit typo

&gt; Source/WebKit/chromium/tests/WebUnitTests.cpp:38
&gt; +namespace {
&gt; +static TestSuite* testSuite = 0;

Nit: No namespace (it&apos;s redundant with static and WebKit style prefers static).

&gt;&gt; Source/WebKit/chromium/tests/WebUnitTests.h:46
&gt;&gt; +WEBKIT_EXPORT void InitTestSuite(int argc, char** argv);
&gt; 
&gt; WEBKIT_EXPORT should only appear in the chromium public directory.  [readability/webkit_export] [5]

We could add a WEBKIT_EXPORT_PRIVATE for these.  See src/net/base/net_export.h for an example of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489420</commentid>
    <comment_count>5</comment_count>
      <attachid>112208</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-10-24 10:34:10 -0700</bug_when>
    <thetext>Created attachment 112208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489429</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-24 10:38:47 -0700</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489433</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-10-24 10:41:49 -0700</bug_when>
    <thetext>LGTM, but let&apos;s let Darin review the addition of WEBKIT_EXPORT_PRIVATE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489455</commentid>
    <comment_count>8</comment_count>
      <attachid>112208</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-24 11:07:55 -0700</bug_when>
    <thetext>Comment on attachment 112208
Patch

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

&gt; Source/WebKit/chromium/public/WebCommon.h:72
&gt; +            #define WEBKIT_EXPORT_PRIVATE __declspec(dllexport)

I don&apos;t think WEBKIT_EXPORT_PRIVATE is all that helpful.  I&apos;m also don&apos;t
think it is that helpful for net/ to have NET_EXPORT_PRIVATE :)

The only reason we have NET_EXPORT_PRIVATE is because Ricardo took the
time to carefully separate net/ entry points used only by tests from
those used by Chrome.  The downside of this approach is that it is really
hard to maintain.  I would not be surprised to see NET_EXPORT_PRIVATE
being used by Chrome now since there is no mechanism to prevent it.

Let&apos;s just stick with WEBKIT_EXPORT.  It is easier to understand.  I&apos;m not
too worried about using it outside of the public/ directory for this one
case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489491</commentid>
    <comment_count>9</comment_count>
      <attachid>112220</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-10-24 11:49:13 -0700</bug_when>
    <thetext>Created attachment 112220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489493</commentid>
    <comment_count>10</comment_count>
      <attachid>112220</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-10-24 11:51:23 -0700</bug_when>
    <thetext>Comment on attachment 112220
Patch

Feel free to ignore the style bot.  We can fix that the style checker in a follow up bug to ignore the tests directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489494</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-24 11:52:24 -0700</bug_when>
    <thetext>Attachment 112220 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Sourc...&quot; exit_code: 1

Source/WebKit/chromium/tests/WebUnitTests.h:46:  WEBKIT_EXPORT should only appear in the chromium public directory.  [readability/webkit_export] [5]
Source/WebKit/chromium/tests/WebUnitTests.h:49:  WEBKIT_EXPORT should only appear in the chromium public directory.  [readability/webkit_export] [5]
Source/WebKit/chromium/tests/WebUnitTests.h:52:  WEBKIT_EXPORT should only appear in the chromium public directory.  [readability/webkit_export] [5]
Total errors found: 3 in 4 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>489547</commentid>
    <comment_count>12</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-10-24 12:52:14 -0700</bug_when>
    <thetext>Committed r98269: &lt;http://trac.webkit.org/changeset/98269&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112103</attachid>
            <date>2011-10-22 19:54:03 -0700</date>
            <delta_ts>2011-10-24 10:32:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70688-20111022195402.patch</filename>
            <type>text/plain</type>
            <size>4557</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgxMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
Y2ViM2M3YjdjOGY1ZWM5MjdkMzhkOWM0MDBmN2Q4NjJmNjhlMTk2Mi4uMjYwOWEyNzM1NjQ2NGU5
MGIyMzI3ODkxNmM1YmY2NGQ2ZDIzODE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxMS0xMC0yMiAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW2Nocm9taXVtXSBNYW5hZ2UgVGVzdFN1aXRlIGxpZmV0aW1lIGV4cGxpY2l0
bHksIGZpeGluZyBjcmFzaCBpbiB3ZWJraXRfdW5pdF90ZXN0cyBpbiBETEwgYnVpbGQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjg4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0cy9SdW5BbGxU
ZXN0cy5jcHA6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB0ZXN0cy9XZWJVbml0VGVzdHMu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJbml0VGVzdFN1aXRlKToKKyAgICAgICAgKFdlYktpdDo6
UnVuQWxsVW5pdFRlc3RzKToKKyAgICAgICAgKFdlYktpdDo6RGVsZXRlVGVzdFN1aXRlKToKKyAg
ICAgICAgKiB0ZXN0cy9XZWJVbml0VGVzdHMuaDoKKwogMjAxMS0xMC0yMCAgWmhlbnlhbyBNbyAg
PHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBtZWNoYW5pc20gdG8gZW5hYmxl
IHByaXZpbGVnZWQgd2ViZ2wgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9SdW5BbGxUZXN0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL1J1bkFsbFRlc3RzLmNwcAppbmRleCBkMjY1MDg1NWI0Y2M4MTFkYjEwZDM4M2QwZTlmYjI2
MGI5Y2Q2OTEyLi43NzcyNzg2N2M4MDA2YzNiOWFmMjAyNjlkZjk4MTcwNTI5MjliN2ZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcApAQCAtNDEsMjIg
KzQxLDI1IEBACiAKICNpbmNsdWRlIDxnbW9jay9nbW9jay5oPgogCisvLyBUZXN0U3VpdGUgbXVz
dCBiZSBjcmVhdGVkIGJlZm9yZSBTZXRVcFRlc3RFbnZpcm9ubWVudCBzbyBpdCBwZXJmb3Jtcwor
Ly8gaW5pdGlhbGl6YXRpb25zIG5lZWRlZCBieSBXZWJLaXQgc3VwcG9ydC4gVGhpcyBpcyBzbGln
aHRseSBjb21wbGljYXRlZCBieSB0aGUKKy8vIGZhY3QgdGhhdCBjaHJvbWl1bSBtdWx0aS1kbGwg
YnVpbGQgcmVxdWlyZXMgdGhhdCB0aGUgVGVzdFN1aXRlIG9iamVjdCBiZSBjcmVhdGVkCisvLyBh
bmQgcnVuIGluc2lkZSBhd2Via2l0LmRsbC4KIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJn
dikKIHsKKyNpZiBkZWZpbmVkKFdFQktJVF9ETExfVU5JVFRFU1QpCisgICAgV2ViS2l0OjpJbml0
VGVzdFN1aXRlKGFyZ2MsIGFyZ3YpOworICAgIHdlYmtpdF9zdXBwb3J0OjpTZXRVcFRlc3RFbnZp
cm9ubWVudEZvclVuaXRUZXN0cygpOworICAgIGludCByZXN1bHQgPSBXZWJLaXQ6OlJ1bkFsbFVu
aXRUZXN0cygpOworICAgIHdlYmtpdF9zdXBwb3J0OjpUZWFyRG93blRlc3RFbnZpcm9ubWVudCgp
OworICAgIFdlYktpdDo6RGVsZXRlVGVzdFN1aXRlKCk7CisjZWxzZQogICAgIDo6dGVzdGluZzo6
SW5pdEdvb2dsZU1vY2soJmFyZ2MsIGFyZ3YpOwogICAgIFRlc3RTdWl0ZSB0ZXN0U3VpdGUoYXJn
YywgYXJndik7Ci0gICAgLy8gVGVzdFN1aXRlIG11c3QgYmUgY3JlYXRlZCBiZWZvcmUgU2V0VXBU
ZXN0RW52aXJvbm1lbnQgc28gaXQgcGVyZm9ybXMKLSAgICAvLyBpbml0aWFsaXphdGlvbnMgbmVl
ZGVkIGJ5IFdlYktpdCBzdXBwb3J0LgogICAgIHdlYmtpdF9zdXBwb3J0OjpTZXRVcFRlc3RFbnZp
cm9ubWVudEZvclVuaXRUZXN0cygpOwotCi0jaWYgZGVmaW5lZChXRUJLSVRfRExMX1VOSVRURVNU
KQotICAgIC8vIEZvciBjaHJvbWl1bSBtdWx0aS1kbGwgYnVpbGQsIG5lZWQgdG8gY2FsbCB3ZWJr
aXQgYXBpIHRvIGNyZWF0ZSBhCi0gICAgLy8gVGVzdFN1aXRlIGluc3RhbmNlIGluIHdlYmtpdC5k
bGwgYW5kIHJ1biBhbGwgdGVzdHMgZnJvbSB0aGVyZS4KLSAgICBpbnQgcmVzdWx0ID0gV2ViS2l0
OjpSdW5BbGxVbml0VGVzdHMoYXJnYywgYXJndik7Ci0jZWxzZQogICAgIGludCByZXN1bHQgPSB0
ZXN0U3VpdGUuUnVuKCk7CisgICAgd2Via2l0X3N1cHBvcnQ6OlRlYXJEb3duVGVzdEVudmlyb25t
ZW50KCk7CiAjZW5kaWYKIAotICAgIHdlYmtpdF9zdXBwb3J0OjpUZWFyRG93blRlc3RFbnZpcm9u
bWVudCgpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAKaW5kZXggNWUyMDdmM2FkNzQ1MWE3YzhjMzBhYTEzMmY0
ZDA3ZmU2YzIwZjY1My4uMWUxMGViYjYwNTMzZDlkZGNmZDlkMmI0NDQ2NGQwOWYxMWM5MjVmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVbml0VGVzdHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmNwcApAQCAt
MzIsMTMgKzMyLDMzIEBACiAjaW5jbHVkZSAiV2ViVW5pdFRlc3RzLmgiCiAKICNpbmNsdWRlIDxi
YXNlL3Rlc3QvdGVzdF9zdWl0ZS5oPgorI2luY2x1ZGUgPGdtb2NrL2dtb2NrLmg+CisKK25hbWVz
cGFjZSB7CitzdGF0aWMgVGVzdFN1aXRlKiB0ZXN0U3VpdGUgPSAwOworfQogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAotaW50IFJ1bkFsbFVuaXRUZXN0cyhpbnQgYXJnYywgY2hhcioqIGFyZ3YpCit2
b2lkIEluaXRUZXN0U3VpdGUoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQoreworICAgIDo6dGVzdGlu
Zzo6SW5pdEdvb2dsZU1vY2soJmFyZ2MsIGFyZ3YpOworICAgIHRlc3RTdWl0ZSA9IG5ldyBUZXN0
U3VpdGUoYXJnYywgYXJndik7Cit9CisKK2ludCBSdW5BbGxVbml0VGVzdHMoKQoreworICAgIEFT
U0VSVCh0ZXN0U3VpdGUpOworCisgICAgaW50IHJlc3VsdCA9IHRlc3RTdWl0ZS0+UnVuKCk7CisK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIERlbGV0ZVRlc3RTdWl0ZSgpCiB7Ci0gICAg
VGVzdFN1aXRlIHRlc3RTdWl0ZShhcmdjLCBhcmd2KTsKLSAgICByZXR1cm4gdGVzdFN1aXRlLlJ1
bigpOworICAgIGRlbGV0ZSB0ZXN0U3VpdGU7CisgICAgdGVzdFN1aXRlID0gMDsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL1dlYlVuaXRUZXN0cy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVbml0
VGVzdHMuaAppbmRleCA4NTY1N2RkYWY3YmY4MzQxM2ExNmUyNGI4MjU1YTE0YjFiZGFkMTEyLi4w
Y2FmYTM4ODI5ZTAxNTE3MGQ2MjZjZjJlYjEyMmVjY2ZlZjAxY2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRUZXN0cy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmgKQEAgLTM2LDggKzM2LDIxIEBACiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogLy8gSW4gY2hyb21pdW0gbXVsdGktZGxsIGJ1aWxkLCB3ZWJraXQg
dW5pdHRlc3QgY29kZSBhcmUgY29tcGlsZWQgaW4gd2Via2l0LmRsbC4KLS8vIFRoaXMgaXMgdGhl
IEFQSSB0byBydW4gYWxsIHVuaXR0ZXN0cyBpbnNpZGUgd2Via2l0LmRsbC4KLVdFQktJVF9FWFBP
UlQgaW50IFJ1bkFsbFVuaXRUZXN0cyhpbnQgYXJnYywgY2hhcioqIGFyZ3YpOworLy8gVGhpcyBt
ZWFucyB0aGUgdGVzdCBzdWl0ZSBvYmplY3QgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgaW5zaWRl
IFdlYktpdC4KKy8vCisvLyBIb3dldmVyLCB0aGUgd2Via2l0IHVuaXR0ZXN0IGNvZGUgbmVlZHMg
dG8gYWxzbyBpbml0aWFsaXplL3RlYXJkb3duLgorLy8gVGhpcyBsZWFkcyB0byB0aGUgQVBJIGhl
cmUsIHdoaWNoIGhhcyBleHBsaWNpdCBtYW5hZ21lbnQgb2YgdGhlIFRlc3RTdWl0ZQorLy8gbGlm
ZXRpbWUuCisKKy8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB0ZXN0U3VpdGUgb2JqZWN0IGluc2lk
ZSB3ZWJraXQuZGxsCitXRUJLSVRfRVhQT1JUIHZvaWQgSW5pdFRlc3RTdWl0ZShpbnQgYXJnYywg
Y2hhcioqIGFyZ3YpOworCisvLyBSdW5zIGFsbCB0ZXN0cyBmb3VuZCBpbnNpZGUgd2Via2l0LmRs
bAorV0VCS0lUX0VYUE9SVCBpbnQgUnVuQWxsVW5pdFRlc3RzKCk7CisKKy8vIERlbGV0ZXMgdGhl
IGdsb2JhbCB0ZXN0U3VpdGUgb2JqZWN0IGluc2lkZSB3ZWJraXQuZGxsCitXRUJLSVRfRVhQT1JU
IHZvaWQgRGVsZXRlVGVzdFN1aXRlKCk7CisKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112208</attachid>
            <date>2011-10-24 10:34:10 -0700</date>
            <delta_ts>2011-10-24 11:49:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70688-20111024103409.patch</filename>
            <type>text/plain</type>
            <size>5581</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgxMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
Y2ViM2M3YjdjOGY1ZWM5MjdkMzhkOWM0MDBmN2Q4NjJmNjhlMTk2Mi4uZGQ1YjJhZjE4ZmYzZGE2
MmRjMjBhZWU0YmQwMzFlMjhjYjRlOTBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxMS0xMC0yNCAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW2Nocm9taXVtXSBNYW5hZ2Ugd2Via2l0X3VuaXRfdGVzdHMgVGVzdFN1aXRl
IGxpZmV0aW1lIGV4cGxpY2l0bHkgaW4gRExMIGJ1aWxkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYkNvbW1vbi5oOiBBZGQgV0VCS0lU
X0VYUE9SVF9QUklWQVRFCisgICAgICAgICogdGVzdHMvUnVuQWxsVGVzdHMuY3BwOgorICAgICAg
ICAobWFpbik6CisgICAgICAgICogdGVzdHMvV2ViVW5pdFRlc3RzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6SW5pdFRlc3RTdWl0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJ1bkFsbFVuaXRUZXN0cyk6
CisgICAgICAgIChXZWJLaXQ6OkRlbGV0ZVRlc3RTdWl0ZSk6CisgICAgICAgICogdGVzdHMvV2Vi
VW5pdFRlc3RzLmg6CisKIDIwMTEtMTAtMjAgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
IAogICAgICAgICBJbXBsZW1lbnQgbWVjaGFuaXNtIHRvIGVuYWJsZSBwcml2aWxlZ2VkIHdlYmds
IGV4dGVuc2lvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkNvbW1vbi5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uLmgKaW5k
ZXggYzYzNGYwYzM4ZjQxOGQwMjg1ODBjODM2NTNhMWFmMWUxNzM5YWUxOC4uMzM3YmQ4NTI1MDY3
NDE0NmM5OWFkZjY4OWJiNmQ3YTJlNzVmNjY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViQ29tbW9uLmgKQEAgLTY5LDE0ICs2OSwxOCBAQAogICAgICNpZiBkZWZpbmVkKFdJ
TjMyKQogICAgICAgICAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCiAgICAgICAgICAgICAjZGVm
aW5lIFdFQktJVF9FWFBPUlQgX19kZWNsc3BlYyhkbGxleHBvcnQpCisgICAgICAgICAgICAjZGVm
aW5lIFdFQktJVF9FWFBPUlRfUFJJVkFURSBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKICAgICAgICAg
I2Vsc2UKICAgICAgICAgICAgICNkZWZpbmUgV0VCS0lUX0VYUE9SVCBfX2RlY2xzcGVjKGRsbGlt
cG9ydCkKKyAgICAgICAgICAgICNkZWZpbmUgV0VCS0lUX0VYUE9SVF9QUklWQVRFIF9fZGVjbHNw
ZWMoZGxsaW1wb3J0KQogICAgICAgICAjZW5kaWYKICAgICAjZWxzZQogICAgICAgICAjZGVmaW5l
IFdFQktJVF9FWFBPUlQgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKKyAg
ICAgICAgI2RlZmluZSBXRUJLSVRfRVhQT1JUX1BSSVZBVEUgX19hdHRyaWJ1dGVfXygodmlzaWJp
bGl0eSgiZGVmYXVsdCIpKSkKICAgICAjZW5kaWYKICNlbHNlCiAgICAgI2RlZmluZSBXRUJLSVRf
RVhQT1JUCisgICAgI2RlZmluZSBXRUJLSVRfRVhQT1JUX1BSSVZBVEUKICNlbmRpZgogCiAvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9SdW5BbGxUZXN0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFs
bFRlc3RzLmNwcAppbmRleCBkMjY1MDg1NWI0Y2M4MTFkYjEwZDM4M2QwZTlmYjI2MGI5Y2Q2OTEy
Li4xODc5MzY4MmRiM2VlZTY1N2U4NGYxNzJlYzczNjg5ZjU4OGNjYjU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcApAQCAtNDEsMjIgKzQxLDI1IEBA
CiAKICNpbmNsdWRlIDxnbW9jay9nbW9jay5oPgogCisvLyBUZXN0U3VpdGUgbXVzdCBiZSBjcmVh
dGVkIGJlZm9yZSBTZXRVcFRlc3RFbnZpcm9ubWVudCBzbyBpdCBwZXJmb3JtcworLy8gaW5pdGlh
bGl6YXRpb25zIG5lZWRlZCBieSBXZWJLaXQgc3VwcG9ydC4gVGhpcyBpcyBzbGlnaHRseSBjb21w
bGljYXRlZCBieSB0aGUKKy8vIGZhY3QgdGhhdCBjaHJvbWl1bSBtdWx0aS1kbGwgYnVpbGQgcmVx
dWlyZXMgdGhhdCB0aGUgVGVzdFN1aXRlIG9iamVjdCBiZSBjcmVhdGVkCisvLyBhbmQgcnVuIGlu
c2lkZSB3ZWJraXQuZGxsLgogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogeworI2lm
IGRlZmluZWQoV0VCS0lUX0RMTF9VTklUVEVTVCkKKyAgICBXZWJLaXQ6OkluaXRUZXN0U3VpdGUo
YXJnYywgYXJndik7CisgICAgd2Via2l0X3N1cHBvcnQ6OlNldFVwVGVzdEVudmlyb25tZW50Rm9y
VW5pdFRlc3RzKCk7CisgICAgaW50IHJlc3VsdCA9IFdlYktpdDo6UnVuQWxsVW5pdFRlc3RzKCk7
CisgICAgd2Via2l0X3N1cHBvcnQ6OlRlYXJEb3duVGVzdEVudmlyb25tZW50KCk7CisgICAgV2Vi
S2l0OjpEZWxldGVUZXN0U3VpdGUoKTsKKyNlbHNlCiAgICAgOjp0ZXN0aW5nOjpJbml0R29vZ2xl
TW9jaygmYXJnYywgYXJndik7CiAgICAgVGVzdFN1aXRlIHRlc3RTdWl0ZShhcmdjLCBhcmd2KTsK
LSAgICAvLyBUZXN0U3VpdGUgbXVzdCBiZSBjcmVhdGVkIGJlZm9yZSBTZXRVcFRlc3RFbnZpcm9u
bWVudCBzbyBpdCBwZXJmb3JtcwotICAgIC8vIGluaXRpYWxpemF0aW9ucyBuZWVkZWQgYnkgV2Vi
S2l0IHN1cHBvcnQuCiAgICAgd2Via2l0X3N1cHBvcnQ6OlNldFVwVGVzdEVudmlyb25tZW50Rm9y
VW5pdFRlc3RzKCk7Ci0KLSNpZiBkZWZpbmVkKFdFQktJVF9ETExfVU5JVFRFU1QpCi0gICAgLy8g
Rm9yIGNocm9taXVtIG11bHRpLWRsbCBidWlsZCwgbmVlZCB0byBjYWxsIHdlYmtpdCBhcGkgdG8g
Y3JlYXRlIGEKLSAgICAvLyBUZXN0U3VpdGUgaW5zdGFuY2UgaW4gd2Via2l0LmRsbCBhbmQgcnVu
IGFsbCB0ZXN0cyBmcm9tIHRoZXJlLgotICAgIGludCByZXN1bHQgPSBXZWJLaXQ6OlJ1bkFsbFVu
aXRUZXN0cyhhcmdjLCBhcmd2KTsKLSNlbHNlCiAgICAgaW50IHJlc3VsdCA9IHRlc3RTdWl0ZS5S
dW4oKTsKKyAgICB3ZWJraXRfc3VwcG9ydDo6VGVhckRvd25UZXN0RW52aXJvbm1lbnQoKTsKICNl
bmRpZgogCi0gICAgd2Via2l0X3N1cHBvcnQ6OlRlYXJEb3duVGVzdEVudmlyb25tZW50KCk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvV2ViVW5pdFRlc3RzLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2Vi
VW5pdFRlc3RzLmNwcAppbmRleCA1ZTIwN2YzYWQ3NDUxYTdjOGMzMGFhMTMyZjRkMDdmZTZjMjBm
NjUzLi45MmQ5OTBiYjY1NTI1ODNiNTg5YmNhNGY0MjkxYTMyNzdhNDRjNDFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVbml0VGVzdHMuY3BwCkBAIC0zMiwxMyArMzIs
MzEgQEAKICNpbmNsdWRlICJXZWJVbml0VGVzdHMuaCIKIAogI2luY2x1ZGUgPGJhc2UvdGVzdC90
ZXN0X3N1aXRlLmg+CisjaW5jbHVkZSA8Z21vY2svZ21vY2suaD4KKworc3RhdGljIFRlc3RTdWl0
ZSogdGVzdFN1aXRlID0gMDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWludCBSdW5BbGxVbml0
VGVzdHMoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQordm9pZCBJbml0VGVzdFN1aXRlKGludCBhcmdj
LCBjaGFyKiogYXJndikKK3sKKyAgICA6OnRlc3Rpbmc6OkluaXRHb29nbGVNb2NrKCZhcmdjLCBh
cmd2KTsKKyAgICB0ZXN0U3VpdGUgPSBuZXcgVGVzdFN1aXRlKGFyZ2MsIGFyZ3YpOworfQorCitp
bnQgUnVuQWxsVW5pdFRlc3RzKCkKK3sKKyAgICBBU1NFUlQodGVzdFN1aXRlKTsKKworICAgIGlu
dCByZXN1bHQgPSB0ZXN0U3VpdGUtPlJ1bigpOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
dm9pZCBEZWxldGVUZXN0U3VpdGUoKQogewotICAgIFRlc3RTdWl0ZSB0ZXN0U3VpdGUoYXJnYywg
YXJndik7Ci0gICAgcmV0dXJuIHRlc3RTdWl0ZS5SdW4oKTsKKyAgICBkZWxldGUgdGVzdFN1aXRl
OworICAgIHRlc3RTdWl0ZSA9IDA7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVbml0VGVzdHMuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmgKaW5kZXggODU2NTdkZGFmN2Jm
ODM0MTNhMTZlMjRiODI1NWExNGIxYmRhZDExMi4uMTA0NTkzOTU0MDkzN2NhZDMyMDMxN2E0ZGJj
N2Y5MjExNDc4NGNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9X
ZWJVbml0VGVzdHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRU
ZXN0cy5oCkBAIC0zNiw4ICszNiwyMSBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIEluIGNo
cm9taXVtIG11bHRpLWRsbCBidWlsZCwgd2Via2l0IHVuaXR0ZXN0IGNvZGUgYXJlIGNvbXBpbGVk
IGluIHdlYmtpdC5kbGwuCi0vLyBUaGlzIGlzIHRoZSBBUEkgdG8gcnVuIGFsbCB1bml0dGVzdHMg
aW5zaWRlIHdlYmtpdC5kbGwuCi1XRUJLSVRfRVhQT1JUIGludCBSdW5BbGxVbml0VGVzdHMoaW50
IGFyZ2MsIGNoYXIqKiBhcmd2KTsKKy8vIFRoaXMgbWVhbnMgdGhlIHRlc3Qgc3VpdGUgb2JqZWN0
IG5lZWRzIHRvIGJlIGluaXRpYWxpemVkIGluc2lkZSBXZWJLaXQuCisvLworLy8gSG93ZXZlciwg
dGhlIHdlYmtpdCB1bml0dGVzdCBjb2RlIG5lZWRzIHRvIGFsc28gaW5pdGlhbGl6ZS90ZWFyZG93
bi4KKy8vIFRoaXMgbGVhZHMgdG8gdGhlIEFQSSBoZXJlLCB3aGljaCBoYXMgZXhwbGljaXQgbWFu
YWdtZW50IG9mIHRoZSBUZXN0U3VpdGUKKy8vIGxpZmV0aW1lLgorCisvLyBJbml0aWFsaXplIHRo
ZSBnbG9iYWwgdGVzdFN1aXRlIG9iamVjdCBpbnNpZGUgd2Via2l0LmRsbAorV0VCS0lUX0VYUE9S
VF9QUklWQVRFIHZvaWQgSW5pdFRlc3RTdWl0ZShpbnQgYXJnYywgY2hhcioqIGFyZ3YpOworCisv
LyBSdW5zIGFsbCB0ZXN0cyBmb3VuZCBpbnNpZGUgd2Via2l0LmRsbAorV0VCS0lUX0VYUE9SVF9Q
UklWQVRFIGludCBSdW5BbGxVbml0VGVzdHMoKTsKKworLy8gRGVsZXRlcyB0aGUgZ2xvYmFsIHRl
c3RTdWl0ZSBvYmplY3QgaW5zaWRlIHdlYmtpdC5kbGwKK1dFQktJVF9FWFBPUlRfUFJJVkFURSB2
b2lkIERlbGV0ZVRlc3RTdWl0ZSgpOworCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112220</attachid>
            <date>2011-10-24 11:49:13 -0700</date>
            <delta_ts>2011-10-24 11:51:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70688-20111024114912.patch</filename>
            <type>text/plain</type>
            <size>4521</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgxMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
Y2ViM2M3YjdjOGY1ZWM5MjdkMzhkOWM0MDBmN2Q4NjJmNjhlMTk2Mi4uOTM2YjllZjU5NWIwNGM1
NzY2ZWUxNTE5NTg1ZTYzYzQ1Y2I0NjUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxMS0xMC0yNCAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW2Nocm9taXVtXSBNYW5hZ2Ugd2Via2l0X3VuaXRfdGVzdHMgVGVzdFN1aXRl
IGxpZmV0aW1lIGV4cGxpY2l0bHkgaW4gRExMIGJ1aWxkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvUnVuQWxsVGVzdHMuY3BwOgorICAgICAg
ICAobWFpbik6CisgICAgICAgICogdGVzdHMvV2ViVW5pdFRlc3RzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6SW5pdFRlc3RTdWl0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJ1bkFsbFVuaXRUZXN0cyk6
CisgICAgICAgIChXZWJLaXQ6OkRlbGV0ZVRlc3RTdWl0ZSk6CisgICAgICAgICogdGVzdHMvV2Vi
VW5pdFRlc3RzLmg6CisKIDIwMTEtMTAtMjAgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
IAogICAgICAgICBJbXBsZW1lbnQgbWVjaGFuaXNtIHRvIGVuYWJsZSBwcml2aWxlZ2VkIHdlYmds
IGV4dGVuc2lvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVu
QWxsVGVzdHMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9SdW5BbGxUZXN0cy5j
cHAKaW5kZXggZDI2NTA4NTViNGNjODExZGIxMGQzODNkMGU5ZmIyNjBiOWNkNjkxMi4uMTg3OTM2
ODJkYjNlZWU2NTdlODRmMTcyZWM3MzY4OWY1ODhjY2I1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9SdW5BbGxUZXN0cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9SdW5BbGxUZXN0cy5jcHAKQEAgLTQxLDIyICs0MSwyNSBAQAogCiAjaW5j
bHVkZSA8Z21vY2svZ21vY2suaD4KIAorLy8gVGVzdFN1aXRlIG11c3QgYmUgY3JlYXRlZCBiZWZv
cmUgU2V0VXBUZXN0RW52aXJvbm1lbnQgc28gaXQgcGVyZm9ybXMKKy8vIGluaXRpYWxpemF0aW9u
cyBuZWVkZWQgYnkgV2ViS2l0IHN1cHBvcnQuIFRoaXMgaXMgc2xpZ2h0bHkgY29tcGxpY2F0ZWQg
YnkgdGhlCisvLyBmYWN0IHRoYXQgY2hyb21pdW0gbXVsdGktZGxsIGJ1aWxkIHJlcXVpcmVzIHRo
YXQgdGhlIFRlc3RTdWl0ZSBvYmplY3QgYmUgY3JlYXRlZAorLy8gYW5kIHJ1biBpbnNpZGUgd2Vi
a2l0LmRsbC4KIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIHsKKyNpZiBkZWZpbmVk
KFdFQktJVF9ETExfVU5JVFRFU1QpCisgICAgV2ViS2l0OjpJbml0VGVzdFN1aXRlKGFyZ2MsIGFy
Z3YpOworICAgIHdlYmtpdF9zdXBwb3J0OjpTZXRVcFRlc3RFbnZpcm9ubWVudEZvclVuaXRUZXN0
cygpOworICAgIGludCByZXN1bHQgPSBXZWJLaXQ6OlJ1bkFsbFVuaXRUZXN0cygpOworICAgIHdl
YmtpdF9zdXBwb3J0OjpUZWFyRG93blRlc3RFbnZpcm9ubWVudCgpOworICAgIFdlYktpdDo6RGVs
ZXRlVGVzdFN1aXRlKCk7CisjZWxzZQogICAgIDo6dGVzdGluZzo6SW5pdEdvb2dsZU1vY2soJmFy
Z2MsIGFyZ3YpOwogICAgIFRlc3RTdWl0ZSB0ZXN0U3VpdGUoYXJnYywgYXJndik7Ci0gICAgLy8g
VGVzdFN1aXRlIG11c3QgYmUgY3JlYXRlZCBiZWZvcmUgU2V0VXBUZXN0RW52aXJvbm1lbnQgc28g
aXQgcGVyZm9ybXMKLSAgICAvLyBpbml0aWFsaXphdGlvbnMgbmVlZGVkIGJ5IFdlYktpdCBzdXBw
b3J0LgogICAgIHdlYmtpdF9zdXBwb3J0OjpTZXRVcFRlc3RFbnZpcm9ubWVudEZvclVuaXRUZXN0
cygpOwotCi0jaWYgZGVmaW5lZChXRUJLSVRfRExMX1VOSVRURVNUKQotICAgIC8vIEZvciBjaHJv
bWl1bSBtdWx0aS1kbGwgYnVpbGQsIG5lZWQgdG8gY2FsbCB3ZWJraXQgYXBpIHRvIGNyZWF0ZSBh
Ci0gICAgLy8gVGVzdFN1aXRlIGluc3RhbmNlIGluIHdlYmtpdC5kbGwgYW5kIHJ1biBhbGwgdGVz
dHMgZnJvbSB0aGVyZS4KLSAgICBpbnQgcmVzdWx0ID0gV2ViS2l0OjpSdW5BbGxVbml0VGVzdHMo
YXJnYywgYXJndik7Ci0jZWxzZQogICAgIGludCByZXN1bHQgPSB0ZXN0U3VpdGUuUnVuKCk7Cisg
ICAgd2Via2l0X3N1cHBvcnQ6OlRlYXJEb3duVGVzdEVudmlyb25tZW50KCk7CiAjZW5kaWYKIAot
ICAgIHdlYmtpdF9zdXBwb3J0OjpUZWFyRG93blRlc3RFbnZpcm9ubWVudCgpOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dl
YlVuaXRUZXN0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRUZXN0
cy5jcHAKaW5kZXggNWUyMDdmM2FkNzQ1MWE3YzhjMzBhYTEzMmY0ZDA3ZmU2YzIwZjY1My4uOTJk
OTkwYmI2NTUyNTgzYjU4OWJjYTRmNDI5MWEzMjc3YTQ0YzQxZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVbml0VGVzdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmNwcApAQCAtMzIsMTMgKzMyLDMxIEBACiAj
aW5jbHVkZSAiV2ViVW5pdFRlc3RzLmgiCiAKICNpbmNsdWRlIDxiYXNlL3Rlc3QvdGVzdF9zdWl0
ZS5oPgorI2luY2x1ZGUgPGdtb2NrL2dtb2NrLmg+CisKK3N0YXRpYyBUZXN0U3VpdGUqIHRlc3RT
dWl0ZSA9IDA7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1pbnQgUnVuQWxsVW5pdFRlc3RzKGlu
dCBhcmdjLCBjaGFyKiogYXJndikKK3ZvaWQgSW5pdFRlc3RTdWl0ZShpbnQgYXJnYywgY2hhcioq
IGFyZ3YpCit7CisgICAgOjp0ZXN0aW5nOjpJbml0R29vZ2xlTW9jaygmYXJnYywgYXJndik7Cisg
ICAgdGVzdFN1aXRlID0gbmV3IFRlc3RTdWl0ZShhcmdjLCBhcmd2KTsKK30KKworaW50IFJ1bkFs
bFVuaXRUZXN0cygpCit7CisgICAgQVNTRVJUKHRlc3RTdWl0ZSk7CisKKyAgICBpbnQgcmVzdWx0
ID0gdGVzdFN1aXRlLT5SdW4oKTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgRGVs
ZXRlVGVzdFN1aXRlKCkKIHsKLSAgICBUZXN0U3VpdGUgdGVzdFN1aXRlKGFyZ2MsIGFyZ3YpOwot
ICAgIHJldHVybiB0ZXN0U3VpdGUuUnVuKCk7CisgICAgZGVsZXRlIHRlc3RTdWl0ZTsKKyAgICB0
ZXN0U3VpdGUgPSAwOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRUZXN0cy5oCmluZGV4IDg1NjU3ZGRhZjdiZjgzNDEzYTE2
ZTI0YjgyNTVhMTRiMWJkYWQxMTIuLjYwOGJiMjQyZDYyYjI5YTJjZTNiNTkyMWU1YjBjMDQ2MWUy
ZWQzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRl
c3RzLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVbml0VGVzdHMuaApA
QCAtMzYsOCArMzYsMjAgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBJbiBjaHJvbWl1bSBt
dWx0aS1kbGwgYnVpbGQsIHdlYmtpdCB1bml0dGVzdCBjb2RlIGFyZSBjb21waWxlZCBpbiB3ZWJr
aXQuZGxsLgotLy8gVGhpcyBpcyB0aGUgQVBJIHRvIHJ1biBhbGwgdW5pdHRlc3RzIGluc2lkZSB3
ZWJraXQuZGxsLgotV0VCS0lUX0VYUE9SVCBpbnQgUnVuQWxsVW5pdFRlc3RzKGludCBhcmdjLCBj
aGFyKiogYXJndik7CisvLyBUaGlzIG1lYW5zIHRoZSB0ZXN0IHN1aXRlIG9iamVjdCBuZWVkcyB0
byBiZSBpbml0aWFsaXplZCBpbnNpZGUgV2ViS2l0LgorLy8KKy8vIEhvd2V2ZXIsIHRoZSB3ZWJr
aXQgdW5pdHRlc3QgY29kZSBuZWVkcyB0byBhbHNvIGluaXRpYWxpemUvdGVhcmRvd24uCisvLyBU
aGlzIGxlYWRzIHRvIHRoZSBBUEkgaGVyZSwgd2hpY2ggaGFzIGV4cGxpY2l0IG1hbmFnbWVudCBv
ZiB0aGUgVGVzdFN1aXRlCisvLyBsaWZldGltZS4KKworLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFs
IHRlc3RTdWl0ZSBvYmplY3QgaW5zaWRlIHdlYmtpdC5kbGwKK1dFQktJVF9FWFBPUlQgdm9pZCBJ
bml0VGVzdFN1aXRlKGludCBhcmdjLCBjaGFyKiogYXJndik7CisKKy8vIFJ1bnMgYWxsIHRlc3Rz
IGZvdW5kIGluc2lkZSB3ZWJraXQuZGxsCitXRUJLSVRfRVhQT1JUIGludCBSdW5BbGxVbml0VGVz
dHMoKTsKKworLy8gRGVsZXRlcyB0aGUgZ2xvYmFsIHRlc3RTdWl0ZSBvYmplY3QgaW5zaWRlIHdl
YmtpdC5kbGwKK1dFQktJVF9FWFBPUlQgdm9pZCBEZWxldGVUZXN0U3VpdGUoKTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAK
</data>
<flag name="review"
          id="110254"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>