If the full module list was not set, raise an exception that explains that the modules were not actually installed so we can't proceed.
This will be useful to the module_probe test case, to allow it to get the list of modules it can load/unload directly. Signed-off-by: Eduardo Habkost <[email protected]> --- client/tests/kvm/kvm/installer.py | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/client/tests/kvm/kvm/installer.py b/client/tests/kvm/kvm/installer.py index 0b3b3ca..b9984f7 100644 --- a/client/tests/kvm/kvm/installer.py +++ b/client/tests/kvm/kvm/installer.py @@ -166,8 +166,9 @@ def save_build(build_dir, dest_dir): class BaseInstaller(object): - def __init__(self, mode): + def __init__(self, mode=None): self.install_mode = mode + self._full_module_list = None def set_install_params(self, test, params): self.params = params @@ -212,6 +213,16 @@ class BaseInstaller(object): self._full_module_list = list(self._module_list()) + def full_module_list(self): + """Return the module list used by the installer + + Used by the module_probe test, to avoid using utils.unload_module(). + """ + if self._full_module_list is None: + raise KvmNotInstalled("KVM modules not installed yet (installer: %s)" % (type(self))) + return self._full_module_list + + # default value for load_stock argument load_stock_modules = True @@ -229,12 +240,12 @@ class BaseInstaller(object): May be overridden by subclasses. """ - _load_kvm_modules(self._full_module_list, load_stock=self.load_stock_modules) + _load_kvm_modules(self.full_module_list(), load_stock=self.load_stock_modules) def _unload_modules(self): """Just unload the KVM modules, without trying to kill Qemu """ - _unload_kvm_modules(self._full_module_list) + _unload_kvm_modules(self.full_module_list()) def unload_modules(self): """Kill Qemu and unload the KVM modules @@ -448,7 +459,7 @@ class SourceDirInstaller(BaseInstaller): def load_modules(self): - _load_kvm_modules(self._full_module_list, module_dir=self.srcdir) + _load_kvm_modules(self.full_module_list(), module_dir=self.srcdir) def install(self): self._build() @@ -610,12 +621,12 @@ class GitInstaller(SourceDirInstaller): def load_modules(self): if self.kmod_srcdir: - _load_kvm_modules(self._full_module_list, module_dir=self.kmod_srcdir) + _load_kvm_modules(self.full_module_list(), module_dir=self.kmod_srcdir) elif self.kernel_srcdir: - _load_kvm_modules(self._full_module_list, module_dir=self.userspace_srcdir) + _load_kvm_modules(self.full_module_list(), module_dir=self.userspace_srcdir) else: logging.info("Loading stock KVM modules") - _load_kvm_modules(self._full_module_list, load_stock=True) + _load_kvm_modules(self.full_module_list(), load_stock=True) def install(self): -- 1.7.3.2 _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
