From 25a63c8b879ea8311a2c47026abc11b909decefb Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 25 Feb 2026 13:57:09 +0100 Subject: [PATCH] tests: block: Add trailing_args parameter to run_qemu_img() Extend run_qemu_img() with an optional trailing_args parameter for arguments that follow the image path, such as the size in 'qemu-img create -f raw 128M'. Signed-off-by: Anatol Belski --- cloud-hypervisor/tests/integration.rs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/cloud-hypervisor/tests/integration.rs b/cloud-hypervisor/tests/integration.rs index 221aadfba..5ac8d9159 100644 --- a/cloud-hypervisor/tests/integration.rs +++ b/cloud-hypervisor/tests/integration.rs @@ -3570,17 +3570,23 @@ mod common_parallel { _test_virtio_block(FOCAL_IMAGE_NAME, true, true, false, false, ImageType::Raw); } - fn run_qemu_img(path: &std::path::Path, args: &[&str]) -> std::process::Output { - std::process::Command::new("qemu-img") - .arg(args[0]) + fn run_qemu_img( + path: &std::path::Path, + args: &[&str], + trailing_args: Option<&[&str]>, + ) -> std::process::Output { + let mut cmd = std::process::Command::new("qemu-img"); + cmd.arg(args[0]) .args(&args[1..]) - .arg(path.to_str().unwrap()) - .output() - .unwrap() + .arg(path.to_str().unwrap()); + if let Some(extra) = trailing_args { + cmd.args(extra); + } + cmd.output().unwrap() } fn get_image_info(path: &std::path::Path) -> Option { - let output = run_qemu_img(path, &["info", "-U", "--output=json"]); + let output = run_qemu_img(path, &["info", "-U", "--output=json"], None); output.status.success().then(|| ())?; serde_json::from_slice(&output.stdout).ok() @@ -3759,7 +3765,7 @@ mod common_parallel { initial_backing_checksum: Option<(std::path::PathBuf, String, u32)>, ) { let path = resolve_disk_path(path_or_image_name); - let output = run_qemu_img(&path, &["check"]); + let output = run_qemu_img(&path, &["check"], None); assert!( output.status.success(), @@ -3777,7 +3783,7 @@ mod common_parallel { if let Some((backing_path, format, initial_checksum)) = initial_backing_checksum { if format.parse::().ok() != Some(block::qcow::ImageType::Raw) { - let output = run_qemu_img(&backing_path, &["check"]); + let output = run_qemu_img(&backing_path, &["check"], None); assert!( output.status.success(),