This is a solution for issue #563. If one is only testing kvm components, for example, the absence of virsh should not be relevant, but since the module throws an exception on import, and module is imported on env_processing, a ValueError will be thrown and fail completely all the tests.
Let's fail things only when actual functionality of the module is called, during the initialization of the BaseVirsh class. CC: Chris Evich <[email protected]> Signed-off-by: Lucas Meneghel Rodrigues <[email protected]> --- client/tests/virt/virttest/virsh.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client/tests/virt/virttest/virsh.py b/client/tests/virt/virttest/virsh.py index 90c2955..1f7d24c 100644 --- a/client/tests/virt/virttest/virsh.py +++ b/client/tests/virt/virttest/virsh.py @@ -38,7 +38,11 @@ _NOCLOSE = MODULE_CONTENTS.keys() + [ ] # default virsh executable -VIRSH_EXEC = os_dep.command("virsh") +try: + VIRSH_EXEC = os_dep.command("virsh") +except ValueError: + VIRSH_EXEC = None + logging.info("Command 'virsh' is not installed, please install it") # Virsh class properties and default values # Schema: {<name>:<default>} @@ -97,6 +101,9 @@ class VirshBase(dict): """ Initialize libvirt connection/state from VIRSH_PROPERTIES and/or dargs """ + if VIRSH_EXEC is None: + raise ValueError("Command Virsh is not installed, " + "please install it.") # Setup defaults, (calls properties) _dargs = VIRSH_PROPERTIES.copy() _dargs.update(dargs) -- 1.7.11.4 _______________________________________________ Autotest-kernel mailing list [email protected] https://www.redhat.com/mailman/listinfo/autotest-kernel
