mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-01-03 03:15:20 +00:00
ci: Fix test_serial_off
The integration test validating that --serial off works correctly was not properly written as it was using the FW, which by default would use the kernel command line found in the EFI partition. Unfortunately, this kernel command line was including "console=ttyS0", which causes the kernel to try to write to the serial port, even if there's no serial port being emulated. The problem is, when no emulation of the serial port is provided, the default value returned on 0x3f8 is 0, which makes the guest kernel think that some data needs to be read. The only way to avoid all this is by ensuring we can control the kernel command line by removing any occurence of "console=ttyS0" from it. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
This commit is contained in:
parent
7c3e19c65a
commit
9f2eddd9d8
@ -2326,17 +2326,28 @@ mod tests {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(not(feature = "mmio"), test)]
|
|
||||||
fn test_serial_off() {
|
fn test_serial_off() {
|
||||||
test_block!(tb, "", {
|
test_block!(tb, "", {
|
||||||
let mut clear = ClearDiskConfig::new();
|
let mut clear = ClearDiskConfig::new();
|
||||||
let guest = Guest::new(&mut clear);
|
let guest = Guest::new(&mut clear);
|
||||||
|
let mut workload_path = dirs::home_dir().unwrap();
|
||||||
|
workload_path.push("workloads");
|
||||||
|
|
||||||
|
let mut kernel_path = workload_path;
|
||||||
|
kernel_path.push("bzImage");
|
||||||
|
|
||||||
let mut child = GuestCommand::new(&guest)
|
let mut child = GuestCommand::new(&guest)
|
||||||
.args(&["--cpus", "boot=1"])
|
.args(&["--cpus", "boot=1"])
|
||||||
.args(&["--memory", "size=512M"])
|
.args(&["--memory", "size=512M"])
|
||||||
.args(&["--kernel", guest.fw_path.as_str()])
|
.args(&["--kernel", kernel_path.to_str().unwrap()])
|
||||||
.default_disks()
|
.default_disks()
|
||||||
.default_net()
|
.default_net()
|
||||||
|
.args(&[
|
||||||
|
"--cmdline",
|
||||||
|
CLEAR_KERNEL_CMDLINE
|
||||||
|
.replace("console=ttyS0,115200n8 ", "")
|
||||||
|
.as_str(),
|
||||||
|
])
|
||||||
.args(&["--serial", "off"])
|
.args(&["--serial", "off"])
|
||||||
.spawn()
|
.spawn()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
Loading…
Reference in New Issue
Block a user