changeset 30268:007dd7d008b3

test: Fix "audiodevinfo" test if multiple audio devices have the same name. * libinterp/dldfcn/audiodevinfo.cc: Fix test if multiple audio devices have the same name.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 01 Nov 2021 17:38:03 +0100
parents 535f97bb5f86
children 313da8fd4657
files libinterp/dldfcn/audiodevinfo.cc
diffstat 1 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/dldfcn/audiodevinfo.cc	Mon Nov 01 14:37:01 2021 +0100
+++ b/libinterp/dldfcn/audiodevinfo.cc	Mon Nov 01 17:38:03 2021 +0100
@@ -500,11 +500,17 @@
 %! devinfo = audiodevinfo;
 %! nout = audiodevinfo (0);
 %! nin = audiodevinfo (1);
-%! for i = 1:nout
-%!   assert (devinfo.output(i).ID, audiodevinfo (0, devinfo.output(i).Name));
+%! ## There might be multiple devices with the same name (e.g. on Windows WDM-KS)
+%! ## Check only the first of each unique device name.
+%! [unq_out_name, idx_unique] = unique ({devinfo.output(:).Name});
+%! unq_out_id = [devinfo.output(idx_unique).ID];
+%! for i = 1:numel (unq_out_name)
+%!   assert (audiodevinfo (0, unq_out_name{i}), unq_out_id(i));
 %! endfor
-%! for i = 1:nin
-%!   assert (devinfo.input (i).ID, audiodevinfo (1, devinfo.input (i).Name));
+%! [unq_in_name, idx_unique] = unique ({devinfo.input(:).Name});
+%! unq_in_id = [devinfo.input(idx_unique).ID];
+%! for i = 1:numel (unq_in_name)
+%!   assert (audiodevinfo (1, unq_in_name{i}), unq_in_id(i));
 %! endfor
 */