gettimeofday() was already implemented, but incorrectly lumped into
POSIX_TIMERS.
putenv() is really just a wrapper around setenv().
The only one left to implement was gethostid() which was relatively
trivial.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Rather than disabling -Wunused-value for the entire file, explicitly
mark variables that are unused.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Instead of disabling the -Wunused-variable warning for the entire file,
we can explicitly mark the variables that are unused with __unused.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Add the POLLPRI constant defined by POSIX and test for it.
Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
Signed-off-by: Maciej Sobkowski <msobkowski@antmicro.com>
Add the nfds_t type defined by POSIX and test for it.
Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
Signed-off-by: Maciej Sobkowski <msobkowski@antmicro.com>
Use zexpect instead of zassert so that the failed tests do not
stop the test execution but we run all the tests.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The IPV6_JOIN/LEAVE_GROUP corresponds to IPV6_ADD/DROP_MEMBERSHIP
definitions so define the former and add tests for them.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The in6addr_any is a global symbol that can be used when any
address (all zero bits) is being referenced.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Move the implementation of zsock_select() to zvfs_select(). This
allows other types of file descriptors to also make use of
select() functionality even when the network subsystem is not
enabled.
Additionally, it partially removes a dependency cycle between
posix and networking by moving functionality into a mutual
dependency.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
This reverts commit 49ac1912b2.
PR #73978 introduced a regression.
Unfortunately this PR cannot be reverted without reverting also
Let's revert both PRs to stabilize main again towards the 3.7 release.
For more details on the issue see
https://github.com/zephyrproject-rtos/zephyr/issues/75205
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This reverts commit 305ec62a6b.
PR #73978 introduced a regression.
Unfortunately this PR cannot be reverted without reverting also
Let's revert both PRs to stabilize main again towards the 3.7 release.
For more details on the issue see
https://github.com/zephyrproject-rtos/zephyr/issues/75205
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This reverts commit 308322e9b9.
PR #73978 introduced a regression.
Unfortunately this PR cannot be reverted without reverting also
Let's revert both PRs to stabilize main again towards the 3.7 release.
For more details on the issue see
https://github.com/zephyrproject-rtos/zephyr/issues/75205
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Move the implementation of zsock_select() to zvfs_select(). This
allows other types of file descriptors to also make use of
select() functionality even when the network subsystem is not
enabled.
Additionally, it partially removes a dependency cycle between
posix and networking by moving functionality into a mutual
dependency.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
This change deprecates CONFIG_POSIX_SIGNAL in favour of
the plural CONFIG_POSIX_SIGNALS, which maps directly to the
name of the standard POSIX Option Group POSIX_SIGNALS.
Additionally, mark signals as experimental.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
This change deprecates CONFIG_PTHREAD_RWLOCK in favour of
CONFIG_POSIX_READER_WRITER_LOCKS, which maps directly to the
name of the standard POSIX Option.
Annoyingly, the POSIX_RW_LOCKS Option Group is inconsistently
named. However, it is more convenient for us to use the Option
name since it is also the format used by the sysconf() variable
(_SC_READER_WRITER_LOCKS).
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
For some reason, even though confstr() is implemented in Zephyr,
the header tests were not checking for the existence of _CS_
constants.
Uncomment the tests so that they can be run regularly.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
For some reason, even though sysconf() has multiple
implementations in Zephyr, the header tests were not checking
for the existence of _SC_ constants.
Uncomment the checks - they should be run on a regular basis.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Some POSIX header tests assumed that various structures would be
declared even if POSIX_API=n. Actually most meaningful POSIX
structures are guarded by feature test macros defined by
the implementation (i.e. implementation conformance macros).
So only run tests on those structures when CONFIG_POSIX_API=y.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The header tests for the existence of constants like
_POSIX_SPIN_LOCKS are bound to fail in one circumstance or
another because each of those options are (theoretically)
features which can be enabled or disabled.
Moreover, some implementations (e.g. external libc) might
not implement one particular subset or option group.
These tests are poorly conditioned, so remove them.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add tests to ensure that the aio.h header exists, the
structures are declared, and that the functions are present.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Check for the existence of
pthread_rwlockattr_getpshared()
and
pthread_rwlockattr_setpshared().
Signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
Uncomment the check for sockatmark() to ensure that the function
is declared in sys/socket.h, as a stub implementation was added
in the previous commit.
Signed-off-by: Chris Friedt <chrisfriedt@gmail.com>
Uncomment netdb.h tests now that we have an implementation and
can check for the existence of e.g. hostent, netent, protoent,
and servent structure fields, as well as associated accessor
functions.
Signed-off-by: Chris Friedt <chrisfriedt@gmail.com>
Uncomment net/if.h tests in tests/posix/headers since we now
have an implementation and can check for the existence of
structures, functions, etc.
Signed-off-by: Chris Friedt <chrisfriedt@gmail.com>
Implement tests for `sched_rr_get_interval()` .
Function is actually placeholders and just return `ENOSYS`
since Zephyr does not yet support processes or process scheduling.
signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
Implement tests for `sched_setparam()` and `sched_setscheduler()` .
Both functions are actually placeholders and just return `ENOSYS`
since Zephyr does not yet support processes or process scheduling.
signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>