Best Python code snippet using lisa_python
dpdksuite.py
Source: dpdksuite.py
...557 modprobe = node.tools[Modprobe]558 nic = node.nics.get_nic_by_index()559 node.nics.get_nic_driver(nic.upper)560 if nic.bound_driver == "hv_netvsc":561 enable_uio_hv_generic_for_nic(node, nic)562 original_driver = nic.driver_sysfs_path563 node.nics.unbind(nic)564 node.nics.bind(nic, UIO_HV_GENERIC_SYSFS_PATH)565 node.execute(566 "test -e /dev/uio0",567 shell=True,568 expected_exit_code=0,569 expected_exit_code_failure_message=(570 "/dev/uio0 did not exist after driver bind"571 ),572 )573 assert_that(lsmod.module_exists("uio_hv_generic", force_run=True)).described_as(574 "uio_hv_generic was not found after bind"575 ).is_true()...
dpdkutil.py
Source: dpdkutil.py
...173 }174 return kit_cmd_pairs175UIO_HV_GENERIC_SYSFS_PATH = "/sys/bus/vmbus/drivers/uio_hv_generic"176HV_NETVSC_SYSFS_PATH = "/sys/bus/vmbus/drivers/hv_netvsc"177def enable_uio_hv_generic_for_nic(node: Node, nic: NicInfo) -> None:178 # hv_uio_generic driver uuid, a constant value used by vmbus.179 # https://doc.dpdk.org/guides/nics/netvsc.html#installation180 hv_uio_generic_uuid = "f8615163-df3e-46c5-913f-f2d2f965ed0e"181 # using netvsc pmd directly for dpdk on hv counterintuitively requires182 # you to enable to uio_hv_generic driver, steps are found:183 # https://doc.dpdk.org/guides/nics/netvsc.html#installation184 echo = node.tools[Echo]185 lsmod = node.tools[Lsmod]186 modprobe = node.tools[Modprobe]187 # enable if it is not already enabled188 if not lsmod.module_exists("uio_hv_generic", force_run=True):189 modprobe.load("uio_hv_generic")190 # vmbus magic to enable uio_hv_generic191 echo.write_to_file(192 hv_uio_generic_uuid,193 node.get_pure_path("/sys/bus/vmbus/drivers/uio_hv_generic/new_id"),194 sudo=True,195 )196def initialize_node_resources(197 node: Node,198 log: Logger,199 variables: Dict[str, Any],200 pmd: str,201 sample_apps: Union[List[str], None] = None,202) -> DpdkTestResources:203 _set_forced_source_by_distro(node, variables)204 dpdk_source = variables.get("dpdk_source", PACKAGE_MANAGER_SOURCE)205 dpdk_branch = variables.get("dpdk_branch", "")206 log.info(207 "Dpdk initialize_node_resources running"208 f"found dpdk_source '{dpdk_source}' and dpdk_branch '{dpdk_branch}'"209 )210 network_interface_feature = node.features[NetworkInterface]211 sriov_is_enabled = network_interface_feature.is_enabled_sriov()212 log.info(f"Node[{node.name}] Verify SRIOV is enabled: {sriov_is_enabled}")213 assert_that(sriov_is_enabled).described_as(214 f"SRIOV was not enabled for this test node ({node.name})"215 ).is_true()216 # dump some info about the pci devices before we start217 lspci = node.tools[Lspci]218 log.info(f"Node[{node.name}] LSPCI Info:\n{lspci.run().stdout}\n")219 # check compatibility first.220 try:221 check_dpdk_support(node)222 except UnsupportedDistroException as err:223 # forward message from distro exception224 raise SkippedException(err)225 # verify SRIOV is setup as-expected on the node after compat check226 node.nics.wait_for_sriov_enabled()227 # create tool, initialize testpmd tool (installs dpdk)228 testpmd: DpdkTestpmd = node.tools.get(229 DpdkTestpmd,230 dpdk_source=dpdk_source,231 dpdk_branch=dpdk_branch,232 sample_apps=sample_apps,233 )234 # init and enable hugepages (required by dpdk)235 init_hugepages(node)236 assert_that(len(node.nics)).described_as(237 "Test needs at least 1 NIC on the test node."238 ).is_greater_than_or_equal_to(1)239 test_nic = node.nics.get_nic_by_index()240 # check an assumption that our nics are bound to hv_netvsc241 # at test start.242 assert_that(test_nic.bound_driver).described_as(243 f"Error: Expected test nic {test_nic.upper} to be "244 f"bound to hv_netvsc. Found {test_nic.bound_driver}."245 ).is_equal_to("hv_netvsc")246 # netvsc pmd requires uio_hv_generic to be loaded before use247 if pmd == "netvsc":248 # this code makes changes to interfaces that will cause later tests to fail.249 # Therefore we mark the node dirty to prevent future testing on this environment250 node.mark_dirty()251 enable_uio_hv_generic_for_nic(node, test_nic)252 # if this device is paired, set the upper device 'down'253 if test_nic.lower:254 node.nics.unbind(test_nic)255 node.nics.bind(test_nic, UIO_HV_GENERIC_SYSFS_PATH)256 return DpdkTestResources(node, testpmd)257def check_send_receive_compatibility(test_kits: List[DpdkTestResources]) -> None:258 for kit in test_kits:259 if not kit.testpmd.has_tx_ip_flag():260 raise UnsupportedPackageVersionException(261 kit.node.os,262 "dpdk",263 kit.testpmd.get_dpdk_version(),264 "-tx-ip flag for ip forwarding",265 )...
Check out the latest blogs from LambdaTest on this topic:
Automating testing is a crucial step in the development pipeline of a software product. In an agile development environment, where there is continuous development, deployment, and maintenance of software products, automation testing ensures that the end software products delivered are error-free.
Before we discuss the Joomla testing, let us understand the fundamentals of Joomla and how this content management system allows you to create and maintain web-based applications or websites without having to write and implement complex coding requirements.
The QA testing career includes following an often long, winding road filled with fun, chaos, challenges, and complexity. Financially, the spectrum is broad and influenced by location, company type, company size, and the QA tester’s experience level. QA testing is a profitable, enjoyable, and thriving career choice.
It’s strange to hear someone declare, “This can’t be tested.” In reply, I contend that everything can be tested. However, one must be pleased with the outcome of testing, which might include failure, financial loss, or personal injury. Could anything be tested when a claim is made with this understanding?
When it comes to UI components, there are two versatile methods that we can use to build it for your website: either we can use prebuilt components from a well-known library or framework, or we can develop our UI components from scratch.
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!!