diff --git a/avocado-setup.py b/avocado-setup.py index 89b9bbb6..1a6f11ec 100644 --- a/avocado-setup.py +++ b/avocado-setup.py @@ -705,6 +705,7 @@ def parse_test_config(test_config_file, avocado_bin, enable_kvm): globals() ['TEST_REPOS'] = eval(CONFIGFILE.get('tests', 'name')) globals() ['prescript_dir'] = CONFIGFILE.get('script-dir', 'prescriptdir') globals() ['postscript_dir'] = CONFIGFILE.get('script-dir', 'postscriptdir') + globals() ['PIP_PACKAGES'] = eval(CONFIGFILE.get('pip-package', 'package')) if helper.get_machine_type() == 'pHyp': args.enable_kvm = False @@ -720,7 +721,7 @@ def parse_test_config(test_config_file, avocado_bin, enable_kvm): "as guest tests are requested") args.enable_kvm = True pipManager = helper.PipMagager(BASE_FRAMEWORK, OPTIONAL_FRAMEWORK, - KVM_FRAMEWORK, args.enable_kvm) + KVM_FRAMEWORK, PIP_PACKAGES, args.enable_kvm) if not (args.run_suite and args.install_deps and args.bootstrap and args.install) and args.clean: # honor the spl condition, just to deep clean the environment incase needed diff --git a/config/wrapper/env.conf b/config/wrapper/env.conf index 12e10d55..3f46e45a 100644 --- a/config/wrapper/env.conf +++ b/config/wrapper/env.conf @@ -173,7 +173,7 @@ packages = packages = [pip-package] -package = configparser,enum +package = [('configparser',''), ('distlib','')] [script-dir] prescriptdir = /etc/avocado/scripts/job/pre.d/ diff --git a/lib/helper.py b/lib/helper.py index cacb73f8..109d58f3 100644 --- a/lib/helper.py +++ b/lib/helper.py @@ -208,7 +208,7 @@ def remove_file(src, dest): class PipMagager: - def __init__(self, base_fw=[], opt_fw=[], kvm_fw=[], enable_kvm=False): + def __init__(self, base_fw=[], opt_fw=[], kvm_fw=[],pip_packages=[], enable_kvm=False): """ helper class to parse, install, uninstall pip package from user config """ @@ -224,11 +224,11 @@ def __init__(self, base_fw=[], opt_fw=[], kvm_fw=[], enable_kvm=False): pip_version_split = importlib.metadata.version(f"pip").split(".") self.pip_vmajor, self.pip_vminor = int(pip_version_split[0]), int(pip_version_split[1]) - self.uninstallitems = base_fw + opt_fw + kvm_fw + self.uninstallitems = base_fw + opt_fw + kvm_fw + pip_packages if enable_kvm: self.installitems = self.uninstallitems else: - self.installitems = base_fw + opt_fw + self.installitems = base_fw + opt_fw + pip_packages self.install_packages = [] self.uninstall_packages = []