|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1662 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1662.
Report 1662 Actions
Problem Report Number 1662 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0466 Raised 1999-07-13 08:00 Updated 2003-03-13 08:00 Published null Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSU version 5.0.4 Test Identification CAPIbase/putmsg 7 25 Problem Summary PG4U.00169 Request claims the test should not send zero-length message. Problem Text
This IR is for the following assertions:
putmsg 7
putpmsg 7
In both tests above, a zero length message is written using
putmsg() or putpmsg() on the slave side of the pty loopback. The
tests expect the master side to receive the message. However,
page 12-24 of the Unix System V Release 4 Programmer's Guide: Streams
states the following:
"Since 0-length messages are used to indicate that the process on the slave
side has closed and should be interpreted that way by the process on the master
side, applications on the slave side should not write 0-length messages..."
From the statement above, it can be seen that this testcase is written
incorrectly.Test Output
TEST CASE: putmsg
TEST PURPOSE #7
A call to int putmsg(int fildes, const struct strbuf
*ctlptr, const struct strbuf *dataptr, int flags) when
the len field of the structure pointed to by dataptr
is 0 shall send a zero length data part for the message.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
PREP: Open slave side of pseudo tty
PREP: Set O_NONBLOCK on read end of STREAM
TEST: Put a normal priority with a zero length data
part on the STREAM
TEST: Zero length message was sent
ERROR: getmsg failed, errno = 11(EAGAIN - No more processes)
7 FAIL
TEST CASE: putpmsg
TEST PURPOSE #7
A call to int putpmsg(int fildes, const struct strbuf
*ctlptr, const struct strbuf *dataptr, int band, int
flags) when the len field of the structure pointed to
by dataptr is 0 shall send a zero length data part for
the message.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
PREP: Open slave side of pseudo tty
PREP: Set O_NONBLOCK on read end of STREAM
TEST: Put a band 0 message with a zero length data
part on the STREAM
TEST: Zero length message was sent
ERROR: getmsg failed, errno = 11(EAGAIN - No more processes)
7 FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
The text from the Unix System V Release 4 Programmer's Guide should have no
bearing on this test case for the following reasons:
(1) The XSI definitions of putmsg() and getmsg() clearly state the expected
behavior when a zero length data or control part is included in a message.
The XSI requires that messages with zero length data part will be received
by getmsg() and will not be discarded by putmsg(). The XSI also clearly
distinguishes between messages with no data or control part and those with
a zero length data or control part.
(2) The text quoted from the Guide deals with the manner of interpretation
of a zero length message by an application after it is returned in a call
to getmsg(). The test failure shows that the message is not being returned
by getmsg() and so a receiving process would not have the opportunity to
make this interpretation.
(3) The text in the Unix System V Release 4 Programmer's Guide is only a warning
to application programmers that they SHOULD not write zero length messages.
The reason for this warning is that the system may send a zero length
message to indicate that the slave process has terminated. There is no
suggestion in this text that zero length messages will either not be sent
or will be silently ignored on the receiving side. The ability to send
and receive zero length messages from an implication is explicitly
required within XSI.
It is recommended that this request is refused.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
This request is refused.
Problem Reporting System Options:
- View Report 1662
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority