Skip to content

Commit 573e592

Browse files
epilysvireshk
authored andcommitted
sound: fix broken tests
Tests were not updated with changes in previous commits, so update them. Signed-off-by: Manos Pitsidianakis <[email protected]>
1 parent 5993c1f commit 573e592

File tree

3 files changed

+35
-38
lines changed

3 files changed

+35
-38
lines changed

staging/vhost-device-sound/src/audio_backends/pipewire.rs

Lines changed: 27 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ mod tests {
498498
};
499499

500500
use super::*;
501-
use crate::{ControlMessageKind, SoundDescriptorChain};
501+
use crate::{ControlMessageKind, SoundDescriptorChain, VirtioSoundHeader};
502502

503503
// Prepares a single chain of descriptors for request queue
504504
fn prepare_desc_chain<R: ByteValued>(
@@ -589,47 +589,39 @@ mod tests {
589589
}
590590

591591
#[test]
592-
#[should_panic(expected = "Stream does not exist")]
593-
fn test_pipewire_backend_panics() {
592+
fn test_pipewire_backend_invalid_stream() {
594593
let stream_params = Arc::new(RwLock::new(vec![]));
595594

596595
let pw_backend = PwBackend::new(stream_params);
597596

598597
let msg = ctrlmsg();
599-
let _ = pw_backend.set_parameters(0, msg);
600-
let _ = pw_backend.prepare(0);
601-
}
602598

603-
#[test]
604-
#[should_panic]
605-
fn test_pipewire_prepare_panics() {
606-
let stream_params = Arc::new(RwLock::new(vec![]));
607-
let pw_backend = PwBackend::new(stream_params);
608-
let _ = pw_backend.prepare(0);
609-
}
610-
611-
#[test]
612-
#[should_panic]
613-
fn test_pipewire_start_panics() {
614-
let stream_params = Arc::new(RwLock::new(vec![]));
615-
let pw_backend = PwBackend::new(stream_params);
616-
let _ = pw_backend.start(0);
617-
}
618-
619-
#[test]
620-
#[should_panic]
621-
fn test_pipewire_stop_panics() {
622-
let stream_params = Arc::new(RwLock::new(vec![]));
623-
let pw_backend = PwBackend::new(stream_params);
624-
let _ = pw_backend.stop(0);
625-
}
599+
_ = pw_backend.set_parameters(0, msg.clone());
600+
let resp: VirtioSoundHeader = msg
601+
.desc_chain
602+
.memory()
603+
.read_obj(msg.descriptor.addr())
604+
.unwrap();
605+
assert_eq!(resp.code, VIRTIO_SND_S_BAD_MSG);
606+
607+
for res in [
608+
pw_backend.prepare(0),
609+
pw_backend.start(0),
610+
pw_backend.stop(0),
611+
] {
612+
assert_eq!(
613+
res.unwrap_err().to_string(),
614+
Error::StreamWithIdNotFound(0).to_string()
615+
);
616+
}
626617

627-
#[test]
628-
#[should_panic]
629-
fn test_pipewire_release_panics() {
630-
let stream_params = Arc::new(RwLock::new(vec![]));
631-
let pw_backend = PwBackend::new(stream_params);
632618
let msg = ctrlmsg();
633-
let _ = pw_backend.release(0, msg);
619+
_ = pw_backend.release(0, msg.clone());
620+
let resp: VirtioSoundHeader = msg
621+
.desc_chain
622+
.memory()
623+
.read_obj(msg.descriptor.addr())
624+
.unwrap();
625+
assert_eq!(resp.code, VIRTIO_SND_S_BAD_MSG);
634626
}
635627
}

staging/vhost-device-sound/src/device.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,7 @@ impl VhostUserBackend<VringRwLock, ()> for VhostUserSoundBackend {
779779
}
780780
}
781781

782+
#[cfg_attr(test, derive(Clone))]
782783
pub struct ControlMessage {
783784
pub kind: ControlMessageKind,
784785
pub code: u32,

staging/vhost-device-sound/src/stream.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -353,10 +353,11 @@ mod tests {
353353
let vq = MockSplitQueue::new(mem, 16);
354354
let next_addr = vq.desc_table().total_size() + 0x100;
355355
IOMessage {
356-
vring,
357356
status: VIRTIO_SND_S_OK.into(),
357+
latency_bytes: 0.into(),
358358
desc_chain: prepare_desc_chain::<VirtioSndPcmSetParams>(GuestAddress(0), hdr, 1),
359-
descriptor: Descriptor::new(next_addr, 0x200, VRING_DESC_F_NEXT as u16, 1),
359+
response_descriptor: Descriptor::new(next_addr, 0x200, VRING_DESC_F_NEXT as u16, 1),
360+
vring,
360361
}
361362
}
362363

@@ -500,7 +501,10 @@ mod tests {
500501
let msg = iomsg();
501502
let message = Arc::new(msg);
502503
let desc_msg = iomsg();
503-
let buffer = Buffer::new(desc_msg.descriptor, message);
504+
let buffer = Buffer::new(
505+
desc_msg.desc_chain.clone().readable().next().unwrap(),
506+
message,
507+
);
504508

505509
let mut buf = vec![0; 5];
506510
let result = buffer.consume(&mut buf);

0 commit comments

Comments
 (0)