-
Notifications
You must be signed in to change notification settings - Fork 318
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
WIP Add test infrastructure #1091
base: main
Are you sure you want to change the base?
Conversation
You need to define
in the `README_BUILD" file. |
Added |
is the plan to connect the machinery to other repos so you can test against tinyiiod/emu-iio? (Until that's integrated in here directly?) |
The CLOCK_REALTIME clock may jump in time, which can be a huge problem when computing timeouts. Use the CLOCK_MONOTONIC one instead, which does not have this problem. Signed-off-by: Paul Cercueil <[email protected]>
When the buffer creation failed, entry->buf was left to whatever error pointer it had previously, instead of being reset to NULL; cleanup code would subsequently try to destroy the buffer once again with an invalid pointer. Signed-off-by: Paul Cercueil <[email protected]>
IIOD v0.x supports enqueueing cyclic blocks, but it needs to know about it when the iio_buffer is opened through the "OPEN" command. As iiod-client calls this command when the buffer is to be enabled, pass an extra "cyclic" parameter to .buffer_enable(), always set to "false" for now. Signed-off-by: Paul Cercueil <[email protected]>
Instead of continuously sending the same block again and again, set the "cyclic" parameter of the .enable_buffer() backend callback to the value of the "cyclic" parameter of the last call to iio_buffer_enqueue(). Signed-off-by: Paul Cercueil <[email protected]>
Signed-off-by: Travis F. Collins <[email protected]>
Signed-off-by: Travis F. Collins <[email protected]>
Signed-off-by: Travis F. Collins <[email protected]>
Signed-off-by: Travis F. Collins <[email protected]>
Signed-off-by: Travis F. Collins <[email protected]>
eb99c2c
to
afeab80
Compare
Signed-off-by: Travis F. Collins <[email protected]>
4af31e2
to
9902e76
Compare
Signed-off-by: Travis F. Collins <[email protected]>
Just a question about this unit testing framework. Why does GitHub Action was chosen? Do we have in plan to add local runners for those unit tests? If not, we can check here what are the costs https://confluence.analog.com/display/DEVTOOLS/Github+Actions%3A+Usage+and+Cost In other repos, we have implemented an extra step in Azure Pipeline for unit tests - still docker containers on cloud, any OS, fit in the existing payment plan. Check the example for No-OS. |
@SRaus GHA is the general direction of the company and even Microsoft. Its better integrated and doesn't require multiple logins. As for costs you missed the top paragraph of that page: GitHub Actions usage is free for standard GitHub-hosted runners in public repositories, and for self-hosted runners. For private repositories, each GitHub account receives a certain amount of free minutes and storage for use with GitHub-hosted runners, depending on the account's plan. Any usage beyond the included amounts is controlled by spending limits. Other reference: https://github.com/orgs/community/discussions/70492 Since libiio is public, GHA is free. As for self hosted runners, this shouldn't be necessary for libiio as it doesn't require special tools (MATLAB, Vivado, Quartus) to build. Hardware testing is a different story and isn't even covered by Azure Pipelines. |
The PR adds core infrastructure to introduce unit tests. It adds