-
Notifications
You must be signed in to change notification settings - Fork 59
tests: add option to test with pipewire #1296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests: add option to test with pipewire #1296
Conversation
eaa6172 to
64c96c8
Compare
|
Can one of the admins verify this patch?
|
4670555 to
6810df4
Compare
9c63bbb to
a867076
Compare
marc-hb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far, sof-test was 97% portable across distributions. I used to run sof-test on Fedora without any issue. I'm concerned pipewire is going to change that. It's OK to add Debian or Ubuntu-specific bits, however:
- they must remain optional (it looks like they are now, great, keep it that way)
- you should try to identify and name differently the parts that are distro-specific versus pipewire standards.
marc-hb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't share fixup commits
https://docs.zephyrproject.org/latest/contribute/guidelines.html#contribution-workflow
1aa0aa5 to
dae8d46
Compare
ae00d7b to
20e4244
Compare
20e4244 to
9d24ad2
Compare
9d24ad2 to
bdcebcf
Compare
bdcebcf to
9a92625
Compare
redzynix
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general all's good, please just add small improvements from my comments.
9a92625 to
e9eb1f7
Compare
cfc984c to
ca3ff6b
Compare
55052ec to
4e554c3
Compare
4e554c3 to
054f9dd
Compare
README.md
Outdated
| - SOF_ALSA_OPTS contains optional parameters passed on both play and record. | ||
| - SOF_APLAY_OPTS and SOF_ARECORD_OPTS contain optional parameters passed additionally on play and record respectively. | ||
| These options are applied to the selected tool (alsa or tinyalsa) based on the value of SOF_ALSA_TOOL | ||
| - SOF_TEST_PIPEWIRE (default: false) allows to use pipewire instead of ALSA direct mode. Currently only works with check-performance.sh. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - SOF_TEST_PIPEWIRE (default: false) allows to use pipewire instead of ALSA direct mode. Currently only works with check-performance.sh. | |
| - SOF_TEST_PIPEWIRE (default: false) allows to use pipewire instead of ALSA direct mode. Supported by a limited number of tests, try something like `git grep SOF_TEST_PIPEWIRE` to find which one(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
case-lib/hijack.sh
Outdated
| dlogi "Starting func_exit_handler($exit_status)" | ||
|
|
||
| if [ "$SOF_TEST_PIPEWIRE" == true ]; then | ||
| func_lib_disable_pipewire |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you mark this comment as "resolved" without any code change or answer?
Marking all comments as resolved is not necessary before merge.
054f9dd to
3b53cb2
Compare
|
please add commit description |
3b53cb2 to
03e45f2
Compare
03e45f2 to
1622cb5
Compare
marc-hb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There could some minor issues left (including at least one below) but they can be fixed later.
On the other hand, this should really be run in jenkins. @ekurdybx your https://github.com/orgs/thesofproject/teams/sof-developers membership is way overdue. Please ask someone in https://github.com/orgs/thesofproject/teams/sof-developers?query=role%3Amaintainer . You probably can't see that link but most of your coworkers can.
case-lib/lib.sh
Outdated
| dlogi "Check if pipewire is running" | ||
|
|
||
| # shellcheck disable=SC2015 | ||
| systemctl is-active --user --quiet pipewire{,-pulse}.{socket,service} && func_lib_disable_pipewire || dlogi "Pipewire not running" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A && B || C is not equivalent to if A; then B; else C; fi, this is a very common misconception. Compare:
if true; then grep notfound /etc/passwd ; else 'ELSE is not run'; fi
true && grep notfound /etc/passwd || echo 'ELSE is also run!!'
(from #312)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed that
Add option to use pipewire instead of ALSA direct mode in tests. Currently works only with check-performance.sh - runs aplay/arecord on each type of pipewire sink/source. Added pipewire-wrapper.sh to run with SOF CI. Signed-off-by: Emilia Kurdybelska <emiliax.kurdybelska@intel.com>
1622cb5 to
ad761ca
Compare
This was run in jenkins, I tested this on lnlm, ptlh and mtlp platforms, it works as expected. |
I just realized none of the sof-test Pull Requests show Jenkins results any more, it's not specific to this particular PR. I mean, there is no sof-test Pull Request that has test results like this: https://sof-ci.01.org/sofpr/PR10251/build15809/devicetest/index.html @ekurdybx , @cgturner1 could you investigate this? |
|
Just proving myself wrong 10 min later, some jenkins results are now showing up in #1303
However I had to allow them manually with the magic sentence. I should not have to, please get https://github.com/orgs/thesofproject/teams/sof-developers membership yesterday.
I suspected some publication / permission issue but based on this #1303 screenshot it does not look like this PR #1296 was run in jenkins. At least not in the "regular" jenkins like the one running #1303 above. |



Added option to use pipewire instead of ALSA direct mode in tests, that can be turned on by setting TEST_WITH_PIPEWIRE=true. Added pipewire-wrapper, to run in SOF CI.
Currently only test that can run on pipewire is check-perfomance.sh (runs aplay/arecord on one of each types of sinks/sources).