Best Python code snippet using lisa_python
hv_module.py
Source:hv_module.py  
...74            "hv_vmbus": "hv_vmbus.ko",75            "hid_hyperv": "hid-hyperv.ko",76            "hyperv_keyboard": "hyperv-keyboard.ko",77        }78        skip_modules = self._get_built_in_modules(node)79        hv_modules_file_names = {80            k: v81            for (k, v) in all_necessary_hv_modules_file_names.items()82            if k not in skip_modules83        }84        # 2) Find the path of initrd85        uname = node.tools[Uname]86        kernel_version = uname.get_linux_information().kernel_version_raw87        find = node.tools[Find]88        initrd_possible_file_names = [89            f"initrd-{kernel_version}",90            f"initramfs-{kernel_version}.img",91            f"initrd.img-{kernel_version}",92        ]93        initrd_file_path = ""94        for file_name in initrd_possible_file_names:95            result = find.find_files(node.get_pure_path("/boot"), file_name, sudo=True)96            if result and result[0]:97                initrd_file_path = result[0]98                break99        # 3) Use lsinitrd to check whether a necessary module100        #    is missing.101        lsinitrd = node.tools[Lsinitrd]102        missing_modules = []103        for module in hv_modules_file_names:104            if not lsinitrd.has_module(105                module_file_name=hv_modules_file_names[module],106                initrd_file_path=initrd_file_path,107            ):108                missing_modules.append(module)109        assert_that(missing_modules).described_as(110            "Required Hyper-V modules are missing from initrd."111        ).is_length(0)112    def _get_built_in_modules(self, node: Node) -> List[str]:113        """114        Returns the hv_modules that are directly loaded into the kernel and115        therefore would not show up in lsmod or be needed in initrd.116        """117        hv_modules_configuration = {118            "hv_storvsc": "CONFIG_HYPERV_STORAGE",119            "hv_netvsc": "CONFIG_HYPERV_NET",120            "hv_vmbus": "CONFIG_HYPERV",121            "hv_utils": "CONFIG_HYPERV_UTILS",122            "hid_hyperv": "CONFIG_HID_HYPERV_MOUSE",123            "hv_balloon": "CONFIG_HYPERV_BALLOON",124            "hyperv_keyboard": "CONFIG_HYPERV_KEYBOARD",125        }126        modules = []...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
