Diff
Modified: trunk/Tools/ChangeLog (99325 => 99326)
--- trunk/Tools/ChangeLog 2011-11-04 22:01:07 UTC (rev 99325)
+++ trunk/Tools/ChangeLog 2011-11-04 22:09:06 UTC (rev 99326)
@@ -1,3 +1,20 @@
+2011-11-04 Eric Seidel <[email protected]>
+
+ new-run-webkit-tests autoinstalls python-irclib even though it doesn't need to
+ https://bugs.webkit.org/show_bug.cgi?id=71549
+
+ Reviewed by Adam Barth.
+
+ Several members of Host didn't really belong there
+ and were instead specific to WebKitPatch, so I've moved
+ them up onto that class.
+
+ * Scripts/webkitpy/common/host.py:
+ * Scripts/webkitpy/common/host_mock.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/runtests_unittest.py:
+
2011-11-04 Tony Chang <[email protected]>
garden-o-matic: bring back party time!
Modified: trunk/Tools/Scripts/webkitpy/common/host.py (99325 => 99326)
--- trunk/Tools/Scripts/webkitpy/common/host.py 2011-11-04 22:01:07 UTC (rev 99325)
+++ trunk/Tools/Scripts/webkitpy/common/host.py 2011-11-04 22:09:06 UTC (rev 99326)
@@ -30,11 +30,9 @@
from webkitpy.common.checkout import Checkout
from webkitpy.common.checkout.scm import default_scm
-from webkitpy.common.config.ports import WebKitPort
from webkitpy.common.memoized import memoized
-from webkitpy.common.net import bugzilla, buildbot, statusserver, web
+from webkitpy.common.net import bugzilla, buildbot, web
from webkitpy.common.net.buildbot.chromiumbuildbot import ChromiumBuildBot
-from webkitpy.common.net.irc import ircproxy
from webkitpy.common.system import executive, filesystem, platforminfo, user, workspace
from webkitpy.common.watchlist.watchlistloader import WatchListLoader
from webkitpy.layout_tests.port.factory import PortFactory
@@ -59,11 +57,6 @@
self.bugs = bugzilla.Bugzilla()
self.buildbot = buildbot.BuildBot()
- self._irc = None
- self._port = None
-
- self.status_server = statusserver.StatusServer()
-
# FIXME: Unfortunately Port objects are currently the central-dispatch objects of the NRWT world.
# In order to instantiate a port correctly, we have to pass it at least an executive, user, scm, and filesystem
# so for now we just pass along the whole Host object.
@@ -79,9 +72,6 @@
def checkout(self):
return self._checkout
- def port(self):
- return self._port
-
@memoized
def chromium_buildbot(self):
return ChromiumBuildBot()
@@ -89,17 +79,3 @@
@memoized
def watch_list(self):
return WatchListLoader(self.filesystem).load()
-
- def ensure_irc_connected(self, irc_delegate):
- if not self._irc:
- self._irc = ircproxy.IRCProxy(irc_delegate)
-
- def irc(self):
- # We don't automatically construct IRCProxy here because constructing
- # IRCProxy actually connects to IRC. We want clients to explicitly
- # connect to IRC.
- return self._irc
-
- def command_completed(self):
- if self._irc:
- self._irc.disconnect()
Modified: trunk/Tools/Scripts/webkitpy/common/host_mock.py (99325 => 99326)
--- trunk/Tools/Scripts/webkitpy/common/host_mock.py 2011-11-04 22:01:07 UTC (rev 99325)
+++ trunk/Tools/Scripts/webkitpy/common/host_mock.py 2011-11-04 22:09:06 UTC (rev 99326)
@@ -26,24 +26,19 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-import threading
-
+from webkitpy.common.checkout.checkout_mock import MockCheckout
+from webkitpy.common.checkout.scm.scm_mock import MockSCM
from webkitpy.common.net.bugzilla.bugzilla_mock import MockBugzilla
-from webkitpy.common.net.statusserver_mock import MockStatusServer
from webkitpy.common.net.buildbot.buildbot_mock import MockBuildBot
+from webkitpy.common.net.web_mock import MockWeb
from webkitpy.common.system.executive_mock import MockExecutive
-from webkitpy.common.system.user_mock import MockUser
from webkitpy.common.system.filesystem_mock import MockFileSystem
from webkitpy.common.system.platforminfo_mock import MockPlatformInfo
+from webkitpy.common.system.user_mock import MockUser
from webkitpy.common.system.workspace_mock import MockWorkspace
-from webkitpy.common.net.web_mock import MockWeb
-from webkitpy.common.net.irc.irc_mock import MockIRC
-from webkitpy.common.checkout.checkout_mock import MockCheckout
-from webkitpy.common.checkout.scm.scm_mock import MockSCM
from webkitpy.common.watchlist.watchlist_mock import MockWatchList
-# FIXME: Old-style "Ports" need to die and be replaced by modern layout_tests.port which needs to move to common.
-from webkitpy.common.config.ports_mock import MockPort
+# New-style ports need to move down into webkitpy.common.
from webkitpy.layout_tests.port.factory import PortFactory
@@ -64,13 +59,7 @@
self.bugs = MockBugzilla()
self.buildbot = MockBuildBot()
self._chromium_buildbot = MockBuildBot()
- self.status_server = MockStatusServer()
- self._irc = None
- self.irc_password = "MOCK irc password"
- self.wakeup_event = threading.Event()
-
- self._port = MockPort()
# Note: We're using a real PortFactory here. Tests which don't wish to depend
# on the list of known ports should override this with a MockPortFactory.
self.port_factory = PortFactory(self)
@@ -83,18 +72,9 @@
def checkout(self):
return self._checkout
- def port(self):
- return self._port
-
def chromium_buildbot(self):
return self._chromium_buildbot
def watch_list(self):
return self._watch_list
- def ensure_irc_connected(self, delegate):
- if not self._irc:
- self._irc = MockIRC()
-
- def irc(self):
- return self._irc
Modified: trunk/Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py (99325 => 99326)
--- trunk/Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py 2011-11-04 22:01:07 UTC (rev 99325)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py 2011-11-04 22:09:06 UTC (rev 99326)
@@ -51,7 +51,7 @@
def begin_work_queue(self):
# FIXME: This violates abstraction
- self._tool._port = self.port
+ self._tool._deprecated_port = self.port
AbstractReviewQueue.begin_work_queue(self)
self._expected_failures = ExpectedFailures()
self._layout_test_results_reader = LayoutTestResultsReader(self._tool, self._log_directory())
Modified: trunk/Tools/Scripts/webkitpy/tool/main.py (99325 => 99326)
--- trunk/Tools/Scripts/webkitpy/tool/main.py 2011-11-04 22:01:07 UTC (rev 99325)
+++ trunk/Tools/Scripts/webkitpy/tool/main.py 2011-11-04 22:09:06 UTC (rev 99326)
@@ -35,6 +35,8 @@
from webkitpy.common.config.ports import WebKitPort
from webkitpy.common.host import Host
+from webkitpy.common.net.irc import ircproxy
+from webkitpy.common.net.statusserver import StatusServer
from webkitpy.tool.multicommandtool import MultiCommandTool
from webkitpy.tool import commands
@@ -53,13 +55,33 @@
def __init__(self, path):
MultiCommandTool.__init__(self)
Host.__init__(self)
+ self._path = path
+ self.status_server = StatusServer()
- self._path = path
self.wakeup_event = threading.Event()
+ self._irc = None
+ self._deprecated_port = None
+ def port(self):
+ return self._deprecated_port
+
def path(self):
return self._path
+ def ensure_irc_connected(self, irc_delegate):
+ if not self._irc:
+ self._irc = ircproxy.IRCProxy(irc_delegate)
+
+ def irc(self):
+ # We don't automatically construct IRCProxy here because constructing
+ # IRCProxy actually connects to IRC. We want clients to explicitly
+ # connect to IRC.
+ return self._irc
+
+ def command_completed(self):
+ if self._irc:
+ self._irc.disconnect()
+
def should_show_in_main_help(self, command):
if not command.show_in_main_help:
return False
@@ -80,7 +102,7 @@
if options.irc_password:
self.irc_password = options.irc_password
# If options.port is None, we'll get the default port for this platform.
- self._port = WebKitPort.port(options.port)
+ self._deprecated_port = WebKitPort.port(options.port)
def should_execute_command(self, command):
if command.requires_local_commits and not self.scm().supports_local_commits():
Modified: trunk/Tools/Scripts/webkitpy/tool/mocktool.py (99325 => 99326)
--- trunk/Tools/Scripts/webkitpy/tool/mocktool.py 2011-11-04 22:01:07 UTC (rev 99325)
+++ trunk/Tools/Scripts/webkitpy/tool/mocktool.py 2011-11-04 22:09:06 UTC (rev 99326)
@@ -26,10 +26,18 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+import threading
from webkitpy.common.host_mock import MockHost
+from webkitpy.common.net.statusserver_mock import MockStatusServer
+from webkitpy.common.net.irc.irc_mock import MockIRC
+# FIXME: Old-style "Ports" need to die and be replaced by modern layout_tests.port which needs to move to common.
+from webkitpy.common.config.ports_mock import MockPort
+
+# FIXME: This should be moved somewhere in common and renamed
+# something without Mock in the name.
class MockOptions(object):
"""Mock implementation of optparse.Values."""
@@ -43,6 +51,27 @@
self.__dict__[key] = value
+# FIXME: This should be renamed MockWebKitPatch.
class MockTool(MockHost):
+ def __init__(self, *args, **kwargs):
+ MockHost.__init__(self, *args, **kwargs)
+
+ self._deprecated_port = MockPort()
+ self.status_server = MockStatusServer()
+
+ self._irc = None
+ self.irc_password = "MOCK irc password"
+ self.wakeup_event = threading.Event()
+
+ def port(self):
+ return self._deprecated_port
+
def path(self):
return "echo"
+
+ def ensure_irc_connected(self, delegate):
+ if not self._irc:
+ self._irc = MockIRC()
+
+ def irc(self):
+ return self._irc
Modified: trunk/Tools/Scripts/webkitpy/tool/steps/runtests_unittest.py (99325 => 99326)
--- trunk/Tools/Scripts/webkitpy/tool/steps/runtests_unittest.py 2011-11-04 22:01:07 UTC (rev 99325)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/runtests_unittest.py 2011-11-04 22:09:06 UTC (rev 99326)
@@ -35,8 +35,8 @@
class RunTestsTest(unittest.TestCase):
def test_no_unit_tests(self):
tool = MockTool()
- tool._port.run_python_unittests_command = lambda: None
- tool._port.run_perl_unittests_command = lambda: None
+ tool._deprecated_port.run_python_unittests_command = lambda: None
+ tool._deprecated_port.run_perl_unittests_command = lambda: None
step = RunTests(tool, MockOptions(test=True, non_interactive=True, quiet=False))
expected_stderr = """Running _javascript_Core tests
Running run-webkit-tests