<?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>77744</bug_id>
          
          <creation_ts>2012-02-03 09:20:47 -0800</creation_ts>
          <short_desc>check-webkit-style is throwing an exception</short_desc>
          <delta_ts>2012-02-04 01:51:10 -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>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="Philip Rogers">pdr</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>548780</commentid>
    <comment_count>0</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-02-03 09:20:47 -0800</bug_when>
    <thetext>On a clean checkout, make a minor change to any test_expectation file and then run check-webkit-style. You&apos;ll get the following error:
Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/plat...&quot; exit_code: 1

Traceback (most recent call last):
  File &quot;Tools/Scripts/check-webkit-style&quot;, line 48, in &lt;module&gt;
    sys.exit(CheckWebKitStyle().main())
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/main.py&quot;, line 154, in main
    patch_checker.check(patch)
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/patchreader.py&quot;, line 66, in check
    self._text_file_reader.process_file(file_path=path, line_numbers=line_numbers)
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/filereader.py&quot;, line 130, in process_file
    self._processor.process(lines, file_path, **kwargs)
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/checker.py&quot;, line 826, in process
    checker.check(lines)
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/checkers/test_expectations.py&quot;, line 117, in check
    overrides=overrides)
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/checkers/test_expectations.py&quot;, line 96, in check_test_expectations
    is_lint_mode=True, overrides=overrides)
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py&quot;, line 721, in __init__
    self._add_skipped_tests(port.skipped_tests(tests))
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/port/webkit.py&quot;, line 376, in skipped_tests
    return self.skipped_layout_tests(test_list)
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/port/webkit.py&quot;, line 372, in skipped_layout_tests
    tests_to_skip.update(self._skipped_tests_for_unsupported_features(test_list))
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/port/webkit.py&quot;, line 319, in _skipped_tests_for_unsupported_features
    if self._has_test_in_directories(self._missing_feature_to_skipped_tests().values(), test_list):
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/port/webkit.py&quot;, line 311, in _has_test_in_directories
    for directory, test in itertools.product(directories, test_list):
TypeError: &apos;NoneType&apos; object is not iterable

This same output can be seen on various bugs, for instance:
https://bugs.webkit.org/show_bug.cgi?id=77067
https://bugs.webkit.org/show_bug.cgi?id=77245</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548944</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-03 12:26:12 -0800</bug_when>
    <thetext>Sounds like this is a regression from yesterday?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548945</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-03 12:26:45 -0800</bug_when>
    <thetext>Likely from Ojan&apos;s changes to speed up NRWT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549172</commentid>
    <comment_count>3</comment_count>
      <attachid>125437</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-02-03 15:43:55 -0800</bug_when>
    <thetext>Created attachment 125437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549179</commentid>
    <comment_count>4</comment_count>
      <attachid>125437</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2012-02-03 15:47:43 -0800</bug_when>
    <thetext>Comment on attachment 125437
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:313
&gt;          directories = itertools.chain.from_iterable(directory_lists)

Would it make sense to make itertools.product return [] in this case, so every place that uses it just works when &quot;not test_list&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549197</commentid>
    <comment_count>5</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-02-03 15:59:19 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 125437 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=125437&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:313
&gt; &gt;          directories = itertools.chain.from_iterable(directory_lists)
&gt; 
&gt; Would it make sense to make itertools.product return [] in this case, so every place that uses it just works when &quot;not test_list&quot;?

It might, but it&apos;s a python library, so... :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549406</commentid>
    <comment_count>6</comment_count>
      <attachid>125437</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-04 01:51:04 -0800</bug_when>
    <thetext>Comment on attachment 125437
Patch

Clearing flags on attachment: 125437

Committed r106735: &lt;http://trac.webkit.org/changeset/106735&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549407</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-04 01:51:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125437</attachid>
            <date>2012-02-03 15:43:55 -0800</date>
            <delta_ts>2012-02-04 01:51:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77744-20120203154353.patch</filename>
            <type>text/plain</type>
            <size>2818</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2Njc0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMWQ3YjcxOTFjYzk4OWQ4NTU5Yzg2MGMwMDk5M2NhN2Iw
M2Y5YTY1Ny4uZjUwZDU3NDYxMWU1ZjcyMzc2YTkxOGVlODYzODZjN2RjNTczZWQ5NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDEyLTAyLTAzICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgY2hlY2std2Via2l0LXN0eWxlIGlzIHRocm93aW5nIGFuIGV4Y2VwdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NDQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB0aGUgdGVzdF9saXN0IGlz
IE5vbmUsIHRoZW4gd2UgZG9uJ3QgbmVlZCB0byBjaGVjayBmb3IgdW5zdXBwb3J0ZWQKKyAgICAg
ICAgZmVhdHVyZSB0ZXN0cyB0byBza2lwLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHk6CisgICAgICAgIChXZWJLaXRQb3J0Ll9oYXNfdGVz
dF9pbl9kaXJlY3Rvcmllcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHk6CisgICAgICAgICh0ZXN0X3NraXBwZWRfdGVzdHNf
Zm9yX3Vuc3VwcG9ydGVkX2ZlYXR1cmVzX2VtcHR5X3Rlc3RfbGlzdCk6CisKIDIwMTItMDItMDMg
IEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAogICAgICAg
ICBbUXRdIFNwbGl0IFFRdWlja1dlYlZpZXdQcml2YXRlIGluIHR3byBjbGFzc2VzLCBmb3IgZGVz
a3RvcCBhbmQgdG91Y2ggYmVoYXZpb3IuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CmluZGV4IDZmNzk2N2VmZTEwOTAxYWY2MmFmMzg4
MzY5NjE4NGY2ZjYzMTc4YWUuLjFjNzgwNTM1OTI2OGMzNjc5YmY5ZGVjYTE3ZDIxNDU3NjU1OTI5
YjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
d2Via2l0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
d2Via2l0LnB5CkBAIC0zMDcsNiArMzA3LDkgQEAgY2xhc3MgV2ViS2l0UG9ydChQb3J0KToKICAg
ICAgICAgfQogCiAgICAgZGVmIF9oYXNfdGVzdF9pbl9kaXJlY3RvcmllcyhzZWxmLCBkaXJlY3Rv
cnlfbGlzdHMsIHRlc3RfbGlzdCk6CisgICAgICAgIGlmIG5vdCB0ZXN0X2xpc3Q6CisgICAgICAg
ICAgICByZXR1cm4gRmFsc2UKKwogICAgICAgICBkaXJlY3RvcmllcyA9IGl0ZXJ0b29scy5jaGFp
bi5mcm9tX2l0ZXJhYmxlKGRpcmVjdG9yeV9saXN0cykKICAgICAgICAgZm9yIGRpcmVjdG9yeSwg
dGVzdCBpbiBpdGVydG9vbHMucHJvZHVjdChkaXJlY3RvcmllcywgdGVzdF9saXN0KToKICAgICAg
ICAgICAgIGlmIHRlc3Quc3RhcnRzd2l0aChkaXJlY3RvcnkpOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0dGVzdC5w
eQppbmRleCBhOGNjOGU1YjgxNmNkYTcxMjAwZTNjZTMyNTA3NmRlMDIwZmE2M2RkLi5mZmFhZTZl
Yjc2NTViODk5M2JlNGE1MTlkOGE1YzNlOTIxZmRhZjg0IDEwMDc1NQotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0dGVzdC5w
eQpAQCAtMTQ1LDYgKzE0NSwxMiBAQCBjbGFzcyBXZWJLaXRQb3J0VGVzdChwb3J0X3Rlc3RjYXNl
LlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIHJlc3VsdF9kaXJlY3RvcmllcyA9IHNldChUZXN0V2Vi
S2l0UG9ydChOb25lLCBzdXBwb3J0ZWRfZmVhdHVyZXMpLl9za2lwcGVkX3Rlc3RzX2Zvcl91bnN1
cHBvcnRlZF9mZWF0dXJlcyh0ZXN0X2xpc3Q9Wydmb28uaHRtbCddKSkKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChyZXN1bHRfZGlyZWN0b3JpZXMsIGV4cGVjdGVkX2RpcmVjdG9yaWVzKQogCisg
ICAgZGVmIHRlc3Rfc2tpcHBlZF90ZXN0c19mb3JfdW5zdXBwb3J0ZWRfZmVhdHVyZXNfZW1wdHlf
dGVzdF9saXN0KHNlbGYpOgorICAgICAgICBzdXBwb3J0ZWRfZmVhdHVyZXMgPSBbIkFjY2VsZXJh
dGVkIENvbXBvc2l0aW5nIiwgIkZvbyBGZWF0dXJlIl0KKyAgICAgICAgZXhwZWN0ZWRfZGlyZWN0
b3JpZXMgPSBzZXQoW10pCisgICAgICAgIHJlc3VsdF9kaXJlY3RvcmllcyA9IHNldChUZXN0V2Vi
S2l0UG9ydChOb25lLCBzdXBwb3J0ZWRfZmVhdHVyZXMpLl9za2lwcGVkX3Rlc3RzX2Zvcl91bnN1
cHBvcnRlZF9mZWF0dXJlcyh0ZXN0X2xpc3Q9Tm9uZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwocmVzdWx0X2RpcmVjdG9yaWVzLCBleHBlY3RlZF9kaXJlY3RvcmllcykKKwogICAgIGRlZiB0
ZXN0X3NraXBwZWRfbGF5b3V0X3Rlc3RzKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KFRlc3RXZWJLaXRQb3J0KE5vbmUsIE5vbmUpLnNraXBwZWRfbGF5b3V0X3Rlc3RzKHRlc3RfbGlz
dD1bXSksIHNldChbJ21lZGlhJ10pKQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>