<?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>31799</bug_id>
          
          <creation_ts>2009-11-23 02:07:11 -0800</creation_ts>
          <short_desc>run-webkit-tests doesn&apos;t accept directories/files with --skipped=only parameter</short_desc>
          <delta_ts>2009-11-25 14:26:43 -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>PC</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="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>kenneth</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>165810</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-11-23 02:07:11 -0800</bug_when>
    <thetext>If you call run-webkit-tests script with --skipped=only parameter,
you can&apos;t add directories as constraint, but script runs all of
the skipped tests. It can take a long time on Qt and GTK port,
because there are scores of skipped tests. Or it can go into
an infinite loop because of a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165811</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-11-23 02:22:14 -0800</bug_when>
    <thetext>@@ -2106,7 +2116,13 @@ sub readSkippedFiles
                 if ($skipped &amp;&amp; $skipped !~ /^#/) {
                     if ($skippedOnly) {
                         if (!&amp;fileShouldBeIgnored($skipped)) {
-                            push(@ARGV, $skipped);
+                            if (!$path) {
+                                push(@ARGV, $skipped);
+                            } elsif ($skipped =~/^($path)/) {
+                                push(@ARGV, $skipped);
+                            } elsif ($path =~/^($skipped)/) {
+                                push(@ARGV, $path);
+                            }
                         } elsif ($verbose) {
                             print &quot;    $skipped\n&quot;;
                         }

1st case: Original case, if you simple call &quot;run-webkit-tests --skipped-only&quot;

2nd case: If you call &quot;run-webkit-tests --skipped=only SKIPPED_DIR&quot; and there is a SKIPPED_DIR/skipped_file on skiplist, then SKIPPED_DIR/skipped_file will be pushed.

3rd case: If you call &quot;run-webkit-tests --skippes=only dir1/dir2/dir3&quot; and dir1 is on skiplist, then dir1/dir2/dir3 will be pushed.

+    # Remove duplicated tests
+    @testsToRun = keys %{{ map { $_ =&gt; 1 } @testsToRun }};

It is necessary if there are duplicated entries on skiplist.
(eg. dir1/dir2/dir3 and dir1/dir2) It won&apos;t affect --iterations and --repeat-each parameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165812</commentid>
    <comment_count>2</comment_count>
      <attachid>43700</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-11-23 02:23:24 -0800</bug_when>
    <thetext>Created attachment 43700
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165916</commentid>
    <comment_count>3</comment_count>
      <attachid>43700</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-11-23 13:34:26 -0800</bug_when>
    <thetext>Comment on attachment 43700
proposed patch

&gt; diff --git a/WebKitTools/Scripts/run-webkit-tests b/WebKitTools/Scripts/run-webkit-tests
&gt; index 1e37286..f339a76 100755
&gt; --- a/WebKitTools/Scripts/run-webkit-tests
&gt; +++ b/WebKitTools/Scripts/run-webkit-tests
&gt; @@ -455,7 +454,16 @@ if (!checkWebCoreWCSSSupport(0)) {
&gt;  }
&gt;  
&gt;  processIgnoreTests($ignoreTests, &quot;ignore-tests&quot;) if $ignoreTests;
&gt; -readSkippedFiles() unless $ignoreSkipped;
&gt; +unless ($ignoreSkipped)
&gt; +{

I think this reads better:

    if (!$ignoreSkipped) {

I&apos;m not a big fan of &apos;unless&apos;, and I find it harder to read when used in place of an &apos;if&apos; block.

The curly brace should be on the same line as the unless/if statement as well.

&gt; +    if (!$skippedOnly || $#ARGV == -1) {

I think it&apos;s clearer to check the scalar value of @ARGV to see if it contains elements:

    if (!$skippedOnly || @ARGV == 0) {

&gt; +        readSkippedFiles(&quot;&quot;);
&gt; +    } else {
&gt; +        foreach my $argnum (0 .. $#ARGV) {
&gt; +            readSkippedFiles(shift);
&gt; +        }

The foreach statement needs a comment about how it&apos;s preventing an infinite loop by only iterating over the original @ARGV list (since readSkippedFiles() appends to @ARGV).  Maybe:

    # Since readSkippedFiles() appends to @ARGV, we must use a foreach
    # loop so that we only iterate over the original argument list.

Using the implicit form of &apos;shift&apos; on @ARGV was also confusing.  (I expected shift to operate on @_, but I didn&apos;t realize it would fall back to @ARGV in this case since there was no @_ in this context.)  I think this would read better:

    readSkippedFiles(shift @ARGV);

&gt; @@ -2089,8 +2097,10 @@ sub fileShouldBeIgnored
&gt;      return 0;
&gt;  }
&gt;  
&gt; -sub readSkippedFiles
&gt; +sub readSkippedFiles($)
&gt;  {
&gt; +    my ($path) = @_;

A better name might be $constraintPath since we&apos;re using it to constrain the skipped list entries.

&gt; +
&gt;      foreach my $level (@platformTestHierarchy) {
&gt;          if (open SKIPPED, &quot;&lt;&quot;, &quot;$level/Skipped&quot;) {
&gt;              if ($verbose) {
&gt; @@ -2106,7 +2116,13 @@ sub readSkippedFiles
&gt;                  if ($skipped &amp;&amp; $skipped !~ /^#/) {
&gt;                      if ($skippedOnly) {
&gt;                          if (!&amp;fileShouldBeIgnored($skipped)) {

Bonus points for removing the unneeded &apos;&amp;&apos; in the &apos;if&apos; statement above.  Not necessary though.

&gt; -                            push(@ARGV, $skipped);

Overall, it would be nice to add a comment in each if/elsif/elsif block below that describes what&apos;s happening.

&gt; +                            if (!$path) {

Perhaps:

    # Always add $skipped since no constraint path was specified on the command line.

&gt; +                                push(@ARGV, $skipped);
&gt; +                            } elsif ($skipped =~/^($path)/) {

Perhaps:

    # Add $skipped only if it matches the current path constraint, e.g.,
    # &quot;--skipped=only dir1&quot; with &quot;dir1/file1.html&quot; on the skipped list.

Please add a space after the &quot;=~&quot; operator.

&gt; +                                push(@ARGV, $skipped);
&gt; +                            } elsif ($path =~/^($skipped)/) {

Perhaps:

    # Add current path constraint if it is more specific than the skip list entry,
    # e.g., &quot;--skipped=only dir1/dir2/dir3&quot; with &quot;dir1&quot; on the skipped list.

Please add a space after the &quot;=~&quot; operator.

&gt; +                                push(@ARGV, $path);
&gt; +                            }
&gt;                          } elsif ($verbose) {
&gt;                              print &quot;    $skipped\n&quot;;
&gt;                          }
&gt; @@ -2177,6 +2193,9 @@ sub findTestsToRun
&gt;          }
&gt;      }
&gt;  
&gt; +    # Remove duplicated tests
&gt; +    @testsToRun = keys %{{ map { $_ =&gt; 1 } @testsToRun }};

Typo: use &quot;duplicate&quot; instead of &quot;duplicated&quot;

r- to address minor issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166533</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-11-25 12:52:41 -0800</bug_when>
    <thetext>(In reply to comment #3)

Thanks for your reflections and advices. The modified patch is submitted.
Sorry for coding style violations. I will regard lots better next time.

&gt; &gt;      foreach my $level (@platformTestHierarchy) {
&gt; &gt;          if (open SKIPPED, &quot;&lt;&quot;, &quot;$level/Skipped&quot;) {
&gt; &gt;              if ($verbose) {
&gt; &gt; @@ -2106,7 +2116,13 @@ sub readSkippedFiles
&gt; &gt;                  if ($skipped &amp;&amp; $skipped !~ /^#/) {
&gt; &gt;                      if ($skippedOnly) {
&gt; &gt;                          if (!&amp;fileShouldBeIgnored($skipped)) {
&gt; 
&gt; Bonus points for removing the unneeded &apos;&amp;&apos; in the &apos;if&apos; statement above.  Not
&gt; necessary though.
I didn&apos;t find unneeded if. Which do you mean?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166537</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-11-25 12:59:59 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; 
&gt; Thanks for your reflections and advices. The modified patch is submitted.
&gt; Sorry for coding style violations. I will regard lots better next time.

Some of it is personal preference, too.  I&apos;m not sure all of this is codified in our style documentation (since that mostly reflects C++ code).

&gt; &gt; &gt;                          if (!&amp;fileShouldBeIgnored($skipped)) {
&gt; &gt; 
&gt; &gt; Bonus points for removing the unneeded &apos;&amp;&apos; in the &apos;if&apos; statement above.  Not
&gt; &gt; necessary though.
&gt; 
&gt; I didn&apos;t find unneeded if. Which do you mean?

I meant changing this:

-                         if (!&amp;fileShouldBeIgnored($skipped)) {
+                         if (!fileShouldBeIgnored($skipped)) {

The &apos;&amp;&apos; operator is unnecessary in this case (and is a remnant of an earlier Perl style).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166540</commentid>
    <comment_count>6</comment_count>
      <attachid>43865</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-11-25 13:11:18 -0800</bug_when>
    <thetext>Created attachment 43865
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166541</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-11-25 13:13:45 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; The &apos;&amp;&apos; operator is unnecessary in this case (and is a remnant of an earlier
&gt; Perl style).

OK, I removed it. And submitted the updated patch that I forgot previously. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166553</commentid>
    <comment_count>8</comment_count>
      <attachid>43865</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-11-25 14:11:13 -0800</bug_when>
    <thetext>Comment on attachment 43865
updated patch

r=me  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166557</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-11-25 14:26:43 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 43865 [details])
&gt; r=me  Thanks!

Sending        WebKitTools/ChangeLog
Sending        WebKitTools/Scripts/run-webkit-tests
Transmitting file data ..
Committed revision 51395.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43700</attachid>
            <date>2009-11-23 02:23:24 -0800</date>
            <delta_ts>2009-11-25 13:11:18 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>skippedonly_proposed.patch</filename>
            <type>text/plain</type>
            <size>3008</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzOTg1YTJiLi4wODNlYmJmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDktMTEt
MjMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBydW4td2Via2l0LXRlc3RzIGRvZXNu
J3QgYWNjZXB0IGRpcmVjdG9yaWVzL2ZpbGVzIHdpdGggLS1za2lwcGVkPW9ubHkgcGFyYW1ldGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTc5OQor
CisgICAgICAgICogU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzOiBGaXhlZC4KKwogMjAwOS0xMS0y
MCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0
LXRlc3RzIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCmluZGV4IDFlMzcy
ODYuLmYzMzlhNzYgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10
ZXN0cworKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMKQEAgLTk3LDYg
Kzk3LDcgQEAgc3ViIHBhdGhjbXAoJCQpOwogc3ViIHByaW50RmFpbHVyZU1lc3NhZ2VGb3JUZXN0
KCQkKTsKIHN1YiBwcm9jZXNzSWdub3JlVGVzdHMoJCQpOwogc3ViIHJlYWRGcm9tRHVtcFRvb2xX
aXRoVGltZXIoKiopOworc3ViIHJlYWRTa2lwcGVkRmlsZXMoJCk7CiBzdWIgcmVjb3JkQWN0dWFs
UmVzdWx0c0FuZERpZmYoJCQpOwogc3ViIHNhbXBsZUR1bXBUb29sKCk7CiBzdWIgc2V0RmlsZUhh
bmRsZU5vbkJsb2NraW5nKCokKTsKQEAgLTI5Nyw4ICsyOTgsNiBAQCBpZiAoISRnZXRPcHRpb25z
UmVzdWx0IHx8ICRzaG93SGVscCkgewogbXkgJGlnbm9yZVNraXBwZWQgPSAkdHJlYXRTa2lwcGVk
IGVxICJpZ25vcmUiOwogbXkgJHNraXBwZWRPbmx5ID0gJHRyZWF0U2tpcHBlZCBlcSAib25seSI7
CiAKLSEkc2tpcHBlZE9ubHkgfHwgQEFSR1YgPT0gMCBvciBkaWUgIi0tc2tpcHBlZD1vbmx5IGNh
bm5vdCBiZSB1c2VkIHdoZW4gdGVzdHMgYXJlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5l
LiI7Ci0KIG15ICRjb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbigpOwogCiAkdmVyYm9zZSA9
IDEgaWYgJHRlc3RzUGVyRHVtcFRvb2wgPT0gMTsKQEAgLTQ1NSw3ICs0NTQsMTYgQEAgaWYgKCFj
aGVja1dlYkNvcmVXQ1NTU3VwcG9ydCgwKSkgewogfQogCiBwcm9jZXNzSWdub3JlVGVzdHMoJGln
bm9yZVRlc3RzLCAiaWdub3JlLXRlc3RzIikgaWYgJGlnbm9yZVRlc3RzOwotcmVhZFNraXBwZWRG
aWxlcygpIHVubGVzcyAkaWdub3JlU2tpcHBlZDsKK3VubGVzcyAoJGlnbm9yZVNraXBwZWQpCit7
CisgICAgaWYgKCEkc2tpcHBlZE9ubHkgfHwgJCNBUkdWID09IC0xKSB7CisgICAgICAgIHJlYWRT
a2lwcGVkRmlsZXMoIiIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZvcmVhY2ggbXkgJGFyZ251
bSAoMCAuLiAkI0FSR1YpIHsKKyAgICAgICAgICAgIHJlYWRTa2lwcGVkRmlsZXMoc2hpZnQpOwor
ICAgICAgICB9CisgICAgfQorfQogCiBteSBAdGVzdHMgPSBmaW5kVGVzdHNUb1J1bigpOwogCkBA
IC0yMDg5LDggKzIwOTcsMTAgQEAgc3ViIGZpbGVTaG91bGRCZUlnbm9yZWQKICAgICByZXR1cm4g
MDsKIH0KIAotc3ViIHJlYWRTa2lwcGVkRmlsZXMKK3N1YiByZWFkU2tpcHBlZEZpbGVzKCQpCiB7
CisgICAgbXkgKCRwYXRoKSA9IEBfOworCiAgICAgZm9yZWFjaCBteSAkbGV2ZWwgKEBwbGF0Zm9y
bVRlc3RIaWVyYXJjaHkpIHsKICAgICAgICAgaWYgKG9wZW4gU0tJUFBFRCwgIjwiLCAiJGxldmVs
L1NraXBwZWQiKSB7CiAgICAgICAgICAgICBpZiAoJHZlcmJvc2UpIHsKQEAgLTIxMDYsNyArMjEx
NiwxMyBAQCBzdWIgcmVhZFNraXBwZWRGaWxlcwogICAgICAgICAgICAgICAgIGlmICgkc2tpcHBl
ZCAmJiAkc2tpcHBlZCAhfiAvXiMvKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICgkc2tpcHBl
ZE9ubHkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJmZpbGVTaG91bGRCZUlnbm9y
ZWQoJHNraXBwZWQpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAQVJHViwg
JHNraXBwZWQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJHBhdGgpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAQVJHViwgJHNraXBwZWQpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCRza2lwcGVkID1+L14oJHBhdGgpLykg
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBBUkdWLCAkc2tpcHBlZCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAoJHBhdGggPX4vXigkc2tpcHBl
ZCkvKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQEFSR1YsICRwYXRo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg
ICB9IGVsc2lmICgkdmVyYm9zZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50
ICIgICAgJHNraXBwZWRcbiI7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CkBAIC0yMTc3LDYg
KzIxOTMsOSBAQCBzdWIgZmluZFRlc3RzVG9SdW4KICAgICAgICAgfQogICAgIH0KIAorICAgICMg
UmVtb3ZlIGR1cGxpY2F0ZWQgdGVzdHMKKyAgICBAdGVzdHNUb1J1biA9IGtleXMgJXt7IG1hcCB7
ICRfID0+IDEgfSBAdGVzdHNUb1J1biB9fTsKKwogICAgIEB0ZXN0c1RvUnVuID0gc29ydCBwYXRo
Y21wIEB0ZXN0c1RvUnVuOwogCiAgICAgIyBSZXZlcnNlIHRoZSB0ZXN0cwo=
</data>
<flag name="review"
          id="25433"
          type_id="1"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43865</attachid>
            <date>2009-11-25 13:11:18 -0800</date>
            <delta_ts>2009-11-25 14:11:13 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>skippedonly_proposed2.patch</filename>
            <type>text/plain</type>
            <size>3849</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBlMTQwZjIwLi40MzJmY2VhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDktMTEt
MjUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBydW4td2Via2l0LXRlc3RzIGRvZXNu
J3QgYWNjZXB0IGRpcmVjdG9yaWVzL2ZpbGVzIHdpdGggLS1za2lwcGVkPW9ubHkgcGFyYW1ldGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTc5OQor
CisgICAgICAgICogU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzOiBGaXhlZC4KKwogMjAwOS0xMS0y
NSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10
ZXN0cyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwppbmRleCAxZTM3Mjg2
Li5jMjcxNTZlIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVz
dHMKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCkBAIC05Nyw2ICs5
Nyw3IEBAIHN1YiBwYXRoY21wKCQkKTsKIHN1YiBwcmludEZhaWx1cmVNZXNzYWdlRm9yVGVzdCgk
JCk7CiBzdWIgcHJvY2Vzc0lnbm9yZVRlc3RzKCQkKTsKIHN1YiByZWFkRnJvbUR1bXBUb29sV2l0
aFRpbWVyKCoqKTsKK3N1YiByZWFkU2tpcHBlZEZpbGVzKCQpOwogc3ViIHJlY29yZEFjdHVhbFJl
c3VsdHNBbmREaWZmKCQkKTsKIHN1YiBzYW1wbGVEdW1wVG9vbCgpOwogc3ViIHNldEZpbGVIYW5k
bGVOb25CbG9ja2luZygqJCk7CkBAIC0yOTcsOCArMjk4LDYgQEAgaWYgKCEkZ2V0T3B0aW9uc1Jl
c3VsdCB8fCAkc2hvd0hlbHApIHsKIG15ICRpZ25vcmVTa2lwcGVkID0gJHRyZWF0U2tpcHBlZCBl
cSAiaWdub3JlIjsKIG15ICRza2lwcGVkT25seSA9ICR0cmVhdFNraXBwZWQgZXEgIm9ubHkiOwog
Ci0hJHNraXBwZWRPbmx5IHx8IEBBUkdWID09IDAgb3IgZGllICItLXNraXBwZWQ9b25seSBjYW5u
b3QgYmUgdXNlZCB3aGVuIHRlc3RzIGFyZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4i
OwotCiBteSAkY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24oKTsKIAogJHZlcmJvc2UgPSAx
IGlmICR0ZXN0c1BlckR1bXBUb29sID09IDE7CkBAIC00NTUsNyArNDU0LDE3IEBAIGlmICghY2hl
Y2tXZWJDb3JlV0NTU1N1cHBvcnQoMCkpIHsKIH0KIAogcHJvY2Vzc0lnbm9yZVRlc3RzKCRpZ25v
cmVUZXN0cywgImlnbm9yZS10ZXN0cyIpIGlmICRpZ25vcmVUZXN0czsKLXJlYWRTa2lwcGVkRmls
ZXMoKSB1bmxlc3MgJGlnbm9yZVNraXBwZWQ7CitpZiAoISRpZ25vcmVTa2lwcGVkKSB7CisgICAg
aWYgKCEkc2tpcHBlZE9ubHkgfHwgQEFSR1YgPT0gMCkgeworICAgICAgICByZWFkU2tpcHBlZEZp
bGVzKCIiKTsKKyAgICB9IGVsc2UgeworICAgICAgICAjIFNpbmNlIHJlYWRTa2lwcGVkRmlsZXMo
KSBhcHBlbmRzIHRvIEBBUkdWLCB3ZSBtdXN0IHVzZSBhIGZvcmVhY2gKKyAgICAgICAgIyBsb29w
IHNvIHRoYXQgd2Ugb25seSBpdGVyYXRlIG92ZXIgdGhlIG9yaWdpbmFsIGFyZ3VtZW50IGxpc3Qu
CisgICAgICAgIGZvcmVhY2ggbXkgJGFyZ251bSAoMCAuLiAkI0FSR1YpIHsKKyAgICAgICAgICAg
IHJlYWRTa2lwcGVkRmlsZXMoc2hpZnQgQEFSR1YpOworICAgICAgICB9CisgICAgfQorfQogCiBt
eSBAdGVzdHMgPSBmaW5kVGVzdHNUb1J1bigpOwogCkBAIC0yMDg5LDggKzIwOTgsMTAgQEAgc3Vi
IGZpbGVTaG91bGRCZUlnbm9yZWQKICAgICByZXR1cm4gMDsKIH0KIAotc3ViIHJlYWRTa2lwcGVk
RmlsZXMKK3N1YiByZWFkU2tpcHBlZEZpbGVzKCQpCiB7CisgICAgbXkgKCRjb25zdHJhaW50UGF0
aCkgPSBAXzsKKwogICAgIGZvcmVhY2ggbXkgJGxldmVsIChAcGxhdGZvcm1UZXN0SGllcmFyY2h5
KSB7CiAgICAgICAgIGlmIChvcGVuIFNLSVBQRUQsICI8IiwgIiRsZXZlbC9Ta2lwcGVkIikgewog
ICAgICAgICAgICAgaWYgKCR2ZXJib3NlKSB7CkBAIC0yMTA1LDggKzIxMTYsMTkgQEAgc3ViIHJl
YWRTa2lwcGVkRmlsZXMKICAgICAgICAgICAgICAgICAkc2tpcHBlZCA9fiBzL1sgXG5ccl0rJC8v
OwogICAgICAgICAgICAgICAgIGlmICgkc2tpcHBlZCAmJiAkc2tpcHBlZCAhfiAvXiMvKSB7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICgkc2tpcHBlZE9ubHkpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICghJmZpbGVTaG91bGRCZUlnbm9yZWQoJHNraXBwZWQpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAQVJHViwgJHNraXBwZWQpOworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCFmaWxlU2hvdWxkQmVJZ25vcmVkKCRza2lwcGVkKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghJGNvbnN0cmFpbnRQYXRoKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgQWx3YXlzIGFkZCAkc2tpcHBlZCBzaW5jZSBubyBjb25zdHJh
aW50IHBhdGggd2FzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBBUkdWLCAkc2tpcHBlZCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNpZiAoJHNraXBwZWQgPX4gL14oJGNvbnN0cmFpbnRQYXRoKS8p
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBZGQgJHNraXBwZWQgb25seSBp
ZiBpdCBtYXRjaGVzIHRoZSBjdXJyZW50IHBhdGggY29uc3RyYWludCwgZS5nLiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIyAiLS1za2lwcGVkPW9ubHkgZGlyMSIgd2l0aCAiZGly
MS9maWxlMS5odG1sIiBvbiB0aGUgc2tpcHBlZCBsaXN0LgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBBUkdWLCAkc2tpcHBlZCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNpZiAoJGNvbnN0cmFpbnRQYXRoID1+IC9eKCRza2lwcGVkKS8pIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBZGQgY3VycmVudCBwYXRoIGNvbnN0cmFpbnQg
aWYgaXQgaXMgbW9yZSBzcGVjaWZpYyB0aGFuIHRoZSBza2lwIGxpc3QgZW50cnksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICMgZS5nLiwgIi0tc2tpcHBlZD1vbmx5IGRpcjEvZGly
Mi9kaXIzIiB3aXRoICJkaXIxIiBvbiB0aGUgc2tpcHBlZCBsaXN0LgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBBUkdWLCAkY29uc3RyYWludFBhdGgpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzaWYgKCR2
ZXJib3NlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgIiAgICAkc2tpcHBl
ZFxuIjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTIxNzcsNiArMjE5OSw5IEBAIHN1
YiBmaW5kVGVzdHNUb1J1bgogICAgICAgICB9CiAgICAgfQogCisgICAgIyBSZW1vdmUgZHVwbGlj
YXRlIHRlc3RzCisgICAgQHRlc3RzVG9SdW4gPSBrZXlzICV7eyBtYXAgeyAkXyA9PiAxIH0gQHRl
c3RzVG9SdW4gfX07CisKICAgICBAdGVzdHNUb1J1biA9IHNvcnQgcGF0aGNtcCBAdGVzdHNUb1J1
bjsKIAogICAgICMgUmV2ZXJzZSB0aGUgdGVzdHMK
</data>
<flag name="review"
          id="25609"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>