Bug 75479 - REGRESSION (r102161): NRWT crashes on launch on Windows 7 SP1
Summary: REGRESSION (r102161): NRWT crashes on launch on Windows 7 SP1
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows 7
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar, PlatformOnly, Regression
Depends on:
Blocks: 38756
  Show dependency treegraph
 
Reported: 2012-01-03 10:57 PST by Adam Roben (:aroben)
Modified: 2012-01-03 11:56 PST (History)
6 users (show)

See Also:


Attachments
Make Port subclasses override the operating_system method rather than setting an attribute (18.85 KB, patch)
2012-01-03 11:36 PST, Adam Roben (:aroben)
eric: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Roben (:aroben) 2012-01-03 10:57:01 PST
To reproduce on Windows 7 SP1:

1. new-run-webkit-tests

You'll get something like this:

Starting 1 worker ...Process _Process-1:
Traceback (most recent call last):
  File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap
    self.run()
  File "/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py", line 269, in run
    port_obj = host.port_factory.get(self._platform_name, options)
  File "/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/port/factory.py", line 135, in get
    return self._get_kwargs(**kwargs)
  File "/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/port/factory.py", line 115, in _get_kwargs
    return maker(self._host, **kwargs)
  File "/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/port/win.py", line 79, in __init__
                                                                                                                       ApplePort.__init__(self, host, **kwargs)
  File "/home/Adam Roben/dev/WebKit/OpenSource/Tools/Scripts/webkitpy/layout_tests/port/apple.py", line 74, in __init__
                                                                                                                         assert port_name in allowed_port_names, "%s is not in %s" % (por
t_name, allowed_port_names)
AssertionError: win-future is not in ['win-xp', 'win-vista', 'win-7sp0', 'win', 'mac-future']
Comment 1 Adam Roben (:aroben) 2012-01-03 10:58:12 PST
Looks like WinPort.__init__ is setting self._operating_system before calling up to the super class, but Port.__init__ overwrites it.
Comment 2 Radar WebKit Bug Importer 2012-01-03 11:00:21 PST
<rdar://problem/10637385>
Comment 3 Adam Roben (:aroben) 2012-01-03 11:36:02 PST
Created attachment 120972 [details]
Make Port subclasses override the operating_system method rather than setting an attribute
Comment 4 Eric Seidel (no email) 2012-01-03 11:40:34 PST
Comment on attachment 120972 [details]
Make Port subclasses override the operating_system method rather than setting an attribute

OK.
Comment 5 Eric Seidel (no email) 2012-01-03 11:41:41 PST
Comment on attachment 120972 [details]
Make Port subclasses override the operating_system method rather than setting an attribute

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

> Tools/Scripts/webkitpy/layout_tests/port/win_unittest.py:108
> +    def test_operating_system(self):
> +        self.assertEqual('win', self.make_port().operating_system())

This test would have failed before your patch, right?  The most important bit of this change is the test. :)
Comment 6 Adam Roben (:aroben) 2012-01-03 11:44:57 PST
Comment on attachment 120972 [details]
Make Port subclasses override the operating_system method rather than setting an attribute

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

>> Tools/Scripts/webkitpy/layout_tests/port/win_unittest.py:108
>> +        self.assertEqual('win', self.make_port().operating_system())
> 
> This test would have failed before your patch, right?  The most important bit of this change is the test. :)

Exactly! I tested that it fails without my patch.
Comment 7 Adam Roben (:aroben) 2012-01-03 11:56:32 PST
Committed r103952: <http://trac.webkit.org/changeset/103952>