|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1298 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 1298.
Report 1298 Actions
Problem Report Number 1298 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0580 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1998-07-10 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.0.2 Test Identification CAPIbase/readv 70 Problem Summary TSD4U.00238 This test needs to set the size of the file before it reads from it. Problem Text
There are multiple problems with this test, two of which have been
addressed by TSD4U.00225 (on systems that don't support the 64-bit
compilation environment) and TSD4U.00222 (on systems that support a
64-bit compilation environment but not a 64-bit execution environment).
Note that because of the problem noted in TSD4U.00225 (makefile test
for "unsupported" rather than "undefined" for getconf options), this
test is also wrongly testing the unsupported XBS5_LP64_OFF64
and XBS5_LPBIG_OFFBIG environments on the system under test. However,
the test continues because as per XSH5, XBS5_ILP64_OFF64_CFLAGS
and XBS5_LPBIG_OFFBIG_CFLAGS are still valid options to getconf
though we return the null string for each in this case. This results
in make creating default 32-bit, off32 binaries, when the test is
expecting LP64_OFF64 and LPBIG_OFFBIG binaries.
Once we can get by the failures noted above, we are left with the remaining
failure with readv() which is occuring in the valid 32-bit tests as well:
ERROR: In LFS program: readv() did not fail as expected. Expected:
-1 Recevied:
This failure is the result of an error in the test. The test attempts
to read past a small off_t file's limit expecting the read to fail. The
read does not fail however, because the file has no size or data. Hence
the readv() statement returns 0 because there is no data to read. This
test functions properly if it is updated such that the created file has
data or a size established so there is something to read. update, the
test functions correctly.Test Output
TEST CASE: readv
TEST PURPOSE #70
If the implementation allows creation of a file
description with an offset maximum less than the
largest size it supports for an off_t:
On a call to ssize_t readv(int fildes, const struct
iovec *iov, int iovcnt) for a regular file data
transfer shall not occur past the offset maximum
established in the open file description associated
with fildes.
PREP: Check for existence of programming environments
PREP: Obtain off_t size in XBS5_ILP32_OFF32 environment
PREP: Obtain off_t size in XBS5_ILP32_OFFBIG environment
PREP: Obtain off_t size in XBS5_ILP64_OFF64 environment
PREP: Obtain off_t size in XBS5_LPBIG_OFFBIG environment
PREP: Open communication pipe for child
PREP: Fork a child
PREP: Wait for child
INFO: Read child's test result
ERROR: In LFS program: readv() did not fail as expected. Expected: -1 Recevied: 0
PREP: Open communication pipe for child
PREP: Fork a child
PREP: Connect child's pipe to stdout
PREP: Execute a program compiled in XBS5_ILP32_OFF32(32-bit off_t)
environment that:
opens a regular file
set the offset to a value that is less than which can be
represented in 32-bit off_t,
execs program compiled in XBS5_ILP32_OFFBIG(64-bit off_t) environment, passing
it the open file descriptor
TEST: No data transfer takes place past the offset maximum for the file
PREP: Wait for child
INFO: Read child's test result
ERROR: In LFS program: readv() did not fail as expected. Expected: -1 Recevied: 0
PREP: Open communication pipe for child
PREP: Fork a child
PREP: Connect child's pipe to stdout
PREP: Execute a program compiled in XBS5_ILP64_OFF64(32-bit off_t)
environment that:
opens a regular file
set the offset to a value that is less than which can be
represented in 32-bit off_t,
execs program compiled in XBS5_ILP32_OFFBIG(64-bit off_t) environment, passing
it the open file descriptor
TEST: No data transfer takes place past the offset maximum for the file
PREP: Wait for child
INFO: Read child's test result
ERROR: In LFS program: readv() did not fail as expected. Expected: -1 Recevied: 0
PREP: Connect child's pipe to stdout
PREP: Execute a program compiled in XBS5_LPBIG_OFFBIG(32-bit off_t)
environment that:
opens a regular file
set the offset to a value that is less than which can be
represented in 32-bit off_t,
execs program compiled in XBS5_ILP32_OFFBIG(64-bit off_t) environment, passing
it the open file descriptor
TEST: No data transfer takes place past the offset maximum for the file
70 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 versions 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 1298
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority