aboutsummaryrefslogtreecommitdiff
path: root/testcases/open_posix_testsuite/conformance/interfaces/aio_read/assertions.xml
blob: ae2062221f211b98879c9e60637efd3ff9570bf3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<assertions>
	<assertion id="1" tag="ref:XSH6TC2:4125:4126">
	aio_read() shall read aio_nbytes from the files aio_fildes into the
	buffer aio_buf.
	</assertion>
	<assertion id="2" tag="ref:XSH6TC2:4129:4132">
	If prioritized I/O is supported asynchronous operation shall be
	submitted at priority equal to a base schedulling priority minus
	aio_reqprio.
	</assertion>
	<assertion id="3" tag="ref:XSH6TC2:4133:4133">
	aiocbp may be be used as an argument to aio_error() and aio_return().
	</assertion>
	<assertion id="4" tag="ref:XSH6TC2:4136:4138">
	The file is read at offset given by aio_offset.
	</assertion>
	<assertion id="5" tag="ref:XSH6TC2:4141:4141">
	aio_lio_opcode shall be ignored.
	</assertion>
	<assertion id="6" tag="ref:XSH6TC2:4151:4152">
	For regular files, no data transfer shall occur past the offset
	maximum established in the open file description associated with
	aio_fildes.
	</assertion>
	<assertion id="7" tag="ref:XSH6TC2:4154:4154">
	The aio_read() function shall return the value zero if operation is
	successfuly queued.
	</assertion>
	<assertion id="8" tag="ref:XSH6TC2:4155:4155">
	The aio_read() function shall return the value -1 and set errno to
	indicate error if the operation is not successfully queued.
	</assertion>
	<assertion id="9" tag="ref:XSH6TC2:4158:4159">
	aio_read() shall fail with [EAGAIN] if:
	The requested AIO operation was not queued to the system
	due to system resource limitations.
	</assertion>
	<assertion id="10" tag="ref:XSH6TC2:4165:4165">
	aio_read() shall fail with [EBADF] or the error status of the operation
        shall be [EBADF] if aio_fildes argument is not a valid file descriptor open for
	reading.
	</assertion>
	<assertion id="11"  tag="ref:XSH6TC2:4166:4168">
	aio_read() shall fail with [EINVAL] or the error status of the operation
        shall be [EINVAL] if aio_offset would be invalid, or aio_reqprio is not a valid
	value, or aio_nbytes is an invalid value.
	</assertion>
	<assertion id="12" tag="ref:XSH6TC2:4174:4174">
	The error status of a successfully queued operation shall be:
	[EBADF] if the aio_fildes argument is not a valid file descriptor open for
	reading.
	</assertion>
	<assertion id="13" tag="ref:XSH6TC2:4375:4376">
	The error status of a successfully queued operation shall be:
	[ECANCELED] if The requested I/O was canceled before the I/O completed.
	</assertion>
	<assertion id="14"  tag="ref:XSH6TC2:4177:4177">
	The error status of a successfully queued operation shall be:
	[EINVAL] if aio_offset would be invalid, or aio_reqprio is not a valid
	value, or aio_nbytes is an invalid value.
	</assertion>
	<assertion id="15" tag="ref:XSH6TC2:4179:4181">
	aio_read() shall fail with:
	[EOVERFLOW] if aio_nbytes is greater than 0, aio_offset is before EOF
	and is at or beyond the offset maximum associated with aio_fildes.
	</assertion>
</assertions>