diff options
Diffstat (limited to 'WebKitTools/Scripts/webkitpy/layout_tests/port/factory.py')
-rw-r--r-- | WebKitTools/Scripts/webkitpy/layout_tests/port/factory.py | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/port/factory.py b/WebKitTools/Scripts/webkitpy/layout_tests/port/factory.py deleted file mode 100644 index 6935744..0000000 --- a/WebKitTools/Scripts/webkitpy/layout_tests/port/factory.py +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/env python -# Copyright (C) 2010 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -"""Factory method to retrieve the appropriate port implementation.""" - - -import sys - -ALL_PORT_NAMES = ['test', 'dryrun', 'mac', 'win', 'gtk', 'qt', 'chromium-mac', - 'chromium-linux', 'chromium-win', 'google-chrome-win', - 'google-chrome-mac', 'google-chrome-linux32', 'google-chrome-linux64'] - - -def get(port_name=None, options=None, **kwargs): - """Returns an object implementing the Port interface. If - port_name is None, this routine attempts to guess at the most - appropriate port on this platform.""" - # Wrapped for backwards-compatibility - if port_name: - kwargs['port_name'] = port_name - if options: - kwargs['options'] = options - return _get_kwargs(**kwargs) - - -def _get_kwargs(**kwargs): - port_to_use = kwargs.get('port_name', None) - options = kwargs.get('options', None) - if port_to_use is None: - if sys.platform == 'win32' or sys.platform == 'cygwin': - if options and hasattr(options, 'chromium') and options.chromium: - port_to_use = 'chromium-win' - else: - port_to_use = 'win' - elif sys.platform == 'linux2': - port_to_use = 'chromium-linux' - elif sys.platform == 'darwin': - if options and hasattr(options, 'chromium') and options.chromium: - port_to_use = 'chromium-mac' - else: - port_to_use = 'mac' - - if port_to_use is None: - raise NotImplementedError('unknown port; sys.platform = "%s"' % - sys.platform) - - if port_to_use == 'test': - import test - maker = test.TestPort - elif port_to_use.startswith('dryrun'): - import dryrun - maker = dryrun.DryRunPort - elif port_to_use.startswith('mac'): - import mac - maker = mac.MacPort - elif port_to_use.startswith('win'): - import win - maker = win.WinPort - elif port_to_use.startswith('gtk'): - import gtk - maker = gtk.GtkPort - elif port_to_use.startswith('qt'): - import qt - maker = qt.QtPort - elif port_to_use.startswith('chromium-gpu'): - import chromium_gpu - maker = chromium_gpu.get - elif port_to_use.startswith('chromium-mac'): - import chromium_mac - maker = chromium_mac.ChromiumMacPort - elif port_to_use.startswith('chromium-linux'): - import chromium_linux - maker = chromium_linux.ChromiumLinuxPort - elif port_to_use.startswith('chromium-win'): - import chromium_win - maker = chromium_win.ChromiumWinPort - elif port_to_use.startswith('google-chrome'): - import google_chrome - maker = google_chrome.GetGoogleChromePort - else: - raise NotImplementedError('unsupported port: %s' % port_to_use) - return maker(**kwargs) - -def get_all(options=None): - """Returns all the objects implementing the Port interface.""" - return dict([(port_name, get(port_name, options=options)) - for port_name in ALL_PORT_NAMES]) |