HomeFreeBSD

tests/unix_seqpacket: remove EMSGSIZE tests

Description

tests/unix_seqpacket: remove EMSGSIZE tests

These tests were not testing conformance to the specification, rather than
the limitation of our implementation. The specification doesn't say that
a SOCK_SEQPACKET shall ever return EMSGSIZE. It says:

The SOCK_SEQPACKET socket type is similar to the SOCK_STREAM type,
and is also connection-oriented. The only difference between these
types is that record boundaries are maintained using the
SOCK_SEQPACKET type. A record can be sent using one or more output
operations and received using one or more input operations, but a
single operation never transfers parts of more than one record.
Record boundaries are visible to the receiver via the MSG_EOR flag
in the received message flags returned by the recvmsg() function. It
is protocol-specific whether a maximum record size is imposed.

The EMSGSIZE is specified as 'message is too large to be sent all at once,
as the socket requires'. Indeed existing implementation that has
unix/seqpacket marked as PR_ATOMIC has such a limitation. But future
implementation won't have, thus remove the tests.

Reviewed by: tuexen, asomers
Differential Revision: https://reviews.freebsd.org/D43756

Details

Provenance
glebiusAuthored on Feb 28 2024, 10:32 PM
Reviewer
tuexen
Differential Revision
D43756: tests/unix_seqpacket: remove EMSGSIZE tests
Parents
rG152a6d410e47: socket tests: remove MSG_TRUNC test for unix/seqpacket
Branches
Unknown
Tags
Unknown