Bug 753168 - Create Marionette virtualenv in objdir. r=jgriffin DONTBUILD because NPOTB
authorPhilipp von Weitershausen <philipp@weitershausen.de>
Tue, 08 May 2012 17:16:05 -0700
changeset 95760 4d571c9e9ca65ec6add1dd31bd27c4fa301304cb
parent 95759 dd84ed2c4d7b3d113aeb6730ad846ec783b88f9c
child 95812 bbaa66c0efec87e76e6166af0282dbdc9681ab21
child 95838 d244d827ac4a8da3a23651d9ca4e9e69c519a415
push id1439
push userlsblakk@mozilla.com
push dateMon, 04 Jun 2012 20:19:22 +0000
treeherdermozilla-aurora@ea74834dccd3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjgriffin
bugs753168
milestone15.0a1
Bug 753168 - Create Marionette virtualenv in objdir. r=jgriffin DONTBUILD because NPOTB
testing/marionette/client/marionette/venv_test.sh
--- a/testing/marionette/client/marionette/venv_test.sh
+++ b/testing/marionette/client/marionette/venv_test.sh
@@ -1,72 +1,52 @@
 #!/bin/bash
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is mozilla.org code.
-#
-# The Initial Developer of the Original Code is
-# the Mozilla Foundation.
-# Portions created by the Initial Developer are Copyright (C) 2012
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#    Malini Das (mdas@mozilla.com)
-#    Jonathan Griffin (jgriffin@mozilla.com)
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
+# 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/.
 
 PYTHON=$1
 
 if [ -z "${PYTHON}" ]
 then
     echo "No python found"
     exit 1
 fi
 
+# Determine the absolute path of our location.
+MARIONETTE_HOME=`dirname $0`
+cd $MARIONETTE_HOME
+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 createit in the PWD.
+VENV_DIR="marionette_venv"
+if [ -d $GECKO_OBJDIR ]
+then
+    VENV_DIR="$GECKO_OBJDIR/$VENV_DIR"
+fi
+
 # Check if environment exists, if not, create a virtualenv:
-if [ -d "marionette_venv" ]
+if [ -d $VENV_DIR ]
 then
-  cd marionette_venv
+  echo "Using virtual environment in $VENV_DIR"
+  cd $VENV_DIR
   . bin/activate
 else
-  echo "Creating marionette_venv folder in `pwd`"
-  curl https://raw.github.com/pypa/virtualenv/develop/virtualenv.py | ${PYTHON} - marionette_venv 
-  cd marionette_venv
+  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
-  cd ..
 fi
 
-cd ../..
 # update the marionette_client
+cd $MARIONETTE_HOME
 python setup.py develop
 cd marionette
 
-#pop off the python parameter
+# pop off the python parameter
 shift
 python runtests.py $@