|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1560 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 1560.
Report 1560 Actions
Problem Report Number 1560 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0842 Raised 2001-07-17 08:00 Updated 2003-03-13 08:00 Published 2001-07-20 08:00 Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSU version 5.1.2 Test Identification CAPI.os/ioprim/read 5, 6 Problem Summary TSD4U.00303 The tests may fail on fast systems as they do not allow time for the messages to reach the STREAM head. Problem Text
In all four test cases, the test opens a master and slave pseudo
tty, set the STREAM to message-discard, set O_NONBLOCK on the
read end of STREAM, put two messages on the stream, and finally read
both messages back. Each assertion fails when trying to read back the
second message from the stream, setting errno to 11 (EAGAIN) - Resource
temporarily unavailable.
The reason for the failure is that on faster machines with more than
one processor, the second read, or readv, is executed before the
message has had time to make it to the stream head. This causes the
read, readv, and the assertion to fail since no message is on the
queue.
If a sleep is added between the first and second calls to read/readv
then the assertion passes. Since VSU is setting O_NONBLOCK,
it should wait for enough time so that all the messages can properly
make their way onto the stream queue.Test Output
**************************************************************************
/tset/CAPI.os/ioprim/read/T.read 5 Failed
Test Description:
Base Required Conformance
A call to ssize_t read(int fildes, void *buf, size_t nbyte) when
fildes refers to a STREAMS file in message-discard mode shall retrieve
data until nbyte bytes are transferred or a message boundary is
reached.
Test Information:
PREP: Set STREAM to message-discard mode
PREP: Set O_NONBLOCK on read end of STREAM
PREP: Put two messages on the STREAM
TEST: Reads until nbytes are read
TEST: Reads until end of message
ERROR: read return value incorrect
Expected 256
Received -1
**************************************************************************
**************************************************************************
/tset/CAPI.os/ioprim/read/T.read 6 Failed
Test Description:
Base Required Conformance
A call to ssize_t read(int fildes, void *buf, size_t nbyte) when
fildes refers to a STREAMS file in message-discard mode shall discard
unread data remaining in a message.
Test Information:
PREP: Set STREAM to message-discard mode
PREP: Set O_NONBLOCK on read end of STREAM
PREP: Put two messages on the STREAM
PREP: Read half of first message
TEST: Tail of first message is discarded
ERROR: read return value incorrect
Expected 256
Received -1
**************************************************************************
**************************************************************************
/tset/CAPI.os/ioprim/readv/T.readv 28 Failed
Test Description:
Base Required Conformance
A call to ssize_t readv(int fildes, const struct iovec *iov, int
iovcnt) when fildes refers to a STREAMS file in message-discard mode
shall retrieve data until the buffers provided are full or a message
boundary is reached.
Test Information:
PREP: Set STREAM to message-discard mode
PREP: Set O_NONBLOCK on read end of STREAM
PREP: Put two messages on the STREAM
TEST: Reads until nbytes are read
TEST: Reads until end of message
ERROR: readv return value incorrect
Expected 256
Received -1
**************************************************************************
**************************************************************************
/tset/CAPI.os/ioprim/readv/T.readv 29 Failed
Test Description:
Base Required Conformance
A call to ssize_t readv(int fildes, const struct iovec *iov, int
iovcnt) when fildes refers to a STREAMS file in message-discard mode
shall discard unread data remaining in a message.
Test Information:
PREP: Set STREAM to message-discard mode
PREP: Set O_NONBLOCK on read end of STREAM
PREP: Put two messages on the STREAM
PREP: Read half of first message
TEST: Tail of first message is discarded
ERROR: readv return value incorrect
Expected 256
Received -1
**************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
This is accepted as a fault in the test suite.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 1560
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority