casaroli opened a new pull request, #3981: URL: https://github.com/apache/nuttx-apps/pull/3981
depends-on: apache/nuttx-apps/pull/3964 This branch holds the 3 commits of #3964 and one commit of its own. **Review only the last commit.** It stays a draft until NuttX passes these cases, or a case moves out. ## Summary More cases for `cmocka_net_local_dgram`, for behaviour wider than `connect()` and `poll()` of a datagram socket. Each one fails today, and each needs a change of its own in NuttX. They state what the code should do, as a list to fix. | Case | Expected | Today, apache/nuttx#21416 on master bf029a2ef5d | |---|---|---| | `poll_pair` | `socketpair(SOCK_DGRAM)` sends one datagram both ways | the receiver gets 8 bytes for a send of 2 | | `poll_full` | a non-blocking send to a full receiver fails with `EAGAIN` and leaves no part of a datagram | `send()` of 100 bytes returns 84 | | `poll_fullwait` | a blocking send ends when the receiver reads | the same, while it fills the receiver | | `rebind` | a new socket on a name does not get the datagrams of the old socket | it gets them | | `source` | `recvfrom()` gives the whole name of a bound sender | kernel build: the last 2 characters are missing | | `recvmsg_iov` | `recvmsg()` of a datagram socket reads into two parts | `ENOTSUP` | | `poll_nval` | `poll()` of a closed descriptor gives `POLLNVAL` and reports the others | `POLLERR`, and it stops there | | `poll_zero` | `poll()` reports a datagram with no data from an unbound sender | no `POLLIN` | All of them are also on master, as far as they can run there: `poll_pair`, `poll_zero`, `poll_full` and `poll_fullwait` use `poll()`, which needs #21416. ## Impact 8 new cases in an existing test program. `CONFIG_TESTING_NET_LOCAL_DGRAM` does not change. No defconfig enables `TESTING_NET_TEST`, so no CI build changes. ## Testing `qemu-armv8a:nsh` and `qemu-armv8a:knsh` under QEMU, with apache/nuttx#21416: the cases fail as in the table, except that `source` passes on nsh. The 75 cases of #3964 pass, and ostest exits with status 0. On Linux, built with the host libc, all 8 pass, so the expected results are not specific to this implementation. `tools/checkpatch.sh -c -u -m -g` passes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
