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]

Reply via email to