mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 755473 - Add convenience script to launch qemu and navigate to a url, a=test-only, DONTBUILD because NPOTB
This commit is contained in:
parent
33ea1c8251
commit
a526261c6a
@ -4,4 +4,5 @@
|
||||
|
||||
from marionette import Marionette, HTMLElement
|
||||
from marionette_test import MarionetteTestCase
|
||||
from emulator import Emulator
|
||||
|
||||
|
42
testing/marionette/client/marionette/scripts/runemu.py
Normal file
42
testing/marionette/client/marionette/scripts/runemu.py
Normal file
@ -0,0 +1,42 @@
|
||||
from marionette import Marionette, Emulator
|
||||
from optparse import OptionParser
|
||||
|
||||
|
||||
def runemulator(homedir=None, url=None, pidfile=None, arch='x86'):
|
||||
qemu = Emulator(homedir=homedir, arch=arch)
|
||||
qemu.start()
|
||||
port = qemu.setup_port_forwarding(2828)
|
||||
assert(qemu.wait_for_port())
|
||||
if pidfile:
|
||||
f = open(pidfile, 'w')
|
||||
f.write("%d" % qemu.proc.pid)
|
||||
f.close()
|
||||
print 'emulator launched, pid:', qemu.proc.pid
|
||||
|
||||
if url:
|
||||
marionette = Marionette(port=port)
|
||||
marionette.start_session()
|
||||
marionette.navigate(url)
|
||||
marionette.delete_session()
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = OptionParser()
|
||||
parser.add_option('--repo', dest='repo_path', action='store',
|
||||
help='directory of the B2G repo')
|
||||
parser.add_option('--arch', dest='arch', action='store',
|
||||
default='x86',
|
||||
help='the emulator cpu architecture (x86 or arm)')
|
||||
parser.add_option('--url', dest='url', action='store',
|
||||
help='url to navigate to after launching emulator')
|
||||
parser.add_option('--pidfile', dest='pidfile', action='store',
|
||||
help='file in which to store emulator pid')
|
||||
|
||||
options, args = parser.parse_args()
|
||||
if not options.repo_path:
|
||||
raise Exception ("must specify the --repo /path/to/B2G/repo argument")
|
||||
|
||||
runemulator(homedir=options.repo_path,
|
||||
url=options.url,
|
||||
pidfile=options.pidfile,
|
||||
arch=options.arch)
|
||||
|
62
testing/marionette/client/marionette/scripts/runemu.sh
Executable file
62
testing/marionette/client/marionette/scripts/runemu.sh
Executable file
@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# Marionette requires Python 2.7, so the first parameter to this script
|
||||
# should be the path to that.
|
||||
PYTHON=$1
|
||||
|
||||
if [ -z "${PYTHON}" ]
|
||||
then
|
||||
echo "No python found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Determine the absolute path of our location.
|
||||
echo $0
|
||||
echo `dirname $0`
|
||||
echo $PWD
|
||||
SCRIPTS_HOME=`dirname $0`
|
||||
cd $SCRIPTS_HOME
|
||||
cd ..
|
||||
MARIONETTE_HOME=`dirname $PWD`
|
||||
echo "Detected Marionette home in $MARIONETTE_HOME"
|
||||
|
||||
# If a GECKO_OBJDIR environemnt variable exists, we will create the Python
|
||||
# virtual envirnoment there. Otherwise we create it in the PWD.
|
||||
VENV_DIR="runemu_venv"
|
||||
if [ -z $GECKO_OBJDIR ]
|
||||
then
|
||||
VENV_DIR="$MARIONETTE_HOME/$VENV_DIR"
|
||||
else
|
||||
VENV_DIR="$GECKO_OBJDIR/$VENV_DIR"
|
||||
fi
|
||||
|
||||
# Check if environment exists, if not, create a virtualenv:
|
||||
if [ -d $VENV_DIR ]
|
||||
then
|
||||
echo "Using virtual environment in $VENV_DIR"
|
||||
cd $VENV_DIR
|
||||
. bin/activate
|
||||
else
|
||||
echo "Creating a virtual environment in $VENV_DIR"
|
||||
curl https://raw.github.com/pypa/virtualenv/develop/virtualenv.py | ${PYTHON} - $VENV_DIR
|
||||
cd $VENV_DIR
|
||||
. bin/activate
|
||||
# set up mozbase
|
||||
git clone git://github.com/mozilla/mozbase.git
|
||||
cd mozbase
|
||||
python setup_development.py
|
||||
fi
|
||||
|
||||
# update the marionette_client
|
||||
cd $MARIONETTE_HOME
|
||||
python setup.py develop
|
||||
cd marionette
|
||||
|
||||
# pop off the python parameter
|
||||
shift
|
||||
cd scripts
|
||||
python runemu.py $@
|
||||
|
Loading…
Reference in New Issue
Block a user