Correct virtualenv usage in integration tests.

This commit is contained in:
Matt Clay 2019-06-03 14:16:16 -07:00
parent 8cf6f56a01
commit 858e3a7272
8 changed files with 48 additions and 139 deletions

View file

@ -1,25 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# We don't set -u here, due to pypa/virtualenv#150 set -eux
set -ex
MYTMPDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir')
trap 'rm -rf "${MYTMPDIR}"' EXIT
# This is needed for the ubuntu1604py3 tests
# Ubuntu patches virtualenv to make the default python2
# but for the python3 tests we need virtualenv to use python3
PYTHON=${ANSIBLE_TEST_PYTHON_INTERPRETER:-python}
# Test graceful failure for older versions of botocore # Test graceful failure for older versions of botocore
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-1.7.40" source virtualenv.sh
source "${MYTMPDIR}/botocore-1.7.40/bin/activate" pip install 'botocore<1.10.0' boto3
$PYTHON -m pip install 'botocore<1.10.0' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/old_version.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/old_version.yml "$@"
# Run full test suite # Run full test suite
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-recent" source virtualenv.sh
source "${MYTMPDIR}/botocore-recent/bin/activate" pip install 'botocore>=1.10.1' boto3
$PYTHON -m pip install 'botocore>=1.10.1' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@"

View file

@ -1,19 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# We don't set -u here, due to pypa/virtualenv#150 set -eux
set -ex
MYTMPDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir')
trap 'rm -rf "${MYTMPDIR}"' EXIT
# This is needed for the ubuntu1604py3 tests
# Ubuntu patches virtualenv to make the default python2
# but for the python3 tests we need virtualenv to use python3
PYTHON=${ANSIBLE_TEST_PYTHON_INTERPRETER:-python}
# Run full test suite # Run full test suite
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-recent" source virtualenv.sh
source "${MYTMPDIR}/botocore-recent/bin/activate" pip install 'botocore>1.10.26' boto3
$PYTHON -m pip install 'botocore>1.10.26' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@"

View file

@ -1,26 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# We don't set -u here, due to pypa/virtualenv#150 set -eux
set -ex
MYTMPDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir') export ANSIBLE_ROLES_PATH=../
trap 'rm -rf "${MYTMPDIR}"' EXIT
# This is needed for the ubuntu1604py3 tests
# Ubuntu patches virtualenv to make the default python2
# but for the python3 tests we need virtualenv to use python3
PYTHON=${ANSIBLE_TEST_PYTHON_INTERPRETER:-python}
# Test graceful failure for older versions of botocore # Test graceful failure for older versions of botocore
export ANSIBLE_ROLES_PATH=../ source virtualenv.sh
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-less-than-1.10.16" pip install 'botocore<1.10.16' 'boto3<1.7.16'
source "${MYTMPDIR}/botocore-less-than-1.10.16/bin/activate"
"${PYTHON}" -m pip install 'botocore<1.10.16' 'boto3<1.7.16'
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/version_fail.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/version_fail.yml "$@"
# Run full test suite # Run full test suite
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-recent" source virtualenv.sh
source "${MYTMPDIR}/botocore-recent/bin/activate" pip install 'botocore>=1.10.16' boto3
$PYTHON -m pip install 'botocore>=1.10.16' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@"

View file

@ -1,26 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# We don't set -u here, due to pypa/virtualenv#150 set -eux
set -ex
MYTMPDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir') export ANSIBLE_ROLES_PATH=../
trap 'rm -rf "${MYTMPDIR}"' EXIT
# This is needed for the ubuntu1604py3 tests
# Ubuntu patches virtualenv to make the default python2
# but for the python3 tests we need virtualenv to use python3
PYTHON=${ANSIBLE_TEST_PYTHON_INTERPRETER:-python}
# Test graceful failure for older versions of botocore # Test graceful failure for older versions of botocore
export ANSIBLE_ROLES_PATH=../ source virtualenv.sh
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/boto3-less-than-1.6.0" pip install 'boto3<1.6.0'
source "${MYTMPDIR}/boto3-less-than-1.6.0/bin/activate"
"${PYTHON}" -m pip install 'boto3<1.6.0'
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/version_fail.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/version_fail.yml "$@"
# Run full test suite # Run full test suite
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/boto3-recent" source virtualenv.sh
source "${MYTMPDIR}/boto3-recent/bin/activate" pip install 'boto3>1.6.0'
$PYTHON -m pip install 'boto3>1.6.0'
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@"

View file

@ -1,48 +1,31 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# We don't set -u here, due to pypa/virtualenv#150 set -eux
set -ex
MYTMPDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir')
trap 'rm -rf "${MYTMPDIR}"' EXIT
# This is needed for the ubuntu1604py3 tests
# Ubuntu patches virtualenv to make the default python2
# but for the python3 tests we need virtualenv to use python3
PYTHON=${ANSIBLE_TEST_PYTHON_INTERPRETER:-python}
# Test graceful failure for older versions of botocore # Test graceful failure for older versions of botocore
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-1.7.40" source virtualenv.sh
source "${MYTMPDIR}/botocore-1.7.40/bin/activate" pip install 'botocore<=1.7.40' boto3
$PYTHON -m pip install 'botocore<=1.7.40' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/network_fail.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/network_fail.yml "$@"
# Test graceful failure for assign public ip # Test graceful failure for assign public ip
# applies for botocore >= 1.7.44 and < 1.8.4 # applies for botocore >= 1.7.44 and < 1.8.4
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-1.7.44" source virtualenv.sh
source "${MYTMPDIR}/botocore-1.7.44/bin/activate" pip install 'botocore>=1.7.44,<1.8.4' boto3
$PYTHON -m pip install 'botocore>=1.7.44,<1.8.4' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/network_assign_public_ip_fail.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/network_assign_public_ip_fail.yml "$@"
# Test graceful failure for force new deployment #42518 # Test graceful failure for force new deployment #42518
# applies for botocore < 1.8.4 # applies for botocore < 1.8.4
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-1.8.4" source virtualenv.sh
source "${MYTMPDIR}/botocore-1.8.4/bin/activate" pip install 'botocore>=1.7.44,<1.8.4' boto3
$PYTHON -m pip install 'botocore>=1.7.44,<1.8.4' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/network_force_new_deployment_fail.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/network_force_new_deployment_fail.yml "$@"
# Test force new deployment #42518 # Test force new deployment #42518
# applies for botocore < 1.8.4 # applies for botocore < 1.8.4
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-1.8.5" source virtualenv.sh
source "${MYTMPDIR}/botocore-1.8.5/bin/activate" pip install 'botocore>1.8.4' boto3
$PYTHON -m pip install 'botocore>1.8.4' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/network_force_new_deployment.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/network_force_new_deployment.yml "$@"
# Run full test suite # Run full test suite
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-recent" source virtualenv.sh
source "${MYTMPDIR}/botocore-recent/bin/activate" pip install 'botocore>=1.10.37' boto3 # version 1.10.37 for scheduling strategy
$PYTHON -m pip install 'botocore>=1.10.37' boto3 # version 1.10.37 for scheduling strategy
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@"

View file

@ -1,20 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# We don't set -u here, due to pypa/virtualenv#150
set -ex set -eux
MYTMPDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir')
trap 'rm -rf "${MYTMPDIR}"' EXIT
# This is needed for the ubuntu1604py3 tests
# Ubuntu patches virtualenv to make the default python2
# but for the python3 tests we need virtualenv to use python3
PYTHON=${ANSIBLE_TEST_PYTHON_INTERPRETER:-python}
# Test graceful failure for older versions of botocore
export ANSIBLE_ROLES_PATH=../ export ANSIBLE_ROLES_PATH=../
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-less-than-1.10.57"
source "${MYTMPDIR}/botocore-less-than-1.10.57/bin/activate" # Test graceful failure for older versions of botocore
"${PYTHON}" -m pip install 'botocore<1.10.57' boto3 source virtualenv.sh
pip install 'botocore<1.10.57' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/version_fail.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/version_fail.yml "$@"
# Run full test suite # Run full test suite
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-recent" source virtualenv.sh
source "${MYTMPDIR}/botocore-recent/bin/activate" pip install 'botocore>=1.10.57' boto3
$PYTHON -m pip install 'botocore>=1.10.57' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@"

View file

@ -1,26 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# We don't set -u here, due to pypa/virtualenv#150 set -eux
set -ex
MYTMPDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir')
trap 'rm -rf "${MYTMPDIR}"' EXIT
# This is needed for the ubuntu1604py3 tests
# Ubuntu patches virtualenv to make the default python2
# but for the python3 tests we need virtualenv to use python3
PYTHON=${ANSIBLE_TEST_PYTHON_INTERPRETER:-python}
# Test graceful failure for older versions of botocore # Test graceful failure for older versions of botocore
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-1.7.1" source virtualenv.sh
source "${MYTMPDIR}/botocore-1.7.1/bin/activate" pip install 'botocore<=1.7.1' boto3
$PYTHON -m pip install 'botocore<=1.7.1' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/version_fail.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/version_fail.yml "$@"
# Run full test suite # Run full test suite
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/botocore-recent" source virtualenv.sh
source "${MYTMPDIR}/botocore-recent/bin/activate" pip install 'botocore>=1.8.0' boto3
$PYTHON -m pip install 'botocore>=1.8.0' boto3
ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@" ansible-playbook -i ../../inventory -e @../../integration_config.yml -v playbooks/full_test.yml "$@"

View file

@ -1,19 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# We don't set -u here, due to pypa/virtualenv#150 set -eux
set -ex
MYTMPDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir') source virtualenv.sh
trap 'rm -rf "${MYTMPDIR}"' EXIT
# This is needed for the ubuntu1604py3 tests
# Ubuntu patches virtualenv to make the default python2
# but for the python3 tests we need virtualenv to use python3
PYTHON=${ANSIBLE_TEST_PYTHON_INTERPRETER:-python}
virtualenv --system-site-packages --python "${PYTHON}" "${MYTMPDIR}/redis-cache"
source "${MYTMPDIR}/redis-cache/bin/activate"
# Run test if dependencies are installed # Run test if dependencies are installed
failed_dep_1=$(ansible localhost -m pip -a "name=redis>=2.4.5 state=present" "$@" | tee out.txt | grep -c 'FAILED!' || true) failed_dep_1=$(ansible localhost -m pip -a "name=redis>=2.4.5 state=present" "$@" | tee out.txt | grep -c 'FAILED!' || true)