-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
Test for posix lib + newlib (also start to fix issues) #13685
Conversation
@vanti I think this might be a cleaner test addition for newlib and posix+lib to get us more coverage. Take a look and see if you agree and we can close out your PR. |
Codecov Report
@@ Coverage Diff @@
## master #13685 +/- ##
=======================================
Coverage 52.24% 52.24%
=======================================
Files 307 307
Lines 45413 45413
Branches 10508 10508
=======================================
Hits 23726 23726
Misses 16898 16898
Partials 4789 4789 Continue to review full report at Codecov.
|
@galak I am not too familiar with how the testcase.yaml files work, but when I copy your testcase.yaml files into my local repo and rebuild the posix/fs and posix/common tests I do not see the build error from sdk-ng#45. Adding |
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.
Thanks. I won't be surprised if the build now will fail because <sys/types.h> is not included somewhere, but that's the way to resolve such issues.
Ok, so the typical situation, you make one change, there's a cascade of fallouts: https://app.shippable.com/github/zephyrproject-rtos/zephyr/runs/35304/2/tests . In #12984 , I ended up banning native_posix, riscv32, xtensa, qemu_x86_64 (i.e. effectively everything but x86 and arm I guess ;-) ), and it still has a hundred of failures on last check (but it has massive changes of course). |
Add a build variant of the posix tests with newlib enabled. Since the interation of posix is greatly related to the libc we should have these tests build with and without newlib support. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
With newer newlib we get a build error with mqueue.h realted to mode_t. Let's just let newlib define mode_t and have minimal libc also define it in sys/types.h. So we remove the duplicated definition in posix/unistd.h. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Some older variants of newlib (like what we have on xtensa or riscv in SDK 0.9.5) define timespec and itimerspec in sys/types.h. The timespec can be handled by a check of __timespec_defined. However itimerspec doesn't have anything similar so we have to do it by newlib version info. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
|
||
/* Older newlib's like 2.{0-2}.0 don't define any newlib version defines, only |
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.
@galak, The proper fix for this would be the same as for mode_t - figure out the proper header belongs to, rely on newlib's existing definition there, and move def from posix/* to minimal/*. (Again, when we repeat that process a hundred of times, we'll find that we just recreated newlib headers in minimal. So, it's still not to late to say "POSIX and minimal don't plat well together, a [decent] libc is part of POSIX", and concentrate only on POSIX+newlib).
@galak Why was this merged with CI failing? Now everything is failing in CI because of this. |
No description provided.