Hi Pauli, On Thu, Apr 13, 2023 at 2:14 PM Pauli Virtanen <pav@xxxxxx> wrote: > > Hi Luiz, > > to, 2023-04-13 kello 11:48 -0700, Luiz Augusto von Dentz kirjoitti: > [clip] > > Btw, not sure you if are following the list but I'm working on adding > > support for handling multiple CIS to the same peer: > > > > https://patchwork.kernel.org/project/bluetooth/list/?series=739574 > > > > That should allow you to set a different CIS ID if you want to use > > different sockets for input and output. > > Great, I saw the patchset but didn't yet have time to take a proper look. > > > Id also would like to discuss how we do some test automation using > > pipewire endpoints in the future, we probably want to enable it via > > test-runner but we probably need to enable it loading pipewire daemons > > etc under the vm that test-runner creates, Frederic started adding > > some support but it doesn't look like it loads pipewire so Im not > > really sure how it supposed to be loaded: > > > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/test-runner.c#n1108 > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/test-runner.c#n277 > > Yes, there'd be two daemons to start in the VM, pipewire and wireplumber, > and running with default config should then result to the endpoints being > created. > > The interaction is probably simplest via the command-line tools. > In principle something more clever and better controlled is possible, > but I'd need to think a bit more what's best here. > > Output from `pw-dump -m` can be polled and parsed for determining > when daemons are ready, what bluetooth sinks/devices appeared after > connect, etc. `pw-cat` can be used for playback and recording. Yep, in terms of tests the ideal solution would be simulate BAP qualification tests: https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=524716 Ive started to write them as unit tests: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/unit/test-bap.c It is somewhat laborious to write all the PDUs manually like that but if we managed to write all the tests we could perhaps enable it working with the full stack rather than limiting it bt_bap instance, but perhaps it is overkill since we could instead automate qualification tests via auto-pts. > Some tests probably can be written along these lines, but without > trying now I don't know yet how well the above would work. > > A separate question is how the virtual BT device that is going to > interact with the endpoints is going to be implemented. Hand-coded > data sent via emulator bthost? We can do both a hand-coded tests with bthost or hook a second instance of btdev to BlueZ so we test BlueZ vs BlueZ, well in theory we could even bring another stack as well like zephyr into the picture, anyway what we need to know is how to setup the environment for pipewire and wireplumber, note that we don't have the so called user session under test-runner environment, so I wonder if we need wireplumber? > > -- > Pauli Virtanen > -- Luiz Augusto von Dentz