summaryrefslogtreecommitdiffstats
path: root/o3d/tests
diff options
context:
space:
mode:
authorkkania@google.com <kkania@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-28 17:52:29 +0000
committerkkania@google.com <kkania@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-28 17:52:29 +0000
commit2fc1fd823115b870aaa1f2dbe3e308737b7ae44b (patch)
tree61ccc4deb315f84fd9949c68263531c6e09cb2c4 /o3d/tests
parentc56002eb52bc8faf000949fbc0b83c08aca36e58 (diff)
downloadchromium_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.py27
-rw-r--r--o3d/tests/lab/runner_constants.py191
-rw-r--r--o3d/tests/lab/runner_util.py8
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)