| Index: chrome/test/functional/pyauto_functional.py
|
| ===================================================================
|
| --- chrome/test/functional/pyauto_functional.py (revision 261231)
|
| +++ chrome/test/functional/pyauto_functional.py (working copy)
|
| @@ -1,123 +0,0 @@
|
| -#!/usr/bin/env python
|
| -# Copyright (c) 2012 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.
|
| -
|
| -"""Setup for PyAuto functional tests.
|
| -
|
| -Use the following in your scripts to run them standalone:
|
| -
|
| -# This should be at the top
|
| -import pyauto_functional
|
| -
|
| -if __name__ == '__main__':
|
| - pyauto_functional.Main()
|
| -
|
| -This script can be used as an executable to fire off other scripts, similar
|
| -to unittest.py
|
| - python pyauto_functional.py test_script
|
| -"""
|
| -
|
| -import os
|
| -import subprocess
|
| -import sys
|
| -
|
| -
|
| -def _LocatePyAutoDir():
|
| - sys.path.append(os.path.join(os.path.dirname(__file__),
|
| - os.pardir, 'pyautolib'))
|
| -
|
| -
|
| -_LocatePyAutoDir()
|
| -import pyauto_paths
|
| -
|
| -
|
| -def RunWithCorrectPythonIfNecessary():
|
| - """Runs this script with the correct version of python if necessary.
|
| -
|
| - Different platforms and versions of pyautolib use different python versions.
|
| - Instead of requiring testers and infrastructure to handle choosing the right
|
| - version (and architecture), this will rerun the script with the correct
|
| - version of python.
|
| -
|
| - Note, this function will either return after doing nothing, or will exit with
|
| - the subprocess's return code.
|
| - """
|
| - def RunAgain():
|
| - """Run the script again with the correct version of python.
|
| -
|
| - Note, this function does not return, but exits with the return code of the
|
| - child.
|
| - """
|
| - if sys.platform == 'cygwin' or sys.platform.startswith('win'):
|
| - cmd = [sys.executable]
|
| - elif sys.platform.startswith('darwin'):
|
| - # Arch runs the specified architecture of a universal binary. Run
|
| - # the 32 bit one.
|
| - cmd = ['arch', '-i386', 'python2.6']
|
| - elif sys.platform.startswith('linux'):
|
| - cmd = ['python2.6']
|
| -
|
| - cmd.extend(sys.argv)
|
| - print 'Running:', ' '.join(cmd)
|
| - proc = subprocess.Popen(cmd)
|
| - proc.wait()
|
| - sys.exit(proc.returncode)
|
| -
|
| - def IsChromeOS():
|
| - lsb_release = '/etc/lsb-release'
|
| - if sys.platform.startswith('linux') and os.path.isfile(lsb_release):
|
| - with open(lsb_release) as fp:
|
| - contents = fp.read()
|
| - return 'CHROMEOS_RELEASE_NAME=' in contents
|
| - return False
|
| -
|
| - # Ensure this is the right python version (2.6 for chrome, 2.7 for chromeOS).
|
| - if IsChromeOS():
|
| - if sys.version_info[0:2] != (2, 7):
|
| - cmd = ['python2.7'] + sys.argv
|
| - print 'Running: ', ' '.join(cmd)
|
| - proc = subprocess.Popen(cmd)
|
| - proc.wait()
|
| - else:
|
| - if sys.version_info[0:2] != (2, 6):
|
| - RunAgain()
|
| -
|
| - # Check this is the right bitness on mac.
|
| - # platform.architecture() will not help us on mac, since multiple binaries
|
| - # are stuffed inside the universal python binary.
|
| - if sys.platform.startswith('darwin') and sys.maxint > 2**32:
|
| - # User is running 64-bit python, but we should use 32-bit.
|
| - RunAgain()
|
| -
|
| -
|
| -# Do not attempt to figure out python versions if
|
| -# DO_NOT_RESTART_PYTHON_FOR_PYAUTO is set.
|
| -if os.getenv('DO_NOT_RESTART_PYTHON_FOR_PYAUTO') is None:
|
| - RunWithCorrectPythonIfNecessary()
|
| -else:
|
| - print 'Will not try to restart with the correct version of python '\
|
| - 'as DO_NOT_RESTART_PYTHON_FOR_PYAUTO is set.'
|
| -
|
| -
|
| -try:
|
| - import pyauto
|
| -except ImportError:
|
| - print >>sys.stderr, 'Cannot import pyauto from %s' % sys.path
|
| - raise
|
| -
|
| -
|
| -class Main(pyauto.Main):
|
| - """Main program for running PyAuto functional tests."""
|
| -
|
| - def __init__(self):
|
| - # Make scripts in this dir importable
|
| - sys.path.append(os.path.dirname(__file__))
|
| - pyauto.Main.__init__(self)
|
| -
|
| - def TestsDir(self):
|
| - return os.path.dirname(__file__)
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - Main()
|
|
|