Merge pull request #8700 from justxuewei/dbs-ut

dragonball: Trigger unit tests of dbs_* subcrates by `make test`
This commit is contained in:
Xuewei Niu 2023-12-19 17:51:20 +08:00 committed by GitHub
commit ec30d5a9a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 30 additions and 13 deletions

View File

@ -4,6 +4,8 @@
include ../../utils.mk
PROJECT_DIRS := $(shell find . -name Cargo.toml -printf '%h\n' | sort -u)
ifeq ($(ARCH), s390x)
default build check test clippy:
@echo "s390x not support currently"
@ -40,7 +42,10 @@ clean:
test:
ifdef SUPPORT_VIRTUALIZATION
RUST_BACKTRACE=1 cargo test --all-features --target $(TRIPLE) -- --nocapture --test-threads=1
@set -e; \
for dir in $(PROJECT_DIRS); do \
bash -c "pushd $${dir} && RUST_BACKTRACE=1 cargo test --all-features --target $(TRIPLE) -- --nocapture --test-threads=1 && popd"; \
done
else
@echo "INFO: skip testing dragonball, it need virtualization support."
exit 0

View File

@ -86,7 +86,7 @@ mod tests {
fn test_i8042_valid_ops() {
let reset_evt = EventFdTrigger::new(EventFd::new(libc::EFD_NONBLOCK).unwrap());
let metrics = Arc::new(I8042DeviceMetrics::default());
let mut i8042 = I8042Device::new(reset_evt.try_clone().unwrap(), metrics);
let mut i8042 = I8042Device::new(reset_evt.try_clone().unwrap());
let mut v = [0x00u8; 1];
i8042.pio_read(PioAddress(0), PioAddress(0), &mut v);
@ -107,7 +107,7 @@ mod tests {
fn test_i8042_invalid_ops() {
let reset_evt = EventFdTrigger::new(EventFd::new(libc::EFD_NONBLOCK).unwrap());
let metrics = Arc::new(I8042DeviceMetrics::default());
let mut i8042 = I8042Device::new(reset_evt.try_clone().unwrap(), metrics);
let mut i8042 = I8042Device::new(reset_evt.try_clone().unwrap());
let mut v = [0x00u8; 2];
i8042.pio_read(PioAddress(0), PioAddress(0), &mut v);
@ -128,7 +128,7 @@ mod tests {
fn test_i8042_reset_err() {
let reset_evt = EventFdTrigger::new(unsafe { EventFd::from_raw_fd(i32::MAX) });
let metrics = Arc::new(I8042DeviceMetrics::default());
let mut i8042 = I8042Device::new(reset_evt, metrics);
let mut i8042 = I8042Device::new(reset_evt);
i8042.pio_write(
PioAddress(0),
PioAddress(COMMAND_OFFSET as u16),

View File

@ -576,6 +576,7 @@ pub(crate) mod tests {
use vm_memory::{GuestMemoryAtomic, GuestMemoryMmap, GuestMemoryRegion, MmapRegion};
use super::*;
use crate::tests::VirtQueue;
use crate::{VIRTIO_INTR_CONFIG, VIRTIO_INTR_VRING};
pub fn create_virtio_device_config() -> VirtioDeviceConfig<Arc<GuestMemoryMmap>> {
@ -625,11 +626,17 @@ pub(crate) mod tests {
let status = Arc::new(InterruptStatusRegister32::new());
let notifier = Arc::new(LegacyNotifier::new(group, status, VIRTIO_INTR_VRING));
let mut cfg = VirtioQueueConfig::<QueueSync>::create(1024, 1).unwrap();
cfg.set_interrupt_notifier(notifier);
let mem =
Arc::new(GuestMemoryMmap::<()>::from_ranges(&[(GuestAddress(0), 0x10000)]).unwrap());
let vq = VirtQueue::new(GuestAddress(0), &mem, 1024);
let q = vq.create_queue();
let mut cfg = VirtioQueueConfig::new(
q,
Arc::new(EventFd::new(EFD_NONBLOCK).unwrap()),
notifier,
1,
);
let desc = cfg.get_next_descriptor(mem.memory()).unwrap();
assert!(matches!(desc, None));
@ -650,12 +657,17 @@ pub(crate) mod tests {
let status = Arc::new(InterruptStatusRegister32::new());
let notifier = Arc::new(LegacyNotifier::new(group, status, VIRTIO_INTR_VRING));
let mut cfg = VirtioQueueConfig::<QueueSync>::create(1024, 1).unwrap();
cfg.set_interrupt_notifier(notifier);
let mut cfg = cfg.clone();
let mem =
Arc::new(GuestMemoryMmap::<()>::from_ranges(&[(GuestAddress(0), 0x10000)]).unwrap());
let vq = VirtQueue::new(GuestAddress(0), &mem, 1024);
let q = vq.create_queue();
let mut cfg = VirtioQueueConfig::new(
q,
Arc::new(EventFd::new(EFD_NONBLOCK).unwrap()),
notifier,
1,
);
let desc = cfg.get_next_descriptor(mem.memory()).unwrap();
assert!(matches!(desc, None));

View File

@ -813,7 +813,7 @@ mod tests {
#[test]
fn test_vhost_user_fs_virtio_device_normal() {
let device_socket = "/var/tmp/vhost.1";
let device_socket = "/tmp/vhost.1";
let tag = "test_fs";
let handler = thread::spawn(move || {
@ -882,7 +882,7 @@ mod tests {
#[test]
fn test_vhost_user_fs_virtio_device_activate() {
let device_socket = "/var/tmp/vhost.1";
let device_socket = "/tmp/vhost.1";
let tag = "test_fs";
let handler = thread::spawn(move || {