|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1380 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 1380.
Report 1380 Actions
Problem Report Number 1380 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0662 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1996-09-18 08:00 Product Standard Sockets (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.0 Test Identification Sockets/connect 4 Problem Summary TSD4U.00155 This test may fail on implementations where the amount of time connect blocks waiting for a connection is not a constant. Problem Text
This test may fail as shown on implementations that do not have a constant
timeout period. Test #4 makes an assumption as to what constitutes a "correct
interval" for connection timeout. The assumption is that the "correct interval"
is between VSU_CONNECT_TIMEOUT-2 and VSU_CONNECT_TIMEOUT+4,
however, some implementations might have a larger variation in the timeout
period.
X/Open CAE, Networking Services, Issue 4 states the following for connect()
with respect to timeout intervals:
"... connect() will block for up to an unspecified
timeout interval until the connection is established."
The specification only requires that there be some upper limit. In particular
it does not require that all connect() calls experience the same timeout value.
Our implementation uses a fixed upper limit on the timeout but the time it takes
for a particular connect() to time out depends on when TCP retransmits the
packets which, in turn, depends on TCP's estimated roundtrip time to the
destination. Thus a connect can experience a timeout of anywhere between 180
and 240 seconds. Nothing we can find in the specification precludes the
behaviour of our implementation.
We suggest that the VSU test suite provide MIN and MAX configuration variables
for the VSU_CONNECT_TIMEOUT interval instead of using the "-2/+4" range
for acceptable timeout period.Test Output
TEST CASE: connect
TEST PURPOSE #4
If the implementation supports a communications domain
and a connection-oriented socket type:
A call to int connect(int socket, const struct
sockaddr *address, size_t address_len) when blocking
is terminated due to expiration of the timeout shall
abort the connection attempt, set errno to ETIMEDOUT,
and return -1.
PREP: Get VSU_CONNECT_TIMEOUT configuration variable
TEST: AF_INET SOCK_STREAM
PREP: Create test sockaddr_in: address = 129.146.86.131, port = 4189
PREP: Create three sockets
PREP: Wait for child to be ready
PREP: Connect twice to fill queue
PREP: Set long alarm
TEST: connect blocks until timeout elapses
TEST: Return value
TEST: errno value
TEST: Blocked for correct interval
ERROR: Process did not block for expected duration, expected: 219 secs (approx),
actual: 183 secs
PREP: Child: create socket
PREP: Child: bind to socket
PREP: Child: listen on socket with backlog of 2
PREP: Child: tell parent ready
PREP: Child: wait for parent to complete
4 FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We agree this is a test suite deficiency in the test
suite version(s) listed.
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 1380
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority