Fix ansible-test unit test execution. (#45772)

* Fix ansible-test units requirements install.
* Run unit tests as unprivileged user under Docker.
This commit is contained in:
Matt Clay 2018-09-18 08:37:14 -07:00 committed by GitHub
parent 4e532e0ad9
commit 379a7f4f5a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 50 additions and 4 deletions

View file

@ -12,6 +12,7 @@ import time
import textwrap
import functools
import pipes
import sys
import hashlib
import lib.pytar
@ -49,6 +50,8 @@ from lib.util import (
raw_command,
get_coverage_path,
get_available_port,
generate_pip_command,
find_python,
)
from lib.docker_util import (
@ -148,9 +151,10 @@ def create_shell_command(command):
return cmd
def install_command_requirements(args):
def install_command_requirements(args, python_version=None):
"""
:type args: EnvironmentConfig
:type python_version: str | None
"""
generate_egg_info(args)
@ -168,7 +172,10 @@ def install_command_requirements(args):
if args.junit:
packages.append('junit-xml')
pip = args.pip_command
if not python_version:
python_version = args.python_version
pip = generate_pip_command(find_python(python_version))
commands = [generate_pip_install(pip, args.command, packages=packages)]
@ -1133,8 +1140,6 @@ def command_units(args):
if args.delegate:
raise Delegate(require=changes)
install_command_requirements(args)
version_commands = []
for version in SUPPORTED_PYTHON_VERSIONS:
@ -1142,6 +1147,9 @@ def command_units(args):
if args.python and version != args.python_version:
continue
if args.requirements_mode != 'skip':
install_command_requirements(args, version)
env = ansible_environment(args)
cmd = [
@ -1167,6 +1175,9 @@ def command_units(args):
version_commands.append((version, cmd, env))
if args.requirements_mode == 'only':
sys.exit()
for version, command, env in version_commands:
display.info('Unit test with Python %s' % version)