Bug 75479

Summary: REGRESSION (r102161): NRWT crashes on launch on Windows 7 SP1
Product: WebKit Reporter: Adam Roben (:aroben) <aroben>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, dpranke, eric, ojan, webkit-bug-importer, webkit.review.bot
Priority: P2 Keywords: InRadar, PlatformOnly, Regression
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows 7   
Bug Depends on:    
Bug Blocks: 38756    
Attachments:
Description Flags
Make Port subclasses override the operating_system method rather than setting an attribute eric: review+

Adam Roben (:aroben)
Reported 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']
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+
Adam Roben (:aroben)
Comment 1 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.
Radar WebKit Bug Importer
Comment 2 2012-01-03 11:00:21 PST
Adam Roben (:aroben)
Comment 3 2012-01-03 11:36:02 PST
Created attachment 120972 [details] Make Port subclasses override the operating_system method rather than setting an attribute
Eric Seidel (no email)
Comment 4 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.
Eric Seidel (no email)
Comment 5 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. :)
Adam Roben (:aroben)
Comment 6 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.
Adam Roben (:aroben)
Comment 7 2012-01-03 11:56:32 PST
Note You need to log in before you can comment on or make changes to this bug.