From 40f3e33f734330c32f27882898ab1bb4ab8f3217 Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Fri, 19 Jun 2015 08:04:00 +1200 Subject: [PATCH] Put requirements repo in a venv. This is to prevent any possible contamination of test results from its presence. Change-Id: I5a929854745650cc6a182ffc4d15c50caabdd727 --- inc/python | 6 +++--- lib/infra | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/inc/python b/inc/python index 3d329b59a9..e3c5e61dd2 100644 --- a/inc/python +++ b/inc/python @@ -219,15 +219,15 @@ function setup_package_with_req_sync { if [[ "$REQUIREMENTS_MODE" == "soft" ]]; then if is_in_projects_txt $project_dir; then (cd $REQUIREMENTS_DIR; \ - python update.py $project_dir) + ./.venv/bin/python update.py $project_dir) else # soft update projects not found in requirements project.txt (cd $REQUIREMENTS_DIR; \ - python update.py -s $project_dir) + ./.venv/bin/python update.py -s $project_dir) fi else (cd $REQUIREMENTS_DIR; \ - python update.py $project_dir) + ./.venv/bin/python update.py $project_dir) fi fi diff --git a/lib/infra b/lib/infra index 5fb185fd6a..4cc25965ea 100644 --- a/lib/infra +++ b/lib/infra @@ -29,6 +29,8 @@ REQUIREMENTS_DIR=$DEST/requirements # install_infra() - Collect source and prepare function install_infra { + local PIP_VIRTUAL_ENV="$REQUIREMENTS_DIR/.venv" + # Install pbr if use_library_from_git "pbr"; then git_clone_by_name "pbr" @@ -41,7 +43,9 @@ function install_infra { # bring down global requirements git_clone $REQUIREMENTS_REPO $REQUIREMENTS_DIR $REQUIREMENTS_BRANCH - pip_install $REQUIREMENTS_DIR + [ ! -d $PIP_VIRTUAL_ENV ] && virtualenv $PIP_VIRTUAL_ENV + PIP_VIRTUAL_ENV=$PIP_VIRTUAL_ENV pip_install -U pbr + PIP_VIRTUAL_ENV=$PIP_VIRTUAL_ENV pip_install $REQUIREMENTS_DIR } # Restore xtrace