diff --git a/cloud-hypervisor/tests/common/tests_wrappers.rs b/cloud-hypervisor/tests/common/tests_wrappers.rs index 6479f2e2a..71087a900 100644 --- a/cloud-hypervisor/tests/common/tests_wrappers.rs +++ b/cloud-hypervisor/tests/common/tests_wrappers.rs @@ -981,7 +981,7 @@ pub(crate) fn _test_virtio_fs( if hotplug { // Add fs to the VM - let (cmd_success, cmd_output) = + let (cmd_success, cmd_output, _) = remote_command_w_output(&api_socket, add_arg, Some(&fs_params)); assert!(cmd_success); @@ -1085,7 +1085,7 @@ pub(crate) fn _test_virtio_fs( ); // Add back and check it works - let (cmd_success, cmd_output) = + let (cmd_success, cmd_output, _) = remote_command_w_output(&api_socket, add_arg, Some(&fs_params)); assert!(cmd_success); if let Some(pci_segment) = pci_segment { @@ -1230,7 +1230,7 @@ pub(crate) fn _test_virtio_vsock(guest: &Guest, hotplug: bool) { guest.wait_vm_boot().unwrap(); if hotplug { - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-vsock", Some(format!("cid=3,socket={socket},id=test0").as_str()), @@ -2697,7 +2697,7 @@ pub(crate) fn _test_disk_hotplug(guest: &Guest, landlock_enabled: bool) { ); // Now let's add the extra disk. - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some( @@ -2733,7 +2733,7 @@ pub(crate) fn _test_disk_hotplug(guest: &Guest, landlock_enabled: bool) { .is_ok_and(|s| s.trim().parse::().unwrap_or(1) == 0))); // And add it back to validate unplug did work correctly. - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some( @@ -2898,7 +2898,7 @@ pub(crate) fn _test_net_hotplug( let r = std::panic::catch_unwind(|| { // Add network - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-net", Some( @@ -2959,7 +2959,7 @@ pub(crate) fn _test_net_hotplug( })); // Add network - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-net", Some( @@ -3341,7 +3341,7 @@ pub(crate) fn _test_macvtap( None ))); // Hotplug the virtio-net device - let (cmd_success, cmd_output) = + let (cmd_success, cmd_output, _) = remote_command_w_output(&api_socket, "add-net", Some(&net_params)); assert!(cmd_success); #[cfg(target_arch = "x86_64")] @@ -3436,7 +3436,7 @@ pub(crate) fn _test_vdpa_block(guest: &Guest) { // Hotplug an extra vDPA block device behind the vIOMMU // Add a new vDPA device to the VM - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-vdpa", Some("id=myvdpa0,path=/dev/vhost-vdpa-1,num_queues=1,pci_segment=1,iommu=on"), diff --git a/cloud-hypervisor/tests/common/utils.rs b/cloud-hypervisor/tests/common/utils.rs index f7cc1ea18..d39cbcc58 100644 --- a/cloud-hypervisor/tests/common/utils.rs +++ b/cloud-hypervisor/tests/common/utils.rs @@ -688,7 +688,7 @@ pub struct Counters { pub(crate) fn get_counters(api_socket: &str) -> Counters { // Get counters - let (cmd_success, cmd_output) = remote_command_w_output(api_socket, "counters", None); + let (cmd_success, cmd_output, _) = remote_command_w_output(api_socket, "counters", None); assert!(cmd_success); let counters: HashMap<&str, HashMap<&str, u64>> = @@ -738,7 +738,7 @@ pub(super) fn pty_read(mut pty: std::fs::File) -> Receiver { } pub(crate) fn get_pty_path(api_socket: &str, pty_type: &str) -> PathBuf { - let (cmd_success, cmd_output) = remote_command_w_output(api_socket, "info", None); + let (cmd_success, cmd_output, _) = remote_command_w_output(api_socket, "info", None); assert!(cmd_success); let info: serde_json::Value = serde_json::from_slice(&cmd_output).unwrap_or_default(); assert_eq!("Pty", info["config"][pty_type]["mode"]); @@ -786,7 +786,7 @@ pub(crate) fn cleanup_vfio_network_interfaces() { } pub(crate) fn balloon_size(api_socket: &str) -> u64 { - let (cmd_success, cmd_output) = remote_command_w_output(api_socket, "info", None); + let (cmd_success, cmd_output, _) = remote_command_w_output(api_socket, "info", None); assert!(cmd_success); let info: serde_json::Value = serde_json::from_slice(&cmd_output).unwrap_or_default(); @@ -802,7 +802,7 @@ pub(crate) fn balloon_size(api_socket: &str) -> u64 { } pub(crate) fn vm_state(api_socket: &str) -> String { - let (cmd_success, cmd_output) = remote_command_w_output(api_socket, "info", None); + let (cmd_success, cmd_output, _) = remote_command_w_output(api_socket, "info", None); assert!(cmd_success); let info: serde_json::Value = serde_json::from_slice(&cmd_output).unwrap_or_default(); diff --git a/cloud-hypervisor/tests/integration.rs b/cloud-hypervisor/tests/integration.rs index 508e5e93d..17c93ba1e 100644 --- a/cloud-hypervisor/tests/integration.rs +++ b/cloud-hypervisor/tests/integration.rs @@ -375,7 +375,7 @@ mod common_parallel { guest.wait_vm_boot().unwrap(); let r = std::panic::catch_unwind(|| { - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some( @@ -2979,7 +2979,7 @@ mod common_parallel { guest.wait_vm_boot().unwrap(); // Add the disk to the VM - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some("path=/tmp/resize.img,id=test0"), @@ -3094,7 +3094,7 @@ mod common_parallel { guest.wait_vm_boot().unwrap(); // Add the QCOW2 disk to the VM - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some(&format!( @@ -4907,7 +4907,7 @@ mod common_parallel { let pmem_temp_file = TempFile::new().unwrap(); pmem_temp_file.as_file().set_len(128 << 20).unwrap(); - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-pmem", Some(&format!( @@ -5405,7 +5405,7 @@ mod common_parallel { guest.wait_vm_boot().unwrap(); // Hotplug the SPDK-NVMe device to the VM - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-user-device", Some(&format!( @@ -7982,7 +7982,7 @@ mod windows { assert_eq!(netdev_ctrl_threads_count(child.id()), netdev_num); // Hotplug network device - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-net", Some(windows_guest.guest().default_net_string().as_str()), @@ -8066,7 +8066,7 @@ mod windows { assert_eq!(disk_ctrl_threads_count(child.id()), disk_num); // Hotplug disk device - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some(format!("path={disk},readonly=off").as_str()), @@ -8104,7 +8104,7 @@ mod windows { assert_eq!(disk_ctrl_threads_count(child.id()), disk_num); // Remount and check the file exists with the expected contents - let (cmd_success, _cmd_output) = remote_command_w_output( + let (cmd_success, _cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some(format!("path={disk},readonly=off").as_str()), @@ -8195,7 +8195,7 @@ mod windows { let expected_ctrl_threads = disk_ctrl_threads_count(child.id()) + 1; // Hotplug disk device - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some(format!("path={disk},readonly=off").as_str()), @@ -8248,7 +8248,7 @@ mod windows { // Remount for it in &disk_test_data { let disk = it[1].as_str(); - let (cmd_success, _cmd_output) = remote_command_w_output( + let (cmd_success, _cmd_output, _) = remote_command_w_output( &api_socket, "add-disk", Some(format!("path={disk},readonly=off").as_str()), @@ -8514,7 +8514,7 @@ mod vfio { guest.wait_vm_boot().unwrap(); // Hotplug the card to the VM - let (cmd_success, cmd_output) = remote_command_w_output( + let (cmd_success, cmd_output, _) = remote_command_w_output( &api_socket, "add-device", Some(format!("id=vfio0,path={NVIDIA_VFIO_DEVICE}").as_str()), diff --git a/test_infra/src/lib.rs b/test_infra/src/lib.rs index 3f7f35980..b39e5a084 100644 --- a/test_infra/src/lib.rs +++ b/test_infra/src/lib.rs @@ -1981,7 +1981,7 @@ pub fn remote_command_w_output( api_socket: &str, command: &str, arg: Option<&str>, -) -> (bool, Vec) { +) -> (bool, Vec /* stdout */, Vec /* stderr */) { let mut cmd = Command::new(clh_command("ch-remote")); cmd.args([&format!("--api-socket={api_socket}"), command]); @@ -1991,7 +1991,7 @@ pub fn remote_command_w_output( let output = cmd.output().expect("Failed to launch ch-remote"); - (output.status.success(), output.stdout) + (output.status.success(), output.stdout, output.stderr) } pub fn parse_iperf3_output(output: &[u8], sender: bool, bandwidth: bool) -> Result {