Title: [100421] trunk/Tools
- Revision
- 100421
- Author
- e...@webkit.org
- Date
- 2011-11-16 00:41:36 -0800 (Wed, 16 Nov 2011)
Log Message
check-webkit-style broken by r99773: "Could not determine the port"
https://bugs.webkit.org/show_bug.cgi?id=72275
Reviewed by Adam Barth.
Engage windows hacks harder.
This is a speculative fix for ChromiumWin. We're now
creating an SCM object much earlier, so we need to
engage our "awesome" windows hacks earlier.
* Scripts/webkitpy/common/host.py:
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (100420 => 100421)
--- trunk/Tools/ChangeLog 2011-11-16 08:16:42 UTC (rev 100420)
+++ trunk/Tools/ChangeLog 2011-11-16 08:41:36 UTC (rev 100421)
@@ -1,3 +1,19 @@
+2011-11-16 Eric Seidel <e...@webkit.org>
+
+ check-webkit-style broken by r99773: "Could not determine the port"
+ https://bugs.webkit.org/show_bug.cgi?id=72275
+
+ Reviewed by Adam Barth.
+
+ Engage windows hacks harder.
+
+ This is a speculative fix for ChromiumWin. We're now
+ creating an SCM object much earlier, so we need to
+ engage our "awesome" windows hacks earlier.
+
+ * Scripts/webkitpy/common/host.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+
2011-11-15 Darin Adler <da...@apple.com>
DRT's uiElementAttributeValueCallback function is leaky
Modified: trunk/Tools/Scripts/webkitpy/common/host.py (100420 => 100421)
--- trunk/Tools/Scripts/webkitpy/common/host.py 2011-11-16 08:16:42 UTC (rev 100420)
+++ trunk/Tools/Scripts/webkitpy/common/host.py 2011-11-16 08:41:36 UTC (rev 100421)
@@ -27,6 +27,8 @@
# (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 logging
+import sys
from webkitpy.common.checkout import Checkout
from webkitpy.common.checkout.scm import default_scm
@@ -38,6 +40,9 @@
from webkitpy.layout_tests.port.factory import PortFactory
+_log = logging.getLogger(__name__)
+
+
class Host(object):
def __init__(self):
# These basic environment abstractions should be a separate lower-level object.
@@ -63,7 +68,35 @@
# FIXME: PortFactory doesn't belong on this Host object if Port is going to have a Host (circular dependency).
self.port_factory = PortFactory(self)
+ # FIXME: This is a horrible, horrible hack for ChromiumWin and should be removed.
+ # Maybe this belongs in SVN in some more generic "find the svn binary" codepath?
+ # Or possibly Executive should have a way to emulate shell path-lookups?
+ def _engage_awesome_windows_hacks(self):
+ if sys.platform != "win32":
+ return
+ try:
+ self._executive.run_command(['svn', 'help'])
+ except OSError, e:
+ try:
+ self._executive.run_command(['svn.bat', 'help'])
+ # Chromium Win uses the depot_tools package, which contains a number
+ # of development tools, including Python and svn. Instead of using a
+ # real svn executable, depot_tools indirects via a batch file, called
+ # svn.bat. This batch file allows depot_tools to auto-update the real
+ # svn executable, which is contained in a subdirectory.
+ #
+ # That's all fine and good, except that subprocess.popen can detect
+ # the difference between a real svn executable and batch file when we
+ # don't provide use shell=True. Rather than use shell=True on Windows,
+ # We hack the svn.bat name into the SVN class.
+ _log.debug('Engaging svn.bat Windows hack.')
+ from webkitpy.common.checkout.scm.svn import SVN
+ SVN.executable_name = 'svn.bat'
+ except OSError, e:
+ _log.debug('Failed to engage svn.bat Windows hack.')
+
def _initialize_scm(self, patch_directories=None):
+ self._engage_awesome_windows_hacks()
self._scm = default_scm(patch_directories)
self._checkout = Checkout(self.scm())
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py (100420 => 100421)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py 2011-11-16 08:16:42 UTC (rev 100420)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py 2011-11-16 08:41:36 UTC (rev 100421)
@@ -95,31 +95,7 @@
self._version = port_name[port_name.index('-win-') + len('-win-'):]
assert self._version in self.SUPPORTED_VERSIONS, "%s is not in %s" % (self._version, self.SUPPORTED_VERSIONS)
self._operating_system = 'win'
- self._engage_awesome_windows_hacks()
- def _engage_awesome_windows_hacks(self):
- if sys.platform != "win32":
- return
- try:
- self._executive.run_command(['svn', 'help'])
- except OSError, e:
- try:
- self._executive.run_command(['svn.bat', 'help'])
- # Chromium Win uses the depot_tools package, which contains a number
- # of development tools, including Python and svn. Instead of using a
- # real svn executable, depot_tools indirects via a batch file, called
- # svn.bat. This batch file allows depot_tools to auto-update the real
- # svn executable, which is contained in a subdirectory.
- #
- # That's all fine and good, except that subprocess.popen can detect
- # the difference between a real svn executable and batch file when we
- # don't provide use shell=True. Rather than use shell=True on Windows,
- # We hack the svn.bat name into the SVN class.
- _log.debug('Engaging svn.bat Windows hack.')
- from webkitpy.common.checkout.scm.svn import SVN
- SVN.executable_name = 'svn.bat'
- except OSError, e:
- _log.debug('Failed to engage svn.bat Windows hack.')
def setup_environ_for_server(self, server_name=None):
env = chromium.ChromiumPort.setup_environ_for_server(self)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes