|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1366 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 1366.
Report 1366 Actions
Problem Report Number 1366 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0648 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1996-11-22 08:00 Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.1 Test Identification base/putmsg 28 Problem Summary TSD4U.00169 This test may fail on all implementations as the values for the ctlptr and dataptr arguments are reversed in the call to the function. Problem Text
These tests are calling putmsg (putmsg 28) and putpmsg (putpmsg 29)
incorrectly, and are not accurately testing their assertions on any
platform.
.P
The test in question is:
.P
** void test28A() - tests the assertion:
** ERANGE in errno and return -1 on a call to int putmsg(int fildes,
** const struct strbuf *ctlptr, const struct strbuf *dataptr, int flags)
** when the size of the control part of the message is greater than the
** maximum configured size of the control part of a message.
The X/Open CAE spec (8/96) says on p613 (lines 20450 - 20455):
The putmsg and putpmsg functions will fail if:
[ . . . ]
[ERANGE] [. . .] This value is also returned if the control part
of the message is larger than the maximum configured
size of the control part of a message, or [. . .]
This is the assertion that test28 is supposed to verify. This test
does not send a control message, therefore the test is broken.
The important lines from the test itself are:
ctl.buf = ctlbuf;
ctl.len = max_size+1;
flags = 0;
if((result = putmsg(fildes[1], NULL, &ctl, flags)) != -1) {
sprintf(ebuf,"ERROR: putmsg returned %d", result);
tet_infoline(ebuf);
tet_result(TET_FAIL);
return;
}
A control message is created by passing a pointer as the second argument
to putmsg; in this test the second argument is NULL. In fact the
above call is sending a data message, which may or may not fail as
expected depending upon the setting of a different tunable.
It never tests the assertion that it is intended to test.
.P
The situation for putpmsg in test29 is the same.
.P
If the tunables for maximum control message size and maximum
data message size are set to the same value this test will appear
to pass, but in fact the assertion has never been tested.
.P
Note that the previous version of this test had a waiver against it for
a different test case deficiency. We suspect that these tests were failing
before, but that these failures were ignored because of the existence of
this waiver. This previous waiver does not apply to the current tests,
and it does not describe the above deficiency.Test Output
TEST CASE: putmsg
TEST PURPOSE #28
ERANGE in errno and return -1 on a call to int
putmsg(int fildes, const struct strbuf *ctlptr, const
struct strbuf *dataptr, int flags) when the size of
the control part of the message is greater than the
maximum configured size of the control part of a
message.
PREP: Read VSU_STREAMS_MAX_CONTROL_SIZE configuration
PREP: Allocate big enough buffer
PREP: Create a pipe
PREP: Determine if pipe is a stream
TEST: putmsg returns -1
ERROR: putmsg returned 0
28 FAIL
TEST CASE: putpmsg
TEST PURPOSE #29
ERANGE in errno and return -1 on a call to int
putpmsg(int fildes, const struct strbuf *ctlptr, const
struct strbuf *dataptr, int band, int flags) when the
size of the control part of the message is greater
than the maximum configured size of the control part
of a message.
PREP: Read VSU_STREAMS_MAX_CONTROL_SIZE configuration
PREP: Allocate big enough buffer
PREP: Create a pipe
PREP: Determine if pipe is a stream
TEST: putpmsg returns -1
ERROR: putpmsg returned 0
29 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 1366
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority