Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Unified Diff: webkit/tools/layout_tests/layout_package/platform_utils_linux.py

Issue 545145: Move the layout test scripts into a 'webkitpy' subdirectory in preparation... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: try to de-confuse svn and the try bots Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/tools/layout_tests/layout_package/platform_utils_linux.py
===================================================================
--- webkit/tools/layout_tests/layout_package/platform_utils_linux.py (revision 36724)
+++ webkit/tools/layout_tests/layout_package/platform_utils_linux.py (working copy)
@@ -1,223 +0,0 @@
-# Copyright (c) 2008-2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""This is the Linux implementation of the layout_package.platform_utils
- package. This file should only be imported by that package."""
-
-import os
-import signal
-import subprocess
-import sys
-import logging
-
-import path_utils
-import platform_utils_win
-
-
-def PlatformName():
- """Returns the name of the platform we're currently running on."""
- return 'chromium-linux' + PlatformVersion()
-
-
-def PlatformVersion():
- """Returns the version string for the platform, e.g. '-vista' or
- '-snowleopard'. If the platform does not distinguish between
- minor versions, it returns ''."""
- return ''
-
-
-def GetNumCores():
- """Returns the number of cores on the machine. For hyperthreaded machines,
- this will be double the number of actual processors."""
- num_cores = os.sysconf("SC_NPROCESSORS_ONLN")
- if isinstance(num_cores, int) and num_cores > 0:
- return num_cores
- return 1
-
-
-def BaselinePath(platform=None):
- """Returns the path relative to the top of the source tree for the
- baselines for the specified platform version. If |platform| is None,
- then the version currently in use is used."""
- if platform is None:
- platform = PlatformName()
- return path_utils.PathFromBase('webkit', 'data', 'layout_tests',
- 'platform', platform, 'LayoutTests')
-
-
-def BaselineSearchPath(platform=None):
- """Returns the list of directories to search for baselines/results, in
- order of preference. Paths are relative to the top of the source tree."""
- return [BaselinePath(platform),
- platform_utils_win.BaselinePath('chromium-win'),
- path_utils.WebKitBaselinePath('win'),
- path_utils.WebKitBaselinePath('mac')]
-
-
-def ApacheExecutablePath():
- """Returns the executable path to start Apache"""
- path = os.path.join("/usr", "sbin", "apache2")
- if os.path.exists(path):
- return path
- print "Unable to fine Apache executable %s" % path
- _MissingApache()
-
-
-def ApacheConfigFilePath():
- """Returns the path to Apache config file"""
- return path_utils.PathFromBase("third_party", "WebKit", "LayoutTests",
- "http", "conf", "apache2-debian-httpd.conf")
-
-
-def LigHTTPdExecutablePath():
- """Returns the executable path to start LigHTTPd"""
- binpath = "/usr/sbin/lighttpd"
- if os.path.exists(binpath):
- return binpath
- print "Unable to find LigHTTPd executable %s" % binpath
- _MissingLigHTTPd()
-
-
-def LigHTTPdModulePath():
- """Returns the library module path for LigHTTPd"""
- modpath = "/usr/lib/lighttpd"
- if os.path.exists(modpath):
- return modpath
- print "Unable to find LigHTTPd modules %s" % modpath
- _MissingLigHTTPd()
-
-
-def LigHTTPdPHPPath():
- """Returns the PHP executable path for LigHTTPd"""
- binpath = "/usr/bin/php-cgi"
- if os.path.exists(binpath):
- return binpath
- print "Unable to find PHP CGI executable %s" % binpath
- _MissingLigHTTPd()
-
-
-def WDiffPath():
- """Path to the WDiff executable, which we assume is already installed and
- in the user's $PATH."""
- return 'wdiff'
-
-
-def ImageDiffPath(target):
- """Path to the image_diff binary.
-
- Args:
- target: Build target mode (debug or release)"""
- return _PathFromBuildResults(target, 'image_diff')
-
-
-def LayoutTestHelperPath(target):
- """Path to the layout_test helper binary, if needed, empty otherwise"""
- return ''
-
-
-def TestShellPath(target):
- """Return the platform-specific binary path for our TestShell.
-
- Args:
- target: Build target mode (debug or release) """
- if target in ('Debug', 'Release'):
- try:
- debug_path = _PathFromBuildResults('Debug', 'test_shell')
- release_path = _PathFromBuildResults('Release', 'test_shell')
-
- debug_mtime = os.stat(debug_path).st_mtime
- release_mtime = os.stat(release_path).st_mtime
-
- if debug_mtime > release_mtime and target == 'Release' or \
- release_mtime > debug_mtime and target == 'Debug':
- logging.info('\x1b[31mWarning: you are not running the most '
- 'recent test_shell binary. You need to pass '
- '--debug or not to select between Debug and '
- 'Release.\x1b[0m')
- # This will fail if we don't have both a debug and release binary.
- # That's fine because, in this case, we must already be running the
- # most up-to-date one.
- except path_utils.PathNotFound:
- pass
-
- return _PathFromBuildResults(target, 'test_shell')
-
-
-def FuzzyMatchPath():
- """Return the path to the fuzzy matcher binary."""
- return path_utils.PathFromBase('third_party', 'fuzzymatch', 'fuzzymatch')
-
-
-def ShutDownHTTPServer(server_pid):
- """Shut down the lighttpd web server. Blocks until it's fully shut down.
-
- Args:
- server_pid: The process ID of the running server.
- """
- # server_pid is not set when "http_server.py stop" is run manually.
- if server_pid is None:
- # This isn't ideal, since it could conflict with web server processes
- # not started by http_server.py, but good enough for now.
- KillAllProcess('lighttpd')
- KillAllProcess('apache2')
- else:
- try:
- os.kill(server_pid, signal.SIGTERM)
- #TODO(mmoss) Maybe throw in a SIGKILL just to be sure?
- except OSError:
- # Sometimes we get a bad PID (e.g. from a stale httpd.pid file),
- # so if kill fails on the given PID, just try to 'killall' web
- # servers.
- ShutDownHTTPServer(None)
-
-
-def KillProcess(pid):
- """Forcefully kill the process.
-
- Args:
- pid: The id of the process to be killed.
- """
- os.kill(pid, signal.SIGKILL)
-
-
-def KillAllProcess(process_name):
- null = open(os.devnull)
- subprocess.call(['killall', '-TERM', '-u', os.getenv('USER'),
- process_name], stderr=null)
- null.close()
-
-
-def KillAllTestShells():
- """Kills all instances of the test_shell binary currently running."""
- KillAllProcess('test_shell')
-
-#
-# Private helper functions
-#
-
-
-def _MissingLigHTTPd():
- print 'Please install using: "sudo apt-get install lighttpd php5-cgi"'
- print 'For complete Linux build requirements, please see:'
- print 'http://code.google.com/p/chromium/wiki/LinuxBuildInstructions'
- sys.exit(1)
-
-
-def _MissingApache():
- print ('Please install using: "sudo apt-get install apache2 '
- 'libapache2-mod-php5"')
- print 'For complete Linux build requirements, please see:'
- print 'http://code.google.com/p/chromium/wiki/LinuxBuildInstructions'
- sys.exit(1)
-
-
-def _PathFromBuildResults(*pathies):
- # FIXME(dkegel): use latest or warn if more than one found?
- for dir in ["sconsbuild", "out", "xcodebuild"]:
- try:
- return path_utils.PathFromBase(dir, *pathies)
- except:
- pass
- raise path_utils.PathNotFound("Unable to find %s in build tree" %
- (os.path.join(*pathies)))

Powered by Google App Engine
This is Rietveld 408576698