tests: Initialize queues properly

The virtio-queue crate doesn't allow invalid queue state since commit
d951283a8e88 ("don't allow processing descriptors for invalid q").

Initialize the queues properly to fix testing failures.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
Viresh Kumar 2023-02-28 08:29:48 +05:30 committed by Viresh Kumar
parent 8b9a40299f
commit ea699c86de
5 changed files with 17 additions and 0 deletions

View File

@ -1152,7 +1152,13 @@ mod tests {
backend.update_memory(mem.clone()).unwrap();
let vring_request = VringRwLock::new(mem.clone(), 0x1000).unwrap();
vring_request.set_queue_info(0x100, 0x200, 0x300).unwrap();
vring_request.set_queue_ready(true);
let vring_event = VringRwLock::new(mem, 0x1000).unwrap();
vring_event.set_queue_info(0x100, 0x200, 0x300).unwrap();
vring_event.set_queue_ready(true);
assert_eq!(
backend
.handle_event(

View File

@ -779,6 +779,9 @@ mod tests {
backend.update_memory(mem.clone()).unwrap();
let vring = VringRwLock::new(mem, 0x1000).unwrap();
vring.set_queue_info(0x100, 0x200, 0x300).unwrap();
vring.set_queue_ready(true);
assert_eq!(
backend
.handle_event(0, EventSet::OUT, &[vring.clone()], 0)

View File

@ -486,6 +486,8 @@ mod tests {
// Artificial Vring
let vring = VringRwLock::new(mem, 0x1000).unwrap();
vring.set_queue_info(0x100, 0x200, 0x300).unwrap();
vring.set_queue_ready(true);
// Currently handles EventSet::IN only, otherwise an error is generated.
assert_eq!(

View File

@ -359,6 +359,10 @@ mod tests {
VringRwLock::new(mem.clone(), 0x1000).unwrap(),
VringRwLock::new(mem.clone(), 0x2000).unwrap(),
];
vrings[0].set_queue_info(0x100, 0x200, 0x300).unwrap();
vrings[0].set_queue_ready(true);
vrings[1].set_queue_info(0x1100, 0x1200, 0x1300).unwrap();
vrings[1].set_queue_ready(true);
assert!(backend.update_memory(mem).is_ok());

View File

@ -632,6 +632,8 @@ mod tests {
.is_ok());
let vring = VringRwLock::new(mem, 0x1000).unwrap();
vring.set_queue_info(0x100, 0x200, 0x300).unwrap();
vring.set_queue_ready(true);
assert!(t.process_tx(&vring, false).is_ok());
assert!(t.process_tx(&vring, true).is_ok());