|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1136 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 1136.
Report 1136 Actions
Problem Report Number 1136 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0338 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard Sockets (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 5.0.2 Test Identification CAPIbase/lockf 43 Problem Summary PG4U.00134 This request states that the test may fail because it does not use _PC_FILESIZEBITS to calculate MAXOFF_VAL. Problem Text
This Interpretation Request is for the following tests:
ftruncate 18
lockf 42, 43, 44
lstat 33
mmap 41
readv 70, 71, 72
writev 75, 76, 77
Currently our implementation is only failing lockf 43, however the
other listed tests have the same problem. In file flockflfs.h the following
is found:
#define MAXOFF_VAL(x) pow((double)2, (double)((x*8)-1))-1
This is used to calculate the largest offset value that can be used
for a file. This is incorrect, XPG5 has a specific way to determine this
value; page 1097 <limits.h> states:
"FILESIZEBITS Minimum number of bits needed to represent, as a signed
integer value, the maximum size of a regular file allowed in
the specified directory.
Minimum Acceptable Value: 32"
The line above needs to be changed to something like the following and the
appropriate lines fixed in t43smloff.c.
#define MAXOFF_VAL pow((double)2, (double)(pathconf(".",_PC_FILESIZEBITS)-1))-1Test Output
TEST CASE: lockf
TEST PURPOSE #43
EOVERFLOW in errno and return -1 on a call to int
lockf(int fildes, int function, off_t size) when size
is not 0 and the offset of the last byte in the
requested section cannot be represented correctly in
an object of type off_t.
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 test program: lseek() failed, errno = 22(Invalid argument)
PREP: Open communication pipe for child
PREP: Fork a child
PREP: Connect child's pipe to stdout
PREP: Execute a test program build in 64-bit off_t environment that:
opens a file for writing,
set the offset below that which can be represented in an off_t
TEST: lockf returns -1 and sets errno to EOVERFLOW when offset
of the last byte in request cannot be represented in an off_t object
PREP: Wait for child
INFO: Read child's test result
ERROR: In test program: lseek() failed, errno = 22(Invalid argument)
PREP: Open communication pipe for child
PREP: Fork a child
PREP: Connect child's pipe to stdout
PREP: Execute a test program build in 64-bit off_t environment that:
opens a file for writing,
set the offset below that which can be represented in an off_t
TEST: lockf returns -1 and sets errno to EOVERFLOW when offset
of the last byte in request cannot be represented in an off_t object
PREP: Wait for child
INFO: Read child's test result
ERROR: In test program: lseek() failed, errno = 22(Invalid argument)
PREP: Open communication pipe for child
PREP: Fork a child
PREP: Connect child's pipe to stdout
PREP: Execute a test program build in 64-bit off_t environment that:
opens a file for writing,
set the offset below that which can be represented in an off_t
TEST: lockf returns -1 and sets errno to EOVERFLOW when offset
of the last byte in request cannot be represented in an off_t object
PREP: Wait for child
INFO: Read child's test result
ERROR: In test program: lseek() failed, errno = 22(Invalid argument)
PREP: Connect child's pipe to stdout
PREP: Execute a test program build in 64-bit off_t environment that:
opens a file for writing,
set the offset below that which can be represented in an off_t
TEST: lockf returns -1 and sets errno to EOVERFLOW when offset
of the last byte in request cannot be represented in an off_t object
43 UNRESOLVED
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 the test is correct as written. The submitter never provides
any reason to the contrary, He simply presents an alternative method
of programming the test.
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 1136
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority