<?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>133102</bug_id>
          
          <creation_ts>2014-05-19 18:22:06 -0700</creation_ts>
          <short_desc>Add option to run-jsc-stress-tests to use installed jsc</short_desc>
          <delta_ts>2014-05-22 14:13:06 -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>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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1010383</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-05-19 18:22:06 -0700</bug_when>
    <thetext>Typically run-jsc-stress-tests is used to test jsc and a JavaScriptCore built the user.  We should have an option to use a system installed jsc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010384</commentid>
    <comment_count>1</comment_count>
      <attachid>231745</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-05-19 18:25:51 -0700</bug_when>
    <thetext>Created attachment 231745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010392</commentid>
    <comment_count>2</comment_count>
      <attachid>231745</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-05-19 19:01:09 -0700</bug_when>
    <thetext>Comment on attachment 231745
Patch

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

&gt; Tools/Scripts/run-jsc-stress-tests:111
&gt; +    puts &quot;--jsc                (-j)   Path to JavaScriptCore.&quot;
&gt; +    puts &quot;--system-jsc                Use jsc installed on the system.&quot;

Why is this better than &quot;--jsc /usr/local/bin/jsc&quot;? It seems like you&apos;ve conflated two things behind this option: (1) a built-in --jsc; (2) a --no-copy option for --remote.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010405</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-05-19 21:04:41 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 231745 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=231745&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/run-jsc-stress-tests:111
&gt; &gt; +    puts &quot;--jsc                (-j)   Path to JavaScriptCore.&quot;
&gt; &gt; +    puts &quot;--system-jsc                Use jsc installed on the system.&quot;
&gt; 
&gt; Why is this better than &quot;--jsc /usr/local/bin/jsc&quot;? It seems like you&apos;ve conflated two things behind this option: (1) a built-in --jsc; (2) a --no-copy option for --remote.

There are three reasons for the two different options, 1) I don&apos;t want figure out that the path provided is for the system jsc in order to not package up and send it (and it&apos;s framework).  2) the path for jsc might be different or not existent on the local device compared to the remote device when --remote is used.  3) I could see where we might want to specify both &quot;use the system jsc (--system-jsc)&quot;  and &quot;here is it&apos;s path (--jsc)&quot;, since the script may not know where the system jsc happens to be.

I think it is reasonable to change --system-jsc to --no-copy-jsc and require that that --jsc always needs to be given.  What I posted eliminates the need for two options and assumes /usr/local/bin/jsc.  That suites the needs we currently have.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010843</commentid>
    <comment_count>4</comment_count>
      <attachid>231745</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-05-21 15:51:49 -0700</bug_when>
    <thetext>Comment on attachment 231745
Patch

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

&gt; Tools/Scripts/run-jsc-stress-tests:128
&gt; +               [&apos;--system-jsc&apos;, GetoptLong::NO_ARGUMENT],

Let&apos;s call this --no-copy, and have it modify the meaning of --jsc to be the final location where the framework already exists.

&gt; Tools/Scripts/run-jsc-stress-tests:145
&gt; +    when &apos;--system-jsc&apos;
&gt; +        $jscPath = &quot;/usr/local/bin/jsc&quot;

Let&apos;s use the jsc inside the framework, even in the system case. That removes a special case.

&gt; Tools/Scripts/run-jsc-stress-tests:433
&gt; +        if !$systemJsc
&gt; +            script += &quot;export DYLD_FRAMEWORK_PATH=$(cd ../#{$frameworkPath.dirname}; pwd)\n&quot;

I think we can remove this special case by using the jsc inside the framework.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010852</commentid>
    <comment_count>5</comment_count>
      <attachid>231745</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-05-21 16:48:08 -0700</bug_when>
    <thetext>Comment on attachment 231745
Patch

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

&gt;&gt; Tools/Scripts/run-jsc-stress-tests:433
&gt;&gt; +            script += &quot;export DYLD_FRAMEWORK_PATH=$(cd ../#{$frameworkPath.dirname}; pwd)\n&quot;
&gt; 
&gt; I think we can remove this special case by using the jsc inside the framework.

We&apos;ll still need some special case, since the existing code is assuming a relative path and with the &quot;--no-copy&quot; option we&apos;ll now have an absolute path.  That special case could be moved to the generation of frameworkPath and then eliminate the &quot;../&quot; everywhere it is used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011040</commentid>
    <comment_count>6</comment_count>
      <attachid>231905</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-05-22 13:20:20 -0700</bug_when>
    <thetext>Created attachment 231905
Updated patch with agreed upon changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011046</commentid>
    <comment_count>7</comment_count>
      <attachid>231905</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-05-22 13:41:14 -0700</bug_when>
    <thetext>Comment on attachment 231905
Updated patch with agreed upon changes

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

r=me

&gt; Tools/Scripts/run-jsc-stress-tests:110
&gt;      puts &quot;--jsc                (-j)   Path to JavaScriptCore. This option is required.&quot;

Let&apos;s be clearer here: &quot;Path to JavaScriptCore build product.&quot;

&gt; Tools/Scripts/run-jsc-stress-tests:111
&gt; +    puts &quot;--no-copy                   Use the existing JavaScriptCore specified by the --jsc option.&quot;

Let&apos;s be clearer here: &quot;Do not copy the JavaScriptCore build product before testing. --jsc specifies an already present JavaScriptCore to test.&quot;

&gt; Tools/Scripts/run-jsc-stress-tests:125
&gt; +jscPathArg = &quot;&quot;

I&apos;d call this &quot;jscArg&quot;, since the argument is named &quot;jsc&quot; and not &quot;jscPath&quot;.

&gt; Tools/Scripts/run-jsc-stress-tests:178
&gt; +        $jscPath = Pathname.new(jscPathArg).realpath
&gt; +    else
&gt; +        $jscPath = Pathname.new(jscPathArg)

Why do these disagree about realpath?

&gt; Tools/Scripts/run-jsc-stress-tests:1040
&gt; +        if !$remote
&gt; +            $testingFrameworkPath = frameworkFromJSCPath($jscPath).realpath
&gt; +            $jscPath = Pathname.new($jscPath).realpath
&gt; +        else
&gt; +            $testingFrameworkPath = frameworkFromJSCPath($jscPath)

Why do these disagree about realpath?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011057</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-05-22 14:07:41 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 231905 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=231905&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Tools/Scripts/run-jsc-stress-tests:110
&gt; &gt;      puts &quot;--jsc                (-j)   Path to JavaScriptCore. This option is required.&quot;
&gt; 
&gt; Let&apos;s be clearer here: &quot;Path to JavaScriptCore build product.&quot;

Done.

&gt; &gt; Tools/Scripts/run-jsc-stress-tests:111
&gt; &gt; +    puts &quot;--no-copy                   Use the existing JavaScriptCore specified by the --jsc option.&quot;
&gt; 
&gt; Let&apos;s be clearer here: &quot;Do not copy the JavaScriptCore build product before testing. --jsc specifies an already present JavaScriptCore to test.&quot;

Done.
 
&gt; &gt; Tools/Scripts/run-jsc-stress-tests:125
&gt; &gt; +jscPathArg = &quot;&quot;
&gt; 
&gt; I&apos;d call this &quot;jscArg&quot;, since the argument is named &quot;jsc&quot; and not &quot;jscPath&quot;.

Done.
 
&gt; &gt; Tools/Scripts/run-jsc-stress-tests:178
&gt; &gt; +        $jscPath = Pathname.new(jscPathArg).realpath
&gt; &gt; +    else
&gt; &gt; +        $jscPath = Pathname.new(jscPathArg)
&gt; 
&gt; Why do these disagree about realpath?

realpath will canonicalize the path by turning relative paths into absolute paths and resolving symbolic links.  For example, providing &quot;WebKitBuild/Release/JavaScriptCore/jsc&quot;  might become &quot;/home/me/src/webkit/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc&quot;

This kind of full path breaks frameworkFromJSCPath() in the script and also generally doesn&apos;t work when the .realpath processing is done on the local machine and the --remote option was provided.

&gt; &gt; Tools/Scripts/run-jsc-stress-tests:1040
&gt; &gt; +        if !$remote
&gt; &gt; +            $testingFrameworkPath = frameworkFromJSCPath($jscPath).realpath
&gt; &gt; +            $jscPath = Pathname.new($jscPath).realpath
&gt; &gt; +        else
&gt; &gt; +            $testingFrameworkPath = frameworkFromJSCPath($jscPath)
&gt; 
&gt; Why do these disagree about realpath?

See above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011058</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-05-22 14:13:06 -0700</bug_when>
    <thetext>Committed r169217: &lt;http://trac.webkit.org/changeset/169217&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231745</attachid>
            <date>2014-05-19 18:25:51 -0700</date>
            <delta_ts>2014-05-22 13:20:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>133102.patch</filename>
            <type>text/plain</type>
            <size>3901</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2OTA5MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE0LTA1LTE5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBvcHRpb24gdG8gcnVuLWpzYy1zdHJlc3MtdGVzdHMgdG8gdXNlIGlu
c3RhbGxlZCBqc2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMzEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGVkIC0tc3lzdGVtLWpzYyBvcHRpb24gdG8gdXNlIGFuIGluc3RhbGxlZCBqc2MgYW5k
IEphdmFTY3JpcHRDb3JlIGZyYW1ld29yay4KKworICAgICAgICAqIFNjcmlwdHMvcnVuLWpzYy1z
dHJlc3MtdGVzdHM6CisKIDIwMTQtMDUtMTkgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBSRUdSRVNTSU9OIChyMTY4OTEwKTogd2Via2l0ZGlycy5w
bTogQmUgbW9yZSBmb3JnaXZpbmcgd2hlbiBwYXJzaW5nIC0tc2RrLCAtLWRldmljZSBhbmQgLS1z
aW0KSW5kZXg6IFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwkocmV2aXNpb24gMTY4ODQ0KQor
KysgVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwkod29ya2luZyBjb3B5KQpAQCAt
OTEsNiArOTEsNyBAQCBpZiBFTlZbIldFQktJVF9URVNUX0NISUxEX1BST0NFU1NFUyJdCiBlbmQK
IAogJGpzY1BhdGggPSBuaWwKKyRzeXN0ZW1Kc2MgPSBmYWxzZQogJGVuYWJsZUZUTCA9IGZhbHNl
CiAkb3V0cHV0RGlyID0gUGF0aG5hbWUubmV3KCJyZXN1bHRzIikKICR2ZXJib3NpdHkgPSAwCkBA
IC0xMDYsNyArMTA3LDkgQEAgJHJlbW90ZURpcmVjdG9yeSA9IG5pbAogZGVmIHVzYWdlCiAgICAg
cHV0cyAicnVuLWpzYy1zdHJlc3MtdGVzdHMgLWogPHNoZWxsIHBhdGg+IDxjb2xsZWN0aW9ucyBw
YXRoPiBbPGNvbGxlY3Rpb25zIHBhdGg+IC4uLl0iCiAgICAgcHV0cwotICAgIHB1dHMgIi0tanNj
ICAgICAgICAgICAgICAgICgtaikgICBQYXRoIHRvIEphdmFTY3JpcHRDb3JlLiBUaGlzIG9wdGlv
biBpcyByZXF1aXJlZC4iCisgICAgcHV0cyAiLS1qc2MgICAgICAgICAgICAgICAgKC1qKSAgIFBh
dGggdG8gSmF2YVNjcmlwdENvcmUuIgorICAgIHB1dHMgIi0tc3lzdGVtLWpzYyAgICAgICAgICAg
ICAgICBVc2UganNjIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtLiIKKyAgICBwdXRzICIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgT25lIG9mIC0tanNjIG9yIC0tc3lzdGVtLWpzYyBvcHRpb24g
aXMgcmVxdWlyZWQuIgogICAgIHB1dHMgIi0tZnRsLWppdCAgICAgICAgICAgICAgICAgICBJbmRp
Y2F0ZSB0aGF0IHdlIGhhdmUgdGhlIEZUTCBKSVQuIgogICAgIHB1dHMgIi0tb3V0cHV0LWRpciAg
ICAgICAgICgtbykgICBQYXRoIHdoZXJlIHRvIHB1dCByZXN1bHRzLiBEZWZhdWx0IGlzICN7JG91
dHB1dERpcn0uIgogICAgIHB1dHMgIi0tdmVyYm9zZSAgICAgICAgICAgICgtdikgICBQcmludCBt
b3JlIHRoaW5ncyB3aGlsZSBydW5uaW5nLiIKQEAgLTEyMiw2ICsxMjUsNyBAQCBlbmQKIAogR2V0
b3B0TG9uZy5uZXcoWyctLWhlbHAnLCAnLWgnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCiAg
ICAgICAgICAgICAgICBbJy0tanNjJywgJy1qJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1F
TlRdLAorICAgICAgICAgICAgICAgWyctLXN5c3RlbS1qc2MnLCBHZXRvcHRMb25nOjpOT19BUkdV
TUVOVF0sCiAgICAgICAgICAgICAgICBbJy0tZnRsLWppdCcsIEdldG9wdExvbmc6Ok5PX0FSR1VN
RU5UXSwKICAgICAgICAgICAgICAgIFsnLS1vdXRwdXQtZGlyJywgJy1vJywgR2V0b3B0TG9uZzo6
UkVRVUlSRURfQVJHVU1FTlRdLAogICAgICAgICAgICAgICAgWyctLXJ1bi1idW5kbGUnLCBHZXRv
cHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCkBAIC0xMzcsNiArMTQxLDkgQEAgR2V0b3B0TG9u
Zy5uZXcoWyctLWhlbHAnLCAnLWgnLCBHZXRvcHRMbwogICAgICAgICB1c2FnZQogICAgIHdoZW4g
Jy0tanNjJwogICAgICAgICAkanNjUGF0aCA9IFBhdGhuYW1lLm5ldyhhcmcpLnJlYWxwYXRoCisg
ICAgd2hlbiAnLS1zeXN0ZW0tanNjJworICAgICAgICAkanNjUGF0aCA9ICIvdXNyL2xvY2FsL2Jp
bi9qc2MiCisgICAgICAgICRzeXN0ZW1Kc2MgPSB0cnVlCiAgICAgd2hlbiAnLS1vdXRwdXQtZGly
JwogICAgICAgICAkb3V0cHV0RGlyID0gUGF0aG5hbWUubmV3KGFyZykKICAgICB3aGVuICctLWZ0
bC1qaXQnCkBAIC0xNzIsNyArMTc5LDcgQEAgaWYgJGJ1bmRsZQogZW5kCiAKIHVubGVzcyAkanNj
UGF0aAotICAgICRzdGRlcnIucHV0cyAiRXJyb3I6IG11c3Qgc3BlY2lmeSAtaiA8cGF0aD4uIgor
ICAgICRzdGRlcnIucHV0cyAiRXJyb3I6IG11c3Qgc3BlY2lmeSAtanNjIDxwYXRoPiBvciAtLXN5
c3RlbS1qc2MuIgogICAgIGV4aXQgMQogZW5kCiAKQEAgLTQyMiw3ICs0MjksOSBAQCBjbGFzcyBQ
bGFuCiAgICAgICAgIH0KICAgICAgICAgc2NyaXB0ICs9ICJjZCAucnVubmVyXG4iCiAKLSAgICAg
ICAgc2NyaXB0ICs9ICJleHBvcnQgRFlMRF9GUkFNRVdPUktfUEFUSD0kKGNkIC4uLyN7JGZyYW1l
d29ya1BhdGguZGlybmFtZX07IHB3ZClcbiIKKyAgICAgICAgaWYgISRzeXN0ZW1Kc2MKKyAgICAg
ICAgICAgIHNjcmlwdCArPSAiZXhwb3J0IERZTERfRlJBTUVXT1JLX1BBVEg9JChjZCAuLi8jeyRm
cmFtZXdvcmtQYXRoLmRpcm5hbWV9OyBwd2QpXG4iCisgICAgICAgIGVuZAogICAgICAgICBJTVBP
UlRBTlRfRU5WUy5lYWNoIHsKICAgICAgICAgICAgIHwga2V5IHwKICAgICAgICAgICAgIGlmIEVO
VltrZXldCkBAIC05NzIsNyArOTgxLDkgQEAgZW5kCiBkZWYgcHJlcGFyZUJ1bmRsZQogICAgIHJh
aXNlIGlmICRidW5kbGUKIAotICAgIGNvcHlWTVRvQnVuZGxlCisgICAgaWYgISRzeXN0ZW1Kc2MK
KyAgICAgICAgY29weVZNVG9CdW5kbGUKKyAgICBlbmQKIAogICAgIEFSR1YuZWFjaCB7CiAgICAg
ICAgIHwgY29sbGVjdGlvbiB8CkBAIC0xMTY5LDcgKzExODAsMTAgQEAgZGVmIHJ1blNoZWxsVGVz
dFJ1bm5lcgogICAgICAgICByZW1vdGVTY3JpcHQgKz0gInJtIC1yZiAjeyRvdXRwdXREaXIuYmFz
ZW5hbWV9ICYmICIKICAgICAgICAgcmVtb3RlU2NyaXB0ICs9ICJ0YXIgeHpmIHBheWxvYWQudGFy
Lmd6ICYmICIKICAgICAgICAgcmVtb3RlU2NyaXB0ICs9ICJjZCAjeyRvdXRwdXREaXIuYmFzZW5h
bWV9Ly5ydW5uZXIgJiYgIgotICAgICAgICByZW1vdGVTY3JpcHQgKz0gIkRZTERfRlJBTUVXT1JL
X1BBVEg9JChjZCAuLi8jeyRmcmFtZXdvcmtQYXRoLmRpcm5hbWV9OyBwd2QpIHNoIHJ1bnNjcmlw
dCIgCisgICAgICAgIGlmICEkc3lzdGVtSnNjCisgICAgICAgICAgICByZW1vdGVTY3JpcHQgKz0g
IkRZTERfRlJBTUVXT1JLX1BBVEg9JChjZCAuLi8jeyRmcmFtZXdvcmtQYXRoLmRpcm5hbWV9OyBw
d2QpICIKKyAgICAgICAgZW5kCisgICAgICAgIHJlbW90ZVNjcmlwdCArPSAic2ggcnVuc2NyaXB0
IgogICAgICAgICBzeXN0ZW0oInNzaCIsICItcCIsICRyZW1vdGVQb3J0LnRvX3MsICIjeyRyZW1v
dGVVc2VyfUAjeyRyZW1vdGVIb3N0fSIsIHJlbW90ZVNjcmlwdCkKICAgICBlbHNlCiAgICAgICAg
IERpci5jaGRpcigkcnVubmVyRGlyKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231905</attachid>
            <date>2014-05-22 13:20:20 -0700</date>
            <delta_ts>2014-05-22 13:41:14 -0700</delta_ts>
            <desc>Updated patch with agreed upon changes</desc>
            <filename>133102-2.patch</filename>
            <type>text/plain</type>
            <size>4759</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2OTIwNikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDE0LTA1LTIyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBvcHRpb24gdG8gcnVuLWpzYy1zdHJlc3MtdGVzdHMgdG8gdXNlIGlu
c3RhbGxlZCBqc2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMzEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGVkIC0tbm8tY29weSBvcHRpb24gdG8gbm90IGNvcHkgYSBKYXZhU2NyaXB0Q29yZSBm
cmFtZXdvcmssIGJ1dCB1c2UgdGhlIG9uZQorICAgICAgICBwcm92aWVkIHdpdGggdGhlIC0tanNj
IG9wdGlvbi4KKworICAgICAgICAqIFNjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHM6CisKIDIw
MTQtMDUtMjEgIFpzb2x0IEJvcmJlbHkgIDx6c2JvcmJlbHkudS1zemVnZWRAcGFydG5lci5zYW1z
dW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBBZGQgaW5jbHVkZSBwYXRoIG9mIGNvbXBhY3RfdW53
aW5kX2VuY29kaW5nLmggaWYgRlRMIEpJVCBpcyBlbmFibGVkCkluZGV4OiBUb29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLWpz
Yy1zdHJlc3MtdGVzdHMJKHJldmlzaW9uIDE2OTIwNikKKysrIFRvb2xzL1NjcmlwdHMvcnVuLWpz
Yy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcgY29weSkKQEAgLTkxLDYgKzkxLDcgQEAgaWYgRU5WWyJX
RUJLSVRfVEVTVF9DSElMRF9QUk9DRVNTRVMiXQogZW5kCiAKICRqc2NQYXRoID0gbmlsCiskY29w
eSA9IHRydWUKICRlbmFibGVGVEwgPSBmYWxzZQogJG91dHB1dERpciA9IFBhdGhuYW1lLm5ldygi
cmVzdWx0cyIpCiAkdmVyYm9zaXR5ID0gMApAQCAtMTA3LDYgKzEwOCw3IEBAIGRlZiB1c2FnZQog
ICAgIHB1dHMgInJ1bi1qc2Mtc3RyZXNzLXRlc3RzIC1qIDxzaGVsbCBwYXRoPiA8Y29sbGVjdGlv
bnMgcGF0aD4gWzxjb2xsZWN0aW9ucyBwYXRoPiAuLi5dIgogICAgIHB1dHMKICAgICBwdXRzICIt
LWpzYyAgICAgICAgICAgICAgICAoLWopICAgUGF0aCB0byBKYXZhU2NyaXB0Q29yZS4gVGhpcyBv
cHRpb24gaXMgcmVxdWlyZWQuIgorICAgIHB1dHMgIi0tbm8tY29weSAgICAgICAgICAgICAgICAg
ICBVc2UgdGhlIGV4aXN0aW5nIEphdmFTY3JpcHRDb3JlIHNwZWNpZmllZCBieSB0aGUgLS1qc2Mg
b3B0aW9uLiIKICAgICBwdXRzICItLWZ0bC1qaXQgICAgICAgICAgICAgICAgICAgSW5kaWNhdGUg
dGhhdCB3ZSBoYXZlIHRoZSBGVEwgSklULiIKICAgICBwdXRzICItLW91dHB1dC1kaXIgICAgICAg
ICAoLW8pICAgUGF0aCB3aGVyZSB0byBwdXQgcmVzdWx0cy4gRGVmYXVsdCBpcyAjeyRvdXRwdXRE
aXJ9LiIKICAgICBwdXRzICItLXZlcmJvc2UgICAgICAgICAgICAoLXYpICAgUHJpbnQgbW9yZSB0
aGluZ3Mgd2hpbGUgcnVubmluZy4iCkBAIC0xMjAsOCArMTIyLDExIEBAIGRlZiB1c2FnZQogICAg
IGV4aXQgMQogZW5kCiAKK2pzY1BhdGhBcmcgPSAiIgorCiBHZXRvcHRMb25nLm5ldyhbJy0taGVs
cCcsICctaCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1q
c2MnLCAnLWonLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCisgICAgICAgICAgICAg
ICBbJy0tbm8tY29weScsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAg
IFsnLS1mdGwtaml0JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAgICAgICAgICAgICAg
WyctLW91dHB1dC1kaXInLCAnLW8nLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCiAg
ICAgICAgICAgICAgICBbJy0tcnVuLWJ1bmRsZScsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VN
RU5UXSwKQEAgLTEzNiw3ICsxNDEsOSBAQCBHZXRvcHRMb25nLm5ldyhbJy0taGVscCcsICctaCcs
IEdldG9wdExvCiAgICAgd2hlbiAnLS1oZWxwJwogICAgICAgICB1c2FnZQogICAgIHdoZW4gJy0t
anNjJwotICAgICAgICAkanNjUGF0aCA9IFBhdGhuYW1lLm5ldyhhcmcpLnJlYWxwYXRoCisgICAg
ICAgIGpzY1BhdGhBcmcgPSBhcmcKKyAgICB3aGVuICctLW5vLWNvcHknCisgICAgICAgICRjb3B5
ID0gZmFsc2UKICAgICB3aGVuICctLW91dHB1dC1kaXInCiAgICAgICAgICRvdXRwdXREaXIgPSBQ
YXRobmFtZS5uZXcoYXJnKQogICAgIHdoZW4gJy0tZnRsLWppdCcKQEAgLTE2NCw2ICsxNzEsMTQg
QEAgR2V0b3B0TG9uZy5uZXcoWyctLWhlbHAnLCAnLWgnLCBHZXRvcHRMbwogICAgIGVuZAogfQog
CitpZiBqc2NQYXRoQXJnCisgICAgaWYgJGNvcHkKKyAgICAgICAgJGpzY1BhdGggPSBQYXRobmFt
ZS5uZXcoanNjUGF0aEFyZykucmVhbHBhdGgKKyAgICBlbHNlCisgICAgICAgICRqc2NQYXRoID0g
UGF0aG5hbWUubmV3KGpzY1BhdGhBcmcpCisgICAgZW5kCitlbmQKKwogJHByb2dyZXNzTWV0ZXIg
PSAoJHZlcmJvc2l0eSA9PSAwIGFuZCAkc3RkaW4udHR5PykKIAogaWYgJGJ1bmRsZQpAQCAtMTcy
LDcgKzE4Nyw3IEBAIGlmICRidW5kbGUKIGVuZAogCiB1bmxlc3MgJGpzY1BhdGgKLSAgICAkc3Rk
ZXJyLnB1dHMgIkVycm9yOiBtdXN0IHNwZWNpZnkgLWogPHBhdGg+LiIKKyAgICAkc3RkZXJyLnB1
dHMgIkVycm9yOiBtdXN0IHNwZWNpZnkgLWpzYyA8cGF0aD4iCiAgICAgZXhpdCAxCiBlbmQKIApA
QCAtMjM3LDggKzI1Miw5IEBAIGVuZAogCiBkZWYgcHJlcGFyZUZyYW1ld29yayhqc2NQYXRoKQog
ICAgIGZyYW1ld29ya1BhdGggPSBmcmFtZXdvcmtGcm9tSlNDUGF0aChqc2NQYXRoKQotICAgICRm
cmFtZXdvcmtQYXRoID0gUGF0aG5hbWUubmV3KCIudm0iKSArICJKYXZhU2NyaXB0Q29yZS5mcmFt
ZXdvcmsiCi0gICAgJGpzY1BhdGggPSAkZnJhbWV3b3JrUGF0aCArICJSZXNvdXJjZXMiICsgImpz
YyIKKyAgICBkZXN0aW5hdGlvbkZyYW1ld29ya1BhdGggPSBQYXRobmFtZS5uZXcoIi52bSIpICsg
IkphdmFTY3JpcHRDb3JlLmZyYW1ld29yayIKKyAgICAkanNjUGF0aCA9IGRlc3RpbmF0aW9uRnJh
bWV3b3JrUGF0aCArICJSZXNvdXJjZXMiICsgImpzYyIKKyAgICAkdGVzdGluZ0ZyYW1ld29ya1Bh
dGggPSBQYXRobmFtZS5uZXcoIi4uIikgKyBkZXN0aW5hdGlvbkZyYW1ld29ya1BhdGgKIAogICAg
IGlmIGZyYW1ld29ya1BhdGgKICAgICAgICAgc291cmNlID0gZnJhbWV3b3JrUGF0aApAQCAtNDYw
LDcgKzQ3Niw3IEBAIGNsYXNzIFBsYW4KICAgICAgICAgfQogICAgICAgICBzY3JpcHQgKz0gImNk
IC5ydW5uZXJcbiIKIAotICAgICAgICBzY3JpcHQgKz0gImV4cG9ydCBEWUxEX0ZSQU1FV09SS19Q
QVRIPSQoY2QgLi4vI3skZnJhbWV3b3JrUGF0aC5kaXJuYW1lfTsgcHdkKVxuIgorICAgICAgICBz
Y3JpcHQgKz0gImV4cG9ydCBEWUxEX0ZSQU1FV09SS19QQVRIPSQoY2QgI3skdGVzdGluZ0ZyYW1l
d29ya1BhdGguZGlybmFtZX07IHB3ZClcbiIKICAgICAgICAgSU1QT1JUQU5UX0VOVlMuZWFjaCB7
CiAgICAgICAgICAgICB8IGtleSB8CiAgICAgICAgICAgICBpZiBFTlZba2V5XQpAQCAtMTAxNCw3
ICsxMDMwLDE2IEBAIGVuZAogZGVmIHByZXBhcmVCdW5kbGUKICAgICByYWlzZSBpZiAkYnVuZGxl
CiAKLSAgICBjb3B5Vk1Ub0J1bmRsZQorICAgIGlmICRjb3B5CisgICAgICAgIGNvcHlWTVRvQnVu
ZGxlCisgICAgZWxzZQorICAgICAgICBpZiAhJHJlbW90ZQorICAgICAgICAgICAgJHRlc3RpbmdG
cmFtZXdvcmtQYXRoID0gZnJhbWV3b3JrRnJvbUpTQ1BhdGgoJGpzY1BhdGgpLnJlYWxwYXRoCisg
ICAgICAgICAgICAkanNjUGF0aCA9IFBhdGhuYW1lLm5ldygkanNjUGF0aCkucmVhbHBhdGgKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgJHRlc3RpbmdGcmFtZXdvcmtQYXRoID0gZnJhbWV3b3Jr
RnJvbUpTQ1BhdGgoJGpzY1BhdGgpCisgICAgICAgIGVuZAorICAgIGVuZAogCiAgICAgQVJHVi5l
YWNoIHsKICAgICAgICAgfCBjb2xsZWN0aW9uIHwKQEAgLTEyMTEsNyArMTIzNiw3IEBAIGRlZiBy
dW5TaGVsbFRlc3RSdW5uZXIKICAgICAgICAgcmVtb3RlU2NyaXB0ICs9ICJybSAtcmYgI3skb3V0
cHV0RGlyLmJhc2VuYW1lfSAmJiAiCiAgICAgICAgIHJlbW90ZVNjcmlwdCArPSAidGFyIHh6ZiBw
YXlsb2FkLnRhci5neiAmJiAiCiAgICAgICAgIHJlbW90ZVNjcmlwdCArPSAiY2QgI3skb3V0cHV0
RGlyLmJhc2VuYW1lfS8ucnVubmVyICYmICIKLSAgICAgICAgcmVtb3RlU2NyaXB0ICs9ICJEWUxE
X0ZSQU1FV09SS19QQVRIPSQoY2QgLi4vI3skZnJhbWV3b3JrUGF0aC5kaXJuYW1lfTsgcHdkKSBz
aCBydW5zY3JpcHQiIAorICAgICAgICByZW1vdGVTY3JpcHQgKz0gIkRZTERfRlJBTUVXT1JLX1BB
VEg9JChjZCAjeyR0ZXN0aW5nRnJhbWV3b3JrUGF0aC5kaXJuYW1lfTsgcHdkKSBzaCBydW5zY3Jp
cHQiIAogICAgICAgICBzeXN0ZW0oInNzaCIsICItcCIsICRyZW1vdGVQb3J0LnRvX3MsICIjeyRy
ZW1vdGVVc2VyfUAjeyRyZW1vdGVIb3N0fSIsIHJlbW90ZVNjcmlwdCkKICAgICBlbHNlCiAgICAg
ICAgIERpci5jaGRpcigkcnVubmVyRGlyKSB7Cg==
</data>
<flag name="review"
          id="256370"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>