ci: Fix virtio-fs tests

The virtiofsd daemon takes a bit of time creating and listening on the
socket. By adding 10s timeout, we make sure the vhost-user socket has
been properly created before the VMM tries to connect to it.

Also, the daemon needs cap_dac_override capabilities to access debugfs
filesystem.

Last thing, both virtio-fs and virtio-pmem tests were slightly different
from the others since they were not explicitly killing cloud-hypervisor
and virtiofsd processes once the test was done.

Fixes #182

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
This commit is contained in:
Sebastien Boeuf 2019-08-20 08:30:32 -07:00 committed by Rob Bradford
parent b528e99b18
commit dc31db478a
2 changed files with 10 additions and 1 deletions

View File

@ -89,7 +89,7 @@ if [ ! -f "$VIRTIOFSD" ]; then
cp virtiofsd $VIRTIOFSD
popd
rm -rf $QEMU_DIR
sudo setcap cap_sys_admin+epi "virtiofsd"
sudo setcap cap_dac_override,cap_sys_admin+epi "virtiofsd"
popd
fi

View File

@ -545,6 +545,8 @@ mod tests {
.spawn()
.unwrap();
thread::sleep(std::time::Duration::new(10, 0));
(child, virtiofsd_socket_path)
}
@ -1246,6 +1248,9 @@ mod tests {
);
guest.ssh_command("sudo reboot")?;
thread::sleep(std::time::Duration::new(10, 0));
let _ = child.kill();
let _ = daemon_child.kill();
let _ = child.wait();
let _ = daemon_child.wait();
Ok(())
@ -1323,6 +1328,8 @@ mod tests {
);
guest.ssh_command("sudo reboot")?;
thread::sleep(std::time::Duration::new(10, 0));
let _ = child.kill();
let _ = child.wait();
Ok(())
@ -1366,6 +1373,8 @@ mod tests {
aver!(tb, guest.get_total_memory().unwrap_or_default() > 496_000);
guest.ssh_command("sudo reboot")?;
thread::sleep(std::time::Duration::new(10, 0));
let _ = child.kill();
let _ = child.wait();
Ok(())