|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0181 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 0181.
Report 0181 Actions
Problem Report Number 0181 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0181 Raised 1994-08-08 08:00 Updated 2003-03-13 08:00 Published 1994-08-15 08:00 Product Standard Internationalised System Calls and Libraries (XPG4) Certification Program The Open Brand certification program Test Suite VSX4 version 4.3.4 Test Identification ANSI.os/streamio/fwrite 3 Problem Summary TSD4.181 This problem has been reported to the test suite developers and recognised as a test suite deficiency for VSX4.3.4, the error reference is err.4.3.4.011. The problem is that this test makes assumption... Problem Text
This problem has been reported to the test suite developers
and recognised as a test suite deficiency for VSX4.3.4, the error
reference is err.4.3.4.011.
The problem is that this test makes assumptions about the maximum size of an
atomic write() to a pipe and its capacity --- and we 've made implementation
changes in both these areas which are in line with the POSIX definition -
POSIX does not prohibit writes of greater than PIPE_BUF bytes from being
atomic - it just says that PIPE_BUF or less shall be atomic.Test Output
************************************************************************
/tset/ANSI.os/streamio/fwrite/T.fwrite 3 Failed
Test Description:
When fwrite() writes greater than zero bytes but fewer than requested,
then the error indicator for the stream is set.
Posix Ref: Component FWRITE Assertion 8.2.3-05(A)
IF file size limit is supported:
CREATE synchronisation channel using opensync()
CREATE child process
CHILD:
SET maximum file size (in 512 byte blocks) to be ULIMIT_BLKS or 4,
whichever is greater
IF (maximum file size in bytes) >= BUFSIZ
CREATE new file using creat()
WRITE some data to the file until the difference between the
number of bytes written and the maximum file size is greater
than zero but less than BUFSIZE.
CLOSE the file using close()
OPEN the stream using fopen() with "a"
SET the stream buffer to be unbuffered using setbuf()
WRITE more than BUFSIZ bytes to the stream using fwrite()
VERIFY that fwrite() returns a value that is greater than zero and
less than the number of bytes requested, and that ferror() shows
that the stream error indicator is set
CLOSE the stream using fclose()
UNLINK the data file
INFORM parent of test results using sendsync() - (genlib)
PARENT:
WAIT for child to complete processing using waitsync() - (genlib)
REPORT on results from child as necessary
OTHERWISE mark this subtest as NOT EXECUTED
WHEN not testing XNFS:
CREATE a pipe using pipe()
SET O_NONBLOCK for write pipe file descriptor
OBTAIN PIPE_BUF from fpathconf((write pipe file descriptor),
_PC_PIPE_BUF)
IF PIPE_BUF is of finite size:
REOPEN the write side of the pipe as a stream using fdopen() with
"w"
SET the stream buffer to be unbuffered using setbuf()
FILL the pipe with data using repeated write() calls
READ PIPE_BUF bytes from the pipe.
WRITE a more than a buffer full of data to the stream in a single
fwrite() call
VERIFY that fwrite() returns a value that is greater than zero and
less than the number of bytes requested, and that ferror() shows
that the stream error indicator is set; however, if fwrite() fails
with errno set to EAGAIN, mark this subtest as NOT EXECUTED
CLOSE the stream using fclose()
OTHERWISE mark this subtest as NOT EXECUTED
CLOSE both sides of the pipe using close()
IF neither subtest can be executed, report test as UNTESTED
Test Information:
fwrite() failed to return expected value after fwrite() could only
write a partial buffer to a non-blocking pipe
expected (> 0 && < 16408), returned 16408
************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
This is accepted to be a test suite deficiency.
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 0181
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority