diff options
author | kkania@google.com <kkania@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-28 17:52:29 +0000 |
---|---|---|
committer | kkania@google.com <kkania@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-28 17:52:29 +0000 |
commit | 2fc1fd823115b870aaa1f2dbe3e308737b7ae44b (patch) | |
tree | 61ccc4deb315f84fd9949c68263531c6e09cb2c4 /o3d/tests | |
parent | c56002eb52bc8faf000949fbc0b83c08aca36e58 (diff) | |
download | chromium_src-2fc1fd823115b870aaa1f2dbe3e308737b7ae44b.zip chromium_src-2fc1fd823115b870aaa1f2dbe3e308737b7ae44b.tar.gz chromium_src-2fc1fd823115b870aaa1f2dbe3e308737b7ae44b.tar.bz2 |
Change from absolute paths to relative paths to allow tests,etc. to be located in any directory, as long as the directory structure is maintained.
Review URL: http://codereview.chromium.org/344013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30359 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/tests')
-rw-r--r-- | o3d/tests/lab/run_lab_test.py | 27 | ||||
-rw-r--r-- | o3d/tests/lab/runner_constants.py | 191 | ||||
-rw-r--r-- | o3d/tests/lab/runner_util.py | 8 |
3 files changed, 112 insertions, 114 deletions
diff --git a/o3d/tests/lab/run_lab_test.py b/o3d/tests/lab/run_lab_test.py index 028c61a..aa795c5 100644 --- a/o3d/tests/lab/run_lab_test.py +++ b/o3d/tests/lab/run_lab_test.py @@ -62,22 +62,21 @@ SCREEN_BPP = 32 join = os.path.join if util.IsWindows(): - IMAGE_DIFF_PATH = join(const.O3D_PATH, 'third_party', 'pdiff', 'files', + IMAGE_DIFF_PATH = join(const.BASE_PATH, 'third_party', 'pdiff', 'files', 'bin', 'win', 'perceptualdiff.exe') elif util.IsMac(): - IMAGE_DIFF_PATH = join(const.O3D_PATH, 'third_party', 'pdiff', 'files', + IMAGE_DIFF_PATH = join(const.BASE_PATH, 'third_party', 'pdiff', 'files', 'bin', 'mac', 'perceptualdiff') else: - IMAGE_DIFF_PATH = join(const.O3D_PATH, 'third_party', 'pdiff', 'files', + IMAGE_DIFF_PATH = join(const.BASE_PATH, 'third_party', 'pdiff', 'files', 'bin', 'linux', 'perceptualdiff') -SELENIUM_TEST_RUNNER_PATH = join(const.O3D_PATH, 'o3d', 'tests', 'selenium', - 'main.py') +SELENIUM_TEST_RUNNER_PATH = join(const.TEST_PATH, 'selenium', 'main.py') -SELENIUM_JAR_PATH = join(const.O3D_PATH, 'third_party', 'selenium_rc', 'files', +SELENIUM_JAR_PATH = join(const.BASE_PATH, 'third_party', 'selenium_rc', 'files', 'selenium-server', 'selenium-server.jar') -O3D_REFERENCE_IMAGES_PATH = join(const.O3D_PATH, 'o3d', 'o3d_assets', 'tests', +O3D_REFERENCE_IMAGES_PATH = join(const.O3D_PATH, 'o3d_assets', 'tests', 'screenshots') SCREENSHOTS_PATH = join(const.RESULTS_PATH,'screenshots') @@ -193,23 +192,17 @@ def RunTest(browser): Returns: True on success. """ - # Run selenium test. - os.chdir(const.AUTO_PATH) - if util.IsWindows(): if not run_util.EnsureWindowsScreenResolution(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP): - logging.error('Failed to configure screen resolution.') - return 1 + logging.warn('Could not detect/change screen resolution.') - - # Clear all screenshots. logging.info('** Deleting previous screenshots.') if os.path.exists(SCREENSHOTS_PATH): shutil.rmtree(SCREENSHOTS_PATH) - - os.makedirs(SCREENSHOTS_PATH) + + os.makedirs(SCREENSHOTS_PATH) logging.info('** Running selenium tests...') @@ -263,7 +256,7 @@ def main(argv): config_path = argv[1] else: # Use default config file. - config_path = os.path.join(const.HOME_PATH, 'test_config.txt') + config_path = os.path.join(const.HOME, 'test_config.txt') # Uninstall/Install plugin. if not run_util.UninstallO3DPlugin(): diff --git a/o3d/tests/lab/runner_constants.py b/o3d/tests/lab/runner_constants.py index c0e2d0d..697a7d5 100644 --- a/o3d/tests/lab/runner_constants.py +++ b/o3d/tests/lab/runner_constants.py @@ -1,94 +1,97 @@ -#!/usr/bin/python2.6.2
-# Copyright 2009, 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.
-
-
-"""Defines common O3D test runner constants.
-
-"""
-
-import os
-import sys
-
-import util
-
-join = os.path.join
-
-if util.IsWindows():
- AUTO_PATH = r'C:\auto'
- PYTHON = r'C:\Python24\python.exe'
- if util.IsXP():
- HOME_PATH = r'C:\Documents and Settings\testing'
- else:
- HOME_PATH = r'C:\Users\testing'
-
-elif util.IsMac():
- AUTO_PATH = '/Users/testing/auto'
- PYTHON = 'python'
- HOME_PATH = '/Users/testing'
-
-elif util.IsLinux():
- AUTO_PATH = '/home/testing/auto'
- PYTHON = 'python'
- HOME_PATH = '/home/testing'
-
-else:
- print 'Only Windows, Mac, and Linux are supported.'
- sys.exit(1)
-
-O3D_PATH = join(AUTO_PATH, 'o3d')
-SCRIPTS_PATH = join(AUTO_PATH, 'scripts')
-RESULTS_PATH = join(AUTO_PATH, 'results')
-SOFTWARE_PATH = join(AUTO_PATH, 'software')
-
-# Build directories.
-if util.IsWindows():
- BUILD_PATH = join(O3D_PATH, 'o3d', 'build')
-elif util.IsMac():
- BUILD_PATH = join(O3D_PATH, 'xcodebuild')
-else:
- BUILD_PATH = join(O3D_PATH, 'sconsbuild')
-
-if os.path.exists(join(BUILD_PATH, 'Debug')):
- PRODUCT_DIR_PATH = join(BUILD_PATH, 'Debug')
-else:
- PRODUCT_DIR_PATH = join(BUILD_PATH, 'Release')
-
-# Plugin locations.
-INSTALL_PATHS = []
-if util.IsWindows():
- INSTALL_PATHS += [join(HOME_PATH, 'Application Data', 'Mozilla',
- 'plugins', 'npo3dautoplugin.dll')]
- INSTALL_PATHS += [join(HOME_PATH, 'Application Data', 'Google', 'O3D',
- 'o3d_host.dll')]
-elif util.IsMac():
- INSTALL_PATHS += ['/Library/Internet Plug-Ins/O3D.plugin']
-else:
- INSTALL_PATHS += [join(HOME_PATH, '.mozilla', 'plugins',
- 'libnpo3dautoplugin.so')]
+#!/usr/bin/python2.6.2 +# Copyright 2009, 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. + + +"""Defines common O3D test runner constants. This file determines paths to +other O3D components relatively, so it must be placed in the right location. + +""" + +import os +import sys + +import util + +join = os.path.join + +# Make sure OS is supported. +if not util.IsWindows() and not util.IsMac() and not util.IsLinux(): + print 'Only Windows, Mac, and Linux are supported.' + sys.exit(1) + +# This path should be root/o3d/tests. +TEST_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +# This path should be root/o3d. +O3D_PATH = os.path.dirname(TEST_PATH) +# This path should be root, i.e., the checkout location. +BASE_PATH = os.path.dirname(O3D_PATH) + + +HOME = os.path.expanduser('~') +if HOME == '~': + print 'Cannot find user home directory.' + sys.exit(1) + +if util.IsWindows(): + PYTHON = r'C:\Python24\python.exe' +else: + PYTHON = 'python' + +# Note: this path may or may not exist. +RESULTS_PATH = join(TEST_PATH, 'results') + +# Build directories. +if util.IsWindows(): + BUILD_PATH = join(O3D_PATH, 'build') +elif util.IsMac(): + BUILD_PATH = join(BASE_PATH, 'xcodebuild') +else: + BUILD_PATH = join(BASE_PATH, 'sconsbuild') + +if os.path.exists(join(BUILD_PATH, 'Debug')): + PRODUCT_DIR_PATH = join(BUILD_PATH, 'Debug') +elif os.path.exists(join(BUILD_PATH, 'Release')): + PRODUCT_DIR_PATH = join(BUILD_PATH, 'Release') +else: + print 'Cannot find Debug or Release folder in ' + BUILD_PATH + sys.exit(1) + +# Plugin locations. +INSTALL_PATHS = [] +if util.IsWindows(): + INSTALL_PATHS += [join(HOME, 'Application Data', 'Mozilla', + 'plugins', 'npo3dautoplugin.dll')] + INSTALL_PATHS += [join(HOME, 'Application Data', 'Google', 'O3D', + 'o3d_host.dll')] +elif util.IsMac(): + INSTALL_PATHS += ['/Library/Internet Plug-Ins/O3D.plugin'] +else: + INSTALL_PATHS += [join(HOME, '.mozilla', 'plugins', + 'libnpo3dautoplugin.so')] diff --git a/o3d/tests/lab/runner_util.py b/o3d/tests/lab/runner_util.py index 46bd32e..46a9ba7 100644 --- a/o3d/tests/lab/runner_util.py +++ b/o3d/tests/lab/runner_util.py @@ -42,8 +42,9 @@ import sys import runner_constants as const import util -CHANGE_RESOLUTION_PATH = (const.O3D_PATH + '/o3d/tests/lab' - '/ChangeResolution/Debug/changeresolution.exe') +CHANGE_RESOLUTION_PATH = os.path.join(const.TEST_PATH, 'lab', + 'ChangeResolution','Debug', + 'changeresolution.exe') def EnsureWindowsScreenResolution(width, height, bpp): """Performs all steps needed to configure system for testing on Windows. @@ -55,7 +56,8 @@ def EnsureWindowsScreenResolution(width, height, bpp): Returns: True on success. """ - + if not os.path.exists(CHANGE_RESOLUTION_PATH): + return False command = 'call "%s" %d %d %d' % (CHANGE_RESOLUTION_PATH, width, height, bpp) |