<?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>33125</bug_id>
          
          <creation_ts>2010-01-03 15:01:18 -0800</creation_ts>
          <short_desc>Use OptionParser instead of getopt in test-webkit-script</short_desc>
          <delta_ts>2010-01-05 11:24:53 -0800</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="Chris Jerdonek">cjerdonek</reporter>
          <assigned_to name="Chris Jerdonek">cjerdonek</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>176459</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-03 15:01:18 -0800</bug_when>
    <thetext>Eric suggested this and some other improvements in bug 33045, comment 16:

&quot;&quot;&quot;A few python comments:
1.  Should really use a class to encapsulate the logic.  Then your __main__
just calls the class Foo().main()
2.  OptionParser (from optparse) is probably easier to use than getopt.

I would have probably made:
os.path.join(scripts_directory, &apos;test-webkit-perl&apos;)
a function, even though you only use it twice.

def script_path(script):
  return os.path.join(scripts_directory, script)
&quot;&quot;&quot; :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177023</commentid>
    <comment_count>1</comment_count>
      <attachid>45861</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-04 21:39:53 -0800</bug_when>
    <thetext>Created attachment 45861
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177025</commentid>
    <comment_count>2</comment_count>
      <attachid>45861</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-04 21:44:43 -0800</bug_when>
    <thetext>Comment on attachment 45861
Proposed patch

 60         if args is not None:

can just be &quot;if args&quot;, no?

 85     tester = ScriptsTester(sys.path[0])

doens&apos;t seem right.

Wouldn&apos;t you want to use os.path.dirname(__file__)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177032</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-04 21:57:43 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45861 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177036</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-04 22:13:40 -0800</bug_when>
    <thetext>(In reply to comment #2)

Thanks, Eric.

&gt; (From update of attachment 45861 [details])
&gt;  60         if args is not None:
&gt; 
&gt; can just be &quot;if args&quot;, no?

From the Python style guide, for instance:

&gt; Also, beware of writing &quot;if x&quot; when you really mean &quot;if x is not None&quot;
&gt; -- e.g. when testing whether a variable or argument that defaults to
&gt; None was set to some other value.  The other value might have a type
&gt; (such as a container) that could be false in a boolean context!

( http://www.python.org/dev/peps/pep-0008/ under &quot;Programming Recommendations&quot;)

It&apos;s also done this way in the section on default argument values in the Google Python style guide:

http://google-styleguide.googlecode.com/svn/trunk/pyguide.html#Default_Argument_Values

&gt; 
&gt;  85     tester = ScriptsTester(sys.path[0])
&gt; 
&gt; doens&apos;t seem right.
&gt; 
&gt; Wouldn&apos;t you want to use os.path.dirname(__file__)?

Yeah, I think so.  It looks like what I wrote won&apos;t work if test-webkit-scripts is invoked by another script outside of the Scripts directory. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177038</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-04 22:51:43 -0800</bug_when>
    <thetext>(In reply to comment #4)

&gt; &gt; (From update of attachment 45861 [details] [details])
&gt; &gt;  60         if args is not None:
&gt; &gt; 
&gt; &gt; can just be &quot;if args&quot;, no?
&gt; 
&gt; From the Python style guide, for instance:

Never mind, yours is better.  I&apos;m not really setting a default argument.  And no need to call extend() on an empty list that was passed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177043</commentid>
    <comment_count>6</comment_count>
      <attachid>45864</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-04 23:22:43 -0800</bug_when>
    <thetext>Created attachment 45864
Proposed patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177044</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-04 23:26:43 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45864 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177056</commentid>
    <comment_count>8</comment_count>
      <attachid>45864</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-05 00:03:41 -0800</bug_when>
    <thetext>Comment on attachment 45864
Proposed patch 2

Adam convinced me to standardize on &quot; instead of &apos; (even though I personally prefer &apos;), I think this is fine as-is, but in the future you should consider using &quot;.  As far as I can tell the python style guide expresses no preference, but using one over the other makes search/replace slightly easier.

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177066</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-05 00:24:45 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 45864 [details])
&gt; Adam convinced me to standardize on &quot; instead of &apos; (even though I personally
&gt; prefer &apos;), I think this is fine as-is, but in the future you should consider
&gt; using &quot;.  As far as I can tell the python style guide expresses no preference,
&gt; but using one over the other makes search/replace slightly easier.

My first exposure to WebKit Python was check-webkit-style, which uses &apos; exclusively, so I was simply continuing with that.  Without having heard any arguments, I think I prefer &quot; because it&apos;s consistent with docstring quotes &quot;&quot;&quot; (which the style guide does say should be double quotes).  What were Adam&apos;s arguments for double, and what was the reason for your preference to use single (and why were you convinced)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177069</commentid>
    <comment_count>10</comment_count>
      <attachid>45864</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-05 00:47:41 -0800</bug_when>
    <thetext>Comment on attachment 45864
Proposed patch 2

Clearing flags on attachment: 45864

Committed r52790: &lt;http://trac.webkit.org/changeset/52790&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177070</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-05 00:47:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177258</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-05 11:24:53 -0800</bug_when>
    <thetext>I think Adam may have won the &quot;/&apos; argument by sheer force of will, or possible bribery with cake.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45861</attachid>
            <date>2010-01-04 21:39:53 -0800</date>
            <delta_ts>2010-01-04 23:22:43 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch-tools6-1.txt</filename>
            <type>text/plain</type>
            <size>5253</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUyNzg0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMDQgIENocmlzIEplcmRvbmVrICA8
Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1pbm9yIGltcHJvdmVtZW50cyB0byB0ZXN0LXdlYmtpdC1zY3Jp
cHRzLCBhcyBzdWdnZXN0ZWQKKyAgICAgICAgYnkgYW4gZWFybGllciByZXZpZXcuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMTI1CisKKyAgICAg
ICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0LXNjcmlwdHM6CisgICAgICAgICAgLSBVc2VkIE9wdGlv
blBhcnNlciBjbGFzcyBpbnN0ZWFkIG9mIGdldG9wdC5nZXRvcHQoKS4KKyAgICAgICAgICAtIENy
ZWF0ZWQgbWFpbigpIG1ldGhvZCBmb3IgX19tYWluX18gYmxvY2suCisgICAgICAgICAgLSBFbmNs
b3NlZCBmdW5jdGlvbnMgaW4gYSBjbGFzcy4KKwogMjAxMC0wMS0wNCAgSm9uIEhvbmV5Y3V0dCAg
PGpob25leWN1dHRAYXBwbGUuY29tPgogCiAgICAgICAgIE1TQUE6IDxzZWxlY3Q+IGVsZW1lbnRz
IHNob3VsZCBicm9hZGNhc3QgdmFsdWUgY2hhbmdlIGV2ZW50cwpJbmRleDogV2ViS2l0VG9vbHMv
U2NyaXB0cy90ZXN0LXdlYmtpdC1zY3JpcHRzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Nj
cmlwdHMvdGVzdC13ZWJraXQtc2NyaXB0cwkocmV2aXNpb24gNTI3ODIpCisrKyBXZWJLaXRUb29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0LXNjcmlwdHMJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiAjIS91c3IvYmluL3B5dGhvbgogIwotIyBDb3B5cmlnaHQgKEMpIDIwMDkgQ2hyaXMgSmVy
ZG9uZWsgKGNocmlzLmplcmRvbmVrQGdtYWlsLmNvbSkKKyMgQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDEwIENocmlzIEplcmRvbmVrIChjaHJpcy5qZXJkb25la0BnbWFpbC5jb20pCiAjCiAjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0yOCw1NiArMjgsNTkgQEAKICMgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAKLSIiIlRlc3RzIFdlYktpdCBQZXJsIGFuZCBQeXRob24gc2NyaXB0
cy4KKyIiIlJ1biB1bml0IHRlc3RzIG9mIFdlYktpdCdzIFBlcmwgYW5kIFB5dGhvbiBzY3JpcHRz
LiIiIgogCi1TeW50YXg6IHRlc3Qtd2Via2l0LXNjcmlwdHMgWy0tYWxsXQotCi0gICAgLS1hbGwg
ICAgUnVucyBhbGwgYXZhaWxhYmxlIHRlc3RzLCBpbmNsdWRpbmcgdGhvc2Ugc3VwcHJlc3NlZAot
ICAgICAgICAgICAgIGJ5IGRlZmF1bHQuCi0iIiIKKyMgVGhlIGRvY3N0cmluZyBhYm92ZSBpcyBw
YXNzZWQgYXMgdGhlICJkZXNjcmlwdGlvbiIgdG8gdGhlIE9wdGlvblBhcnNlcgorIyB1c2VkIGlu
IHRoaXMgc2NyaXB0J3MgX19tYWluX18gYmxvY2suCisjCisjIEZvciB0aGUgY29tbWFuZCBvcHRp
b25zIHN1cHBvcnRlZCBieSB0aGlzIHNjcmlwdCwgc2VlIHRoZSBjb2RlIGJlbG93CisjIHRoYXQg
aW5zdGFudGlhdGVzIHRoZSBPcHRpb25QYXJzZXIgY2xhc3MsIG9yIGVsc2UgcGFzcyAtLWhlbHAK
KyMgd2hpbGUgcnVubmluZyB0aGlzIHNjcmlwdCAoc2luY2UgYXJndW1lbnQgaGVscCBpcyBhdXRv
LWdlbmVyYXRlZCkuCiAKLWltcG9ydCBnZXRvcHQKIGltcG9ydCBvcwogaW1wb3J0IHN1YnByb2Nl
c3MKIGltcG9ydCBzeXMKK2Zyb20gb3B0cGFyc2UgaW1wb3J0IE9wdGlvblBhcnNlcgogCi1kZWYg
dGVzdF9zY3JpcHQodGl0bGUsIHNjcmlwdF9wYXRoLCBhcmdzPU5vbmUpOgotICAgICIiIlJ1biB0
aGUgZ2l2ZW4gdGVzdCBjb21tYW5kLiIiIgotICAgIHByaW50KCdUZXN0aW5nICVzOicgJSB0aXRs
ZSkKLQotICAgIGNhbGxfYXJncyA9IFtzY3JpcHRfcGF0aF0KLSAgICBpZiBhcmdzIGlzIG5vdCBO
b25lOgotICAgICAgICBjYWxsX2FyZ3MuZXh0ZW5kKGFyZ3MpCi0gICAgc3VicHJvY2Vzcy5jYWxs
KGNhbGxfYXJncykKLSAgICBwcmludCg3MCAqICIqIikgIyBkaXZpZGluZyBsaW5lCitjbGFzcyBT
Y3JpcHRzVGVzdGVyKG9iamVjdCk6CiAKLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAg
IiIiU3VwcG9ydHMgcnVubmluZyB1bml0IHRlc3RzIG9mIFdlYktpdCBzY3JpcHRzLiIiIgorCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHNjcmlwdHNfZGlyZWN0b3J5KToKKyAgICAgICAgc2VsZi5z
Y3JpcHRzX2RpcmVjdG9yeSA9IHNjcmlwdHNfZGlyZWN0b3J5CiAKLSAgICB0cnk6Ci0gICAgICAg
IChvcHRzLCBmaWxlbmFtZXMpID0gZ2V0b3B0LmdldG9wdChzeXMuYXJndlsxOl0sICcnLCBbJ2hl
bHAnLCAnYWxsJ10pCi0gICAgZXhjZXB0IGdldG9wdC5HZXRvcHRFcnJvcjoKLSAgICAgICAgcHJp
bnQoX19kb2NfXykKLSAgICAgICAgc3lzLmV4aXQoJ0Vycm9yOiBpbnZhbGlkIG9wdGlvbi4nKQot
Ci0gICAgc2hvdWxkX2luY2x1ZGVfYWxsID0gRmFsc2UKLQotICAgIGZvciAob3B0LCB2YWwpIGlu
IG9wdHM6Ci0gICAgICAgIGlmIG9wdCA9PSAnLS1oZWxwJzoKLSAgICAgICAgICAgIHByaW50KF9f
ZG9jX18pCi0gICAgICAgICAgICBzeXMuZXhpdCgpCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWFs
bCc6Ci0gICAgICAgICAgICBzaG91bGRfaW5jbHVkZV9hbGwgPSBUcnVlCi0KLSAgICAjIFVzZSBh
YnNvbHV0ZSBwYXRocyBzbyB0aGlzIHNjcmlwdCBjYW4gYmUgcnVuIGZyb20gYW55IGRpcmVjdG9y
eS4KLSAgICBzY3JpcHRzX2RpcmVjdG9yeSA9IHN5cy5wYXRoWzBdCi0KLSAgICB0ZXN0X3Njcmlw
dCgnUGVybCBzY3JpcHRzJywgb3MucGF0aC5qb2luKHNjcmlwdHNfZGlyZWN0b3J5LCAndGVzdC13
ZWJraXRwZXJsJykpCi0KLSAgICB0ZXN0X3NjcmlwdCgnUHl0aG9uIHNjcmlwdHMnLAotICAgICAg
ICAgICAgICAgIG9zLnBhdGguam9pbihzY3JpcHRzX2RpcmVjdG9yeSwgJ3Rlc3Qtd2Via2l0cHkn
KSwKLSAgICAgICAgICAgICAgICBbJy0tYWxsJ10gaWYgc2hvdWxkX2luY2x1ZGVfYWxsIGVsc2Ug
Tm9uZSkKLQotICAgICMgRklYTUU6IERpc3BsYXkgYSBjdW11bGF0aXZlIGluZGljYXRpb24gb2Yg
c3VjY2VzcyBvciBmYWlsdXJlLgotICAgICMgICAgICAgIEluIGFkZGl0aW9uLCBjYWxsIHN5cy5l
eGl0KCkgd2l0aCAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoYXQKLSAgICAjICAgICAgICBjdW11bGF0
aXZlIHN1Y2Nlc3Mgb3IgZmFpbHVyZS4KLSAgICBwcmludCgnTm90ZTogUGVybCBhbmQgUHl0aG9u
IHJlc3VsdHMgYXBwZWFyIHNlcGFyYXRlbHkgYWJvdmUuJykKKyAgICBkZWYgc2NyaXB0X3BhdGgo
c2VsZiwgc2NyaXB0X2ZpbGVfbmFtZSk6CisgICAgICAgICIiIlJldHVybiBhbiBhYnNvbHV0ZSBw
YXRoIHRvIHRoZSBnaXZlbiBzY3JpcHQuIiIiCisgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4o
c2VsZi5zY3JpcHRzX2RpcmVjdG9yeSwgc2NyaXB0X2ZpbGVfbmFtZSkKKworICAgIGRlZiBydW5f
dGVzdF9zY3JpcHQoc2VsZiwgc2NyaXB0X3RpdGxlLCBzY3JpcHRfcGF0aCwgYXJncz1Ob25lKToK
KyAgICAgICAgIiIiUnVuIHRoZSBnaXZlbiB0ZXN0IHNjcmlwdC4iIiIKKyAgICAgICAgcHJpbnQo
J1Rlc3RpbmcgJXM6JyAlIHNjcmlwdF90aXRsZSkKKyAgICAgICAgY2FsbF9hcmdzID0gW3Njcmlw
dF9wYXRoXQorICAgICAgICBpZiBhcmdzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY2FsbF9h
cmdzLmV4dGVuZChhcmdzKQorICAgICAgICBzdWJwcm9jZXNzLmNhbGwoY2FsbF9hcmdzKQorICAg
ICAgICBwcmludCg3MCAqICIqIikgIyBkaXZpZGluZyBsaW5lCisKKyAgICBkZWYgbWFpbihzZWxm
KToKKyAgICAgICAgcGFyc2VyID0gT3B0aW9uUGFyc2VyKGRlc2NyaXB0aW9uPV9fZG9jX18pCisg
ICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKCctYScsICctLWFsbCcsIGRlc3Q9J2FsbCcsIGFjdGlv
bj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2Us
IGhlbHA9J3J1biBhbGwgYXZhaWxhYmxlIHRlc3RzLCAnCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICdpbmNsdWRpbmcgdGhvc2Ugc3VwcHJlc3NlZCBieSBkZWZhdWx0JykKKyAgICAgICAgKG9w
dGlvbnMsIGFyZ3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgICAgIHNlbGYucnVuX3Rl
c3Rfc2NyaXB0KCdQZXJsIHNjcmlwdHMnLCBzZWxmLnNjcmlwdF9wYXRoKCd0ZXN0LXdlYmtpdHBl
cmwnKSkKKyAgICAgICAgc2VsZi5ydW5fdGVzdF9zY3JpcHQoJ1B5dGhvbiBzY3JpcHRzJywgc2Vs
Zi5zY3JpcHRfcGF0aCgndGVzdC13ZWJraXRweScpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbJy0tYWxsJ10gaWYgb3B0aW9ucy5hbGwgZWxzZSBOb25lKQorCisgICAgICAgICMgRklY
TUU6IERpc3BsYXkgYSBjdW11bGF0aXZlIGluZGljYXRpb24gb2Ygc3VjY2VzcyBvciBmYWlsdXJl
LgorICAgICAgICAjICAgICAgICBJbiBhZGRpdGlvbiwgY2FsbCBzeXMuZXhpdCgpIHdpdGggMCBv
ciAxIGRlcGVuZGluZyBvbiB0aGF0CisgICAgICAgICMgICAgICAgIGN1bXVsYXRpdmUgc3VjY2Vz
cyBvciBmYWlsdXJlLgorICAgICAgICBwcmludCgnTm90ZTogUGVybCBhbmQgUHl0aG9uIHJlc3Vs
dHMgYXBwZWFyIHNlcGFyYXRlbHkgYWJvdmUuJykKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWlu
X18nOgorICAgICMgUHJvdmlkaW5nIGFuIGFic29sdXRlIHBhdGggdG8gdGhlIHNjcmlwdHMgZGly
ZWN0b3J5IGFsbG93cyB0aGlzCisgICAgIyBzY3JpcHQgdG8gYmUgcnVuIGZyb20gYW55IGRpcmVj
dG9yeS4KKyAgICB0ZXN0ZXIgPSBTY3JpcHRzVGVzdGVyKHN5cy5wYXRoWzBdKQorICAgIHRlc3Rl
ci5tYWluKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45864</attachid>
            <date>2010-01-04 23:22:43 -0800</date>
            <delta_ts>2010-01-05 00:47:41 -0800</delta_ts>
            <desc>Proposed patch 2</desc>
            <filename>patch-tools6-2.txt</filename>
            <type>text/plain</type>
            <size>5208</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUyNzg0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMDQgIENocmlzIEplcmRvbmVrICA8
Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1pbm9yIGltcHJvdmVtZW50cyB0byB0ZXN0LXdlYmtpdC1zY3Jp
cHRzLCBhcyBzdWdnZXN0ZWQKKyAgICAgICAgYnkgYW4gZWFybGllciByZXZpZXcuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMTI1CisKKyAgICAg
ICAgKiBTY3JpcHRzL3Rlc3Qtd2Via2l0LXNjcmlwdHM6CisgICAgICAgICAgLSBVc2VkIE9wdGlv
blBhcnNlciBjbGFzcyBpbnN0ZWFkIG9mIGdldG9wdC5nZXRvcHQoKS4KKyAgICAgICAgICAtIENy
ZWF0ZWQgbWFpbigpIG1ldGhvZCBmb3IgX19tYWluX18gYmxvY2suCisgICAgICAgICAgLSBFbmNs
b3NlZCBmdW5jdGlvbnMgaW4gYSBjbGFzcy4KKwogMjAxMC0wMS0wNCAgSm9uIEhvbmV5Y3V0dCAg
PGpob25leWN1dHRAYXBwbGUuY29tPgogCiAgICAgICAgIE1TQUE6IDxzZWxlY3Q+IGVsZW1lbnRz
IHNob3VsZCBicm9hZGNhc3QgdmFsdWUgY2hhbmdlIGV2ZW50cwpJbmRleDogV2ViS2l0VG9vbHMv
U2NyaXB0cy90ZXN0LXdlYmtpdC1zY3JpcHRzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Nj
cmlwdHMvdGVzdC13ZWJraXQtc2NyaXB0cwkocmV2aXNpb24gNTI3ODIpCisrKyBXZWJLaXRUb29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0LXNjcmlwdHMJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiAjIS91c3IvYmluL3B5dGhvbgogIwotIyBDb3B5cmlnaHQgKEMpIDIwMDkgQ2hyaXMgSmVy
ZG9uZWsgKGNocmlzLmplcmRvbmVrQGdtYWlsLmNvbSkKKyMgQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDEwIENocmlzIEplcmRvbmVrIChjaHJpcy5qZXJkb25la0BnbWFpbC5jb20pCiAjCiAjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0yOCw1NiArMjgsNTggQEAKICMgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAKLSIiIlRlc3RzIFdlYktpdCBQZXJsIGFuZCBQeXRob24gc2NyaXB0
cy4KKyIiIlJ1biB1bml0IHRlc3RzIG9mIFdlYktpdCdzIFBlcmwgYW5kIFB5dGhvbiBzY3JpcHRz
LiIiIgogCi1TeW50YXg6IHRlc3Qtd2Via2l0LXNjcmlwdHMgWy0tYWxsXQotCi0gICAgLS1hbGwg
ICAgUnVucyBhbGwgYXZhaWxhYmxlIHRlc3RzLCBpbmNsdWRpbmcgdGhvc2Ugc3VwcHJlc3NlZAot
ICAgICAgICAgICAgIGJ5IGRlZmF1bHQuCi0iIiIKKyMgVGhlIGRvY3N0cmluZyBhYm92ZSBpcyBw
YXNzZWQgYXMgdGhlICJkZXNjcmlwdGlvbiIgdG8gdGhlIE9wdGlvblBhcnNlcgorIyB1c2VkIGlu
IHRoaXMgc2NyaXB0J3MgX19tYWluX18gYmxvY2suCisjCisjIEZvciB0aGUgY29tbWFuZCBvcHRp
b25zIHN1cHBvcnRlZCBieSB0aGlzIHNjcmlwdCwgc2VlIHRoZSBjb2RlIGJlbG93CisjIHRoYXQg
aW5zdGFudGlhdGVzIHRoZSBPcHRpb25QYXJzZXIgY2xhc3MsIG9yIGVsc2UgcGFzcyAtLWhlbHAK
KyMgd2hpbGUgcnVubmluZyB0aGlzIHNjcmlwdCAoc2luY2UgYXJndW1lbnQgaGVscCBpcyBhdXRv
LWdlbmVyYXRlZCkuCiAKLWltcG9ydCBnZXRvcHQKIGltcG9ydCBvcwogaW1wb3J0IHN1YnByb2Nl
c3MKIGltcG9ydCBzeXMKK2Zyb20gb3B0cGFyc2UgaW1wb3J0IE9wdGlvblBhcnNlcgogCi1kZWYg
dGVzdF9zY3JpcHQodGl0bGUsIHNjcmlwdF9wYXRoLCBhcmdzPU5vbmUpOgotICAgICIiIlJ1biB0
aGUgZ2l2ZW4gdGVzdCBjb21tYW5kLiIiIgotICAgIHByaW50KCdUZXN0aW5nICVzOicgJSB0aXRs
ZSkKLQotICAgIGNhbGxfYXJncyA9IFtzY3JpcHRfcGF0aF0KLSAgICBpZiBhcmdzIGlzIG5vdCBO
b25lOgotICAgICAgICBjYWxsX2FyZ3MuZXh0ZW5kKGFyZ3MpCi0gICAgc3VicHJvY2Vzcy5jYWxs
KGNhbGxfYXJncykKLSAgICBwcmludCg3MCAqICIqIikgIyBkaXZpZGluZyBsaW5lCitjbGFzcyBT
Y3JpcHRzVGVzdGVyKG9iamVjdCk6CiAKLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAg
IiIiU3VwcG9ydHMgcnVubmluZyB1bml0IHRlc3RzIG9mIFdlYktpdCBzY3JpcHRzLiIiIgorCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHNjcmlwdHNfZGlyZWN0b3J5KToKKyAgICAgICAgc2VsZi5z
Y3JpcHRzX2RpcmVjdG9yeSA9IHNjcmlwdHNfZGlyZWN0b3J5CiAKLSAgICB0cnk6Ci0gICAgICAg
IChvcHRzLCBmaWxlbmFtZXMpID0gZ2V0b3B0LmdldG9wdChzeXMuYXJndlsxOl0sICcnLCBbJ2hl
bHAnLCAnYWxsJ10pCi0gICAgZXhjZXB0IGdldG9wdC5HZXRvcHRFcnJvcjoKLSAgICAgICAgcHJp
bnQoX19kb2NfXykKLSAgICAgICAgc3lzLmV4aXQoJ0Vycm9yOiBpbnZhbGlkIG9wdGlvbi4nKQot
Ci0gICAgc2hvdWxkX2luY2x1ZGVfYWxsID0gRmFsc2UKLQotICAgIGZvciAob3B0LCB2YWwpIGlu
IG9wdHM6Ci0gICAgICAgIGlmIG9wdCA9PSAnLS1oZWxwJzoKLSAgICAgICAgICAgIHByaW50KF9f
ZG9jX18pCi0gICAgICAgICAgICBzeXMuZXhpdCgpCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWFs
bCc6Ci0gICAgICAgICAgICBzaG91bGRfaW5jbHVkZV9hbGwgPSBUcnVlCi0KLSAgICAjIFVzZSBh
YnNvbHV0ZSBwYXRocyBzbyB0aGlzIHNjcmlwdCBjYW4gYmUgcnVuIGZyb20gYW55IGRpcmVjdG9y
eS4KLSAgICBzY3JpcHRzX2RpcmVjdG9yeSA9IHN5cy5wYXRoWzBdCi0KLSAgICB0ZXN0X3Njcmlw
dCgnUGVybCBzY3JpcHRzJywgb3MucGF0aC5qb2luKHNjcmlwdHNfZGlyZWN0b3J5LCAndGVzdC13
ZWJraXRwZXJsJykpCi0KLSAgICB0ZXN0X3NjcmlwdCgnUHl0aG9uIHNjcmlwdHMnLAotICAgICAg
ICAgICAgICAgIG9zLnBhdGguam9pbihzY3JpcHRzX2RpcmVjdG9yeSwgJ3Rlc3Qtd2Via2l0cHkn
KSwKLSAgICAgICAgICAgICAgICBbJy0tYWxsJ10gaWYgc2hvdWxkX2luY2x1ZGVfYWxsIGVsc2Ug
Tm9uZSkKLQotICAgICMgRklYTUU6IERpc3BsYXkgYSBjdW11bGF0aXZlIGluZGljYXRpb24gb2Yg
c3VjY2VzcyBvciBmYWlsdXJlLgotICAgICMgICAgICAgIEluIGFkZGl0aW9uLCBjYWxsIHN5cy5l
eGl0KCkgd2l0aCAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoYXQKLSAgICAjICAgICAgICBjdW11bGF0
aXZlIHN1Y2Nlc3Mgb3IgZmFpbHVyZS4KLSAgICBwcmludCgnTm90ZTogUGVybCBhbmQgUHl0aG9u
IHJlc3VsdHMgYXBwZWFyIHNlcGFyYXRlbHkgYWJvdmUuJykKKyAgICBkZWYgc2NyaXB0X3BhdGgo
c2VsZiwgc2NyaXB0X2ZpbGVfbmFtZSk6CisgICAgICAgICIiIlJldHVybiBhbiBhYnNvbHV0ZSBw
YXRoIHRvIHRoZSBnaXZlbiBzY3JpcHQuIiIiCisgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4o
c2VsZi5zY3JpcHRzX2RpcmVjdG9yeSwgc2NyaXB0X2ZpbGVfbmFtZSkKKworICAgIGRlZiBydW5f
dGVzdF9zY3JpcHQoc2VsZiwgc2NyaXB0X3RpdGxlLCBzY3JpcHRfcGF0aCwgYXJncz1Ob25lKToK
KyAgICAgICAgIiIiUnVuIHRoZSBnaXZlbiB0ZXN0IHNjcmlwdC4iIiIKKyAgICAgICAgcHJpbnQo
J1Rlc3RpbmcgJXM6JyAlIHNjcmlwdF90aXRsZSkKKyAgICAgICAgY2FsbF9hcmdzID0gW3Njcmlw
dF9wYXRoXQorICAgICAgICBpZiBhcmdzOgorICAgICAgICAgICAgY2FsbF9hcmdzLmV4dGVuZChh
cmdzKQorICAgICAgICBzdWJwcm9jZXNzLmNhbGwoY2FsbF9hcmdzKQorICAgICAgICBwcmludCg3
MCAqICIqIikgIyBkaXZpZGluZyBsaW5lCisKKyAgICBkZWYgbWFpbihzZWxmKToKKyAgICAgICAg
cGFyc2VyID0gT3B0aW9uUGFyc2VyKGRlc2NyaXB0aW9uPV9fZG9jX18pCisgICAgICAgIHBhcnNl
ci5hZGRfb3B0aW9uKCctYScsICctLWFsbCcsIGRlc3Q9J2FsbCcsIGFjdGlvbj0nc3RvcmVfdHJ1
ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGhlbHA9J3J1biBh
bGwgYXZhaWxhYmxlIHRlc3RzLCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICdpbmNsdWRp
bmcgdGhvc2Ugc3VwcHJlc3NlZCBieSBkZWZhdWx0JykKKyAgICAgICAgKG9wdGlvbnMsIGFyZ3Mp
ID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgICAgIHNlbGYucnVuX3Rlc3Rfc2NyaXB0KCdQ
ZXJsIHNjcmlwdHMnLCBzZWxmLnNjcmlwdF9wYXRoKCd0ZXN0LXdlYmtpdHBlcmwnKSkKKyAgICAg
ICAgc2VsZi5ydW5fdGVzdF9zY3JpcHQoJ1B5dGhvbiBzY3JpcHRzJywgc2VsZi5zY3JpcHRfcGF0
aCgndGVzdC13ZWJraXRweScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJy0tYWxs
J10gaWYgb3B0aW9ucy5hbGwgZWxzZSBOb25lKQorCisgICAgICAgICMgRklYTUU6IERpc3BsYXkg
YSBjdW11bGF0aXZlIGluZGljYXRpb24gb2Ygc3VjY2VzcyBvciBmYWlsdXJlLgorICAgICAgICAj
ICAgICAgICBJbiBhZGRpdGlvbiwgY2FsbCBzeXMuZXhpdCgpIHdpdGggMCBvciAxIGRlcGVuZGlu
ZyBvbiB0aGF0CisgICAgICAgICMgICAgICAgIGN1bXVsYXRpdmUgc3VjY2VzcyBvciBmYWlsdXJl
LgorICAgICAgICBwcmludCgnTm90ZTogUGVybCBhbmQgUHl0aG9uIHJlc3VsdHMgYXBwZWFyIHNl
cGFyYXRlbHkgYWJvdmUuJykKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgICMg
VGhlIHNjcmlwdHMgZGlyZWN0b3J5IGlzIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGlzIGZp
bGUuCisgICAgdGVzdGVyID0gU2NyaXB0c1Rlc3Rlcihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18p
KQorICAgIHRlc3Rlci5tYWluKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>