|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1065 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 1065.
Report 1065 Actions
Problem Report Number 1065 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0302 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSRT version 5.0.1 Test Identification rt.os/aio/lio_listio 38, 42 Problem Summary PG4R.00002 This request contends the logic and arguments used by these tests are not correct. Problem Text
This is the test description:
On a call to lio_listio() when list[n]->aio_lio_opcode
is LIO_READ and list[n]->aio_reqprio
is not a valid value the return status of the asyn-
chronous operation shall be set to -1 and its error
status shall be set to EINVAL.
The test is executing an lio_listio() call with valid arguments. One of the
operations attempted by a specified aiocb control block generates an error, and
the test expects the error to be reported by lio_listio() rather than stored
by the aiocb block.
XSH5, p.465 specifies:
EINVAL The mode argument is an improper value, or
the value of nent is greater than
AIO_LISTIO_MAX.
Neither of these conditions obtain in the test case.
Further, from the same page:
..., the return value only indicates the success or failure of
the lio_listio() call itself, not the status of the individual I/O
requests.
The results demanded by the test suite are contrary to the standard.Test Output
400|33 38 1 20:02:57|IC Start
200|33 38 20:02:57|TP Start
520|33 38 00009285 1 1|> test with file
520|33 38 00009293 1 1|lio_listio succeeded
520|33 38 00009293 1 2|Error status for read is 0 (NO ERROR), expected EINVAL
520|33 38 00009293 1 3|aio_return returned 0 for read, expected -1
520|33 38 00009285 2 1|> test with pipe
520|33 38 00009285 2 2|testing not supported on pipes
520|33 38 00009285 2 3|> test with pty
520|33 38 00009285 2 4|pty testing not configured
520|33 38 00009285 2 5|> test with tty
520|33 38 00009285 2 6|tty testing not configured
220|33 38 1 20:02:57|FAIL
410|33 38 1 20:02:57|IC End
400|33 42 1 22:49:47|IC Start
200|33 42 22:49:47|TP Start
520|33 42 00005125 1 1|> test with file
520|33 42 00005136 1 1|lio_listio succeeded
520|33 42 00005136 1 2|Error status for write is 0 (NO ERROR), expected EI
NVAL
520|33 42 00005136 1 3|aio_return returned 1 for write, expected -1
520|33 42 00005125 2 1|> test with pipe
520|33 42 00005125 2 2|testing not supported on pipes
520|33 42 00005125 2 3|> test with pty
520|33 42 00005125 2 4|pty testing not configured
520|33 42 00005125 2 5|> test with tty
520|33 42 00005125 2 6|tty testing not configured
220|33 42 1 22:49:48|FAIL
Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We recommend this request be refused.
We believe these tests are correctly testing the specification.
The comments above maintain
The test is executing an lio_listio() call with valid arguments.
One of the operations attempted by a specified aiocb control
block generates an error, and the test expects the error to be
reported by lio_listio() rather than stored by the aiocb block.
The tests are calling lio_listio() with requests having aio_reqprio set to -1.
Per the spec this is an invalid priority:
The aio_reqprio member can be used to lower (but not raise) the
asynchronous I/O operation priority and will be within the range
zero through AIO_PRIO_DELTA_MAX, inclusive. The priority of an
asynchronous request is computed as (process scheduling priority)
minus aio_reqprio.
The tests also expect lio_listio to fail and set errno to EIO to indicate
the individual I/O operation failed. They then expect the failing
operation to have its error value set to EINVAL in its aiocb. This
is the behavior required by the spec.
For lio_listio:
[EIO] One or more of the individual I/O operations failed. The
application may check the error status for each aiocb
structure to determine the individual request(s) that failed.
To determine the outcome of each I/O request, the application
examines the error status associated with each aiocb control block.
The error statuses so returned are identical to those returned as
the result of an aio_read() or aio_write() function.
For aio_read/aio_write:
[EINVAL] The file offset value implied by aiocbp->aio_offset would
be invalid, aiocbp->aio_reqprio is not a valid
value, or aiocbp->aio_nbytes is an invalid value.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
This request is refused.
Problem Reporting System Options:
- View Report 1065
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority