Report 1925 Actions
Problem Report Number |
1925 |
Submitter's Classification |
Specification problem |
State |
Resolved |
Resolution |
Rejected (REJ) |
Problem Resolution ID |
REJ.X.0561 |
Raised |
1999-04-20 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 |
VSX4 version 4.4.3 |
Test Identification |
ANSI.os/streamio/fopen 25 |
Problem Summary |
PG5R.004 This IR is for the following tests: ANSI.os/streamio/fopen 25 ANSI.os/streamio/freopen 26 ANSI.os/streamio/remove 14 POSIX.os/file/access 38 POSIX.os/file/chdir 7 POSIX.os/file/chmod 12 POSIX.os/file/... |
Problem Text |
This IR is for the following tests:
ANSI.os/streamio/fopen 25 ANSI.os/streamio/freopen 26 ANSI.os/streamio/remove 14 POSIX.os/file/access 38 POSIX.os/file/chdir 7 POSIX.os/file/chmod 12 POSIX.os/file/chown 11 POSIX.os/file/creat 23 POSIX.os/file/link 17 POSIX.os/file/mkdir 14 POSIX.os/file/mkfifo 12 POSIX.os/file/open 37 POSIX.os/file/opendir 10 POSIX.os/file/pathconf 21 POSIX.os/file/rename 27 POSIX.os/file/rmdir 15 POSIX.os/file/stat 9 POSIX.os/file/unlink 14 POSIX.os/file/utime 13 POSIX.os/procprim/execl 37 POSIX.os/procprim/execle 37 POSIX.os/procprim/execlp 37 POSIX.os/procprim/execv 37 POSIX.os/procprim/execve 37 POSIX.os/procprim/execvp 37 XOPEN.os/misc/ftw 9 XOPEN.os/procenv/chroot 7
This IR is for both VSX 4.4.3 and VSX+NFS 4.4.3 used for branding UNIX98.
This request is to extend PIN4.006 for UNIX 98 branding. The UNIX 98 specification did not change the UNIX 95 requirements in this area. And POSIX 1003.1a still has not been approved as a formal standard.
|
Test Output |
************************************************************************ /tset/ANSI.os/streamio/fopen/T.fopen 25 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and NULL returned by fopen() when the length of the path exceeds PATH_MAX bytes; otherwise a call to fopen() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component FOPEN Assertion 8.2.3.11-13(A)
Test Strategy: CREATE directory using crdir() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 OPEN stream using a pathname of length PATH_MAX in fopen() VERIFY that fopen() returned successfully OPEN stream using a pathname of length PATH_MAX+1 in fopen() VERIFY that fopen() returned NULL and errno was set to ENAMETOOLONG OTHERWISE OPEN stream using a pathname of length PCTS_PATH_MAX in fopen() VERIFY that fopen() returned successfully
Test Information: fopen(<1023 char path>, "w") did not return NULL ************************************************************************ ************************************************************************ /tset/ANSI.os/streamio/freopen/T.freopen 26 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and NULL returned by freopen() when the length of the path exceeds PATH_MAX bytes; otherwise a call to freopen() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component FREOPEN Assertion 8.2.3.11-15(A)
Test Strategy: OPEN stream using fopen() CREATE directory using crdir() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 REOPEN stream using a pathname of length PATH_MAX in freopen() VERIFY that freopen() returned successfully OPEN stream using fopen() REOPEN stream using a pathname of length PATH_MAX+1 in freopen() VERIFY that freopen() returned NULL and errno was set to ENAMETOOLONG OTHERWISE REOPEN stream using a pathname of length PCTS_PATH_MAX in freopen() VERIFY that freopen() returned successfully
Test Information: freopen(<1023 char path>, "w", fp) did not return NULL ************************************************************************ ************************************************************************ /tset/ANSI.os/streamio/remove/T.remove 14 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to remove(path) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to remove(path) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error.
Test Strategy: CREATE directory using crdir() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 REMOVE a pathname of length PATH_MAX using remove() VERIFY that remove() returned 0 REMOVE a pathname of length PATH_MAX+1 using remove() VERIFY that remove() returned -1 and errno was set to ENAMETOOLONG OTHERWISE REMOVE a pathname of length PCTS_PATH_MAX using remove() VERIFY that remove() returned 0
Test Information: remove("<1023 char path>") did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/access/T.access 38 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to access(path, amode) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to access(path, amode) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component ACCESS Assertion 5.6.3.4-43(A)
Test Strategy: CREATE file using creat() with MODEANY IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 ACCESS the file via a pathname of length PATH_MAX with the access mode F_OK using access() VERIFY that access() returned 0 ACCESS the file via a pathname of length PATH_MAX+1 with the access mode F_OK using access() VERIFY that access() returned -1 and errno was set to ENAMETOOLONG OTHERWISE ACCESS the file via a pathname of length PCTS_PATH_MAX with the access mode F_OK using access() VERIFY that access() returned 0
Test Information: access("<1023 char name>", F_OK) did not give correct results file mode: 0100777, owner: 0, group: 2000 process real uid: 2000, real gid: 2000 RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/chdir/T.chdir 7 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno, a return value of -1 and the current directory remains unchanged on a call to chdir(path) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to chdir(path) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component CHDIR Assertion 5.2.1.4-28(A)
Test Strategy: CREATE directory using crdir() CREATE child process using cppair() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CHANGE directory to the new directory via a pathname of length PATH_MAX using chdir() VERIFY that chdir() returned 0 CHANGE directory to the parent directory using chdir("..") CHANGE directory to the new directory via a pathname of length PATH_MAX+1 using chdir() VERIFY that chdir() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CHANGE directory to the new directory via a pathname of length PCTS_PATH_MAX using chdir() VERIFY that chdir() returned 0
Test Information: chdir("<1023 char path>") did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/chmod/T.chmod 12 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to chmod(path, mode), when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to chmod(path, mode), when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component CHMOD Assertion 5.6.4.4-33(A)
Test Strategy: CREATE file using crfile() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CHANGE the mode of the file via a pathname of length PATH_MAX using chmod() with S_IRWXU VERIFY that chmod() returned 0 CHANGE the mode of the file via a pathname of length PATH_MAX+1 using chmod() with S_IRWXU VERIFY that chmod() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CHANGE the mode of the file via a pathname of length PCTS_PATH_MAX using chmod() with S_IRWXU VERIFY that chmod() returned 0
Test Information: chmod("<1023 char path>", 0700) did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/chown/T.chown 11 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to chown(path, owner, group) when the length of path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to chown(path, owner, group) when the length of path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component CHOWN Assertion 5.6.5.4-32(A)
Test Strategy: WHEN testing the XNFS specification: CREATE child process using tet_fork() CHANGE to a directory on a file system that does not map the user id CREATE file using crfile() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CHANGE the owner and group of the file via a pathname of length PATH_MAX using chown() with effective group and user ids VERIFY that chown() returned 0 CHANGE the owner and group of the file via a pathname of length PATH_MAX+1 using chown() with effective group and user ids VERIFY that chown() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CHANGE the owner and group of the file via a pathname of length PCTS_PATH_MAX using chown() with effective group and user ids VERIFY that chown() returned 0
Test Information: chown("<1023 char path>", 0, 2000) did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/creat/T.creat 23 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to creat(path, mode) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to creat(path, mode) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component CREAT Assertion 5.3.2.4-50(A) Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE a file via a pathname of length PATH_MAX using creat() VERIFY that creat() returned successfully CREATE a file via a pathname of length PATH_MAX+1 using creat() VERIFY that creat() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE a file via a pathname of length PCTS_PATH_MAX using creat() VERIFY that creat() returned successfully
Test Information: creat("<1023 char path>", 0777) did not give correct results RETURN VALUES: expected: -1, observed: 5 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/link/T.link 17 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to link(path1, path2) when the length of the path1 or the path2 argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to link(path1, path2) when the length of the path1 or the path2 argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component LINK Assertion 5.3.4.4-52(A) Posix Ref: Component LINK Assertion 5.3.4.4-53(A)
Test Strategy: CREATE file using creat() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE link to file via a pathname of length PATH_MAX using link() with this pathname as path1 VERIFY that link() returned 0 CREATE link to file via a pathname of length PATH_MAX+1 using link() with this pathname as path1 VERIFY that link() returned -1 and errno was set to ENAMETOOLONG CREATE file using creat() CREATE link to file using link() with a pathname of length PATH_MAX as path2 VERIFY that link() returned 0 CREATE link to file using link() with a pathname of length PATH_MAX+1 as path2 VERIFY that link() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE link to file via a pathname of length PCTS_PATH_MAX using link() with this pathname as path1 VERIFY that link() returned 0 CREATE link to file using link() with a pathname of length PCTS_PATH_MAX as path2 VERIFY that link() returned 0
Test Information: link("<1023 char path>", "link-t.17b") did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR) link("link-t.17b", "<1023 char path>") did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/mkdir/T.mkdir 14 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to mkdir(path, mode) when the length of path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to mkdir(path, mode) when the length of path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component MKDIR Assertion 5.4.1.4-35(A)
Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE a directory via a pathname of length PATH_MAX using mkdir() VERIFY that mkdir() returned 0 CREATE a directory via a pathname of length PATH_MAX+1 using mkdir() VERIFY that mkdir() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE a directory via a pathname of length PCTS_PATH_MAX using mkdir() VERIFY that mkdir() returned 0
Test Information: mkdir("<1023 char path>", 0777) did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/mkfifo/T.mkfifo 12 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno, a return value of -1 and the FIFO shall not be created on a call to mkfifo(path, mode) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to mkfifo(path, mode) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component MKFIFO Assertion 5.4.2.4-33(A)
Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE FIFO with a pathname of length PATH_MAX using mkfifo() VERIFY that mkfifo() returned 0 CREATE FIFO with a pathname of length PATH_MAX+1 using mkfifo() VERIFY that mkfifo() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE FIFO with a pathname of length PCTS_PATH_MAX using mkfifo() VERIFY that mkfifo() returned 0
Test Information: mkfifo("<1023 char path>", 0777) did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/open/T.open 37 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to open(path, oflag) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to open(path, oflag) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component OPEN Assertion 5.3.1.4-64(A)
Test Strategy: CREATE file using creat() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 OPEN the file via a pathname of length PATH_MAX using open() with O_RDONLY VERIFY that open() returned successfully OPEN the file via a pathname of length PATH_MAX+1 using open() with O_RDONLY VERIFY that open() returned -1 and errno was set to ENAMETOOLONG OTHERWISE OPEN the file via a pathname of length PCTS_PATH_MAX using open() with O_RDONLY VERIFY that open() returned successfully
Test Information: open("<1023 char path>", O_RDONLY) did not give correct results RETURN VALUES: expected: -1, observed: 5 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/opendir/T.opendir 10 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of NULL on a call to opendir(dirname) when the length of the dirname argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to opendir(dirname) when the length of the dirname argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component OPENDIR Assertion 5.1.2.4-31(A)
Test Strategy: CREATE directory using crdir() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 OPEN the new directory via a pathname of length PATH_MAX using opendir() VERIFY that opendir() did not return NULL OPEN the new directory via a pathname of length PATH_MAX+1 using opendir() VERIFY that opendir() returned NULL and errno was set to ENAMETOOLONG OTHERWISE OPEN the new directory via a pathname of length PCTS_PATH_MAX using opendir() VERIFY that opendir() did not return NULL
Test Information: opendir("<1023 char path>") succeeded unexpectedly
************************************************************************ ************************************************************************ /tset/POSIX.os/files/pathconf/T.pathconf 21 Failed
Test Description: The value returned by pathconf(path, _PC_PATH_MAX) when path refers to a directory and path is the current working directory, is the maximum length of a relative pathname. Posix Ref: Component PATHCONF Assertion 5.7.1.2-37(A)
Test Strategy: OBTAIN a pathname that is too long using pathtoolng() - (tsetlib) NOTE - this has the effect of using pathconf() on the current directory with _PC_PATH_MAX as required by the test CREATE file using creat() VERIFY that creat() returned -1 and errno was set to ENAMETOOLONG
Test Information: creat() with relative path longer than PATH_MAX did not fail with ENAMETOOLONG RETURN VALUES: expected: -1, observed: 5 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/rename/T.rename 27 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno, a return value of -1 and the named files are not changed on a call to rename(old, new) when the length of the old or new argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to rename(old, new) when the length of the old or new argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component RENAME Assertion 5.5.3.4-56(A)
Test Strategy: CREATE file using crfile() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 RENAME the file via a pathname of length PATH_MAX to new pathname using rename() VERIFY that rename() returned 0 RENAME the file via a pathname of length PATH_MAX+1 to new pathname using rename() VERIFY that rename() returned -1 and errno was set to ENAMETOOLONG CREATE file using crfile() RENAME the file to a new pathname of length PATH_MAX using rename() VERIFY that rename() returned 0 CREATE file using crfile() RENAME the file to a new pathname of length PATH_MAX+1 using rename() VERIFY that rename() returned -1 and errno was set to ENAMETOOLONG OTHERWISE RENAME the file via a pathname of length PCTS_PATH_MAX to new pathname using rename() VERIFY that rename() returned 0 CREATE file using crfile() RENAME the file to a new pathname of length PCTS_PATH_MAX using rename() VERIFY that rename() returned 0
Test Information: rename("<1023 char path>", "rename-t.27b") did not give correct results ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 2 (ENOENT) rename("rename-t.27b", "<1023 char path>") did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/rmdir/T.rmdir 15 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to rmdir(path) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}, and the directory shall not be removed; otherwise a call to rmdir(path) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component RMDIR Assertion 5.5.2.4-36(A)
Test Strategy: CREATE directory using crdir() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 REMOVE the directory via a pathname of length PATH_MAX using rmdir() VERIFY that rmdir() returned 0 CREATE directory using crdir() REMOVE the directory via a pathname of length PATH_MAX+1 using rmdir() VERIFY that rmdir() returned -1 and errno was set to ENAMETOOLONG OTHERWISE REMOVE the directory via a pathname of length PCTS_PATH_MAX using rmdir() VERIFY that rmdir() returned 0
Test Information: rmdir("<1023 char path>") did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************
************************************************************************ /tset/POSIX.os/files/stat/T.stat 9 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to stat(path, buf) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to stat(path, buf) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component STAT Assertion 5.6.2.4-39(A)
Test Strategy: CREATE file using crfile() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 OBTAIN status information for a pathname of length PATH_MAX using stat() VERIFY that stat() returned 0 OBTAIN status information for a pathname of length PATH_MAX+1 using stat() VERIFY that stat() returned -1 and errno was set to ENAMETOOLONG OTHERWISE OBTAIN status information for a pathname of length PCTS_PATH_MAX using stat() VERIFY that stat() returned 0
Test Information: stat("<1023 char path>", buf) did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/unlink/T.unlink 14 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to unlink(path) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to unlink(path) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component UNLINK Assertion 5.5.1.4-37(A)
Test Strategy: CREATE file using creat() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 UNLINK the file via a pathname of length PATH_MAX using unlink() VERIFY that unlink() returned 0 CREATE file using creat() UNLINK the file via a pathname of length PATH_MAX+1 using unlink() VERIFY that unlink() returned -1 and errno was set to ENAMETOOLONG OTHERWISE UNLINK the file via a pathname of length PCTS_PATH_MAX using unlink() VERIFY that unlink() returned 0
Test Information: unlink("<1023 char path>") did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/files/utime/T.utime 13 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and a return value of -1 on a call to utime(path, times) when the length of the path argument exceeds the maximum number of characters in a pathname {PATH_MAX}; otherwise a call to utime(path, times) when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component UTIME Assertion 5.6.6.4-35(A)
Test Strategy: CREATE file using creat() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 SET access and modification times for a pathname of length PATH_MAX using utime() VERIFY that utime() returned 0 SET access and modification times for a pathname of length PATH_MAX+1 using utime() VERIFY that utime() returned -1 and errno was set to ENAMETOOLONG OTHERWISE SET access and modification times for a pathname of length PCTS_PATH_MAX using utime() VERIFY that utime() returned 0
Test Information: utime("<1023 char path>", NULL) did not give correct results RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/procprim/exec/T.execl 37 Failed
If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and -1 returned by execl() when the length of the path argument exceeds the number of characters in a pathname {PATH_MAX}; Neither the argv[] and envp[] arrays of pointers nor the strings to which those array elements point are modified. File descriptors marked close-on-exec are not closed, signals set to be caught are not set to default, neither the effective user ID nor the effective group ID of the current process is changed, and neither the value of the global variable environ nor the pointers it contains nor the strings to which they point are modified. otherwise a call to execl() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component EXECL Assertion 3.1.2.4-59(A)
Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE child process EXECUTE file via a pathname of length PATH_MAX using execl() VERIFY that execl() succeeded CREATE child process EXECUTE file via a pathname of length PATH_MAX+1 using execl() VERIFY that execl() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE child process EXECUTE file via a pathname of length PCTS_PATH_MAX using execl() VERIFY that execl() succeeded
Test Information: execl(../exec_tok, ...) when ../exec_tok prefixed by 1012 char path did not return expected values RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/procprim/exec/T.execle 37 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and -1 returned by execle() when the length of the path argument exceeds the number of characters in a pathname {PATH_MAX}; Neither the argv[] and envp[] arrays of pointers nor the strings to which those array elements point are modified. File descriptors marked close-on-exec are not closed, signals set to be caught are not set to default, neither the effective user ID nor the effective group ID of the current process is changed, and neither the value of the global variable environ nor the pointers it contains nor the strings to which they point are modified. otherwise a call to execle() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component EXECLE Assertion 3.1.2.4-59(A)
Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE child process EXECUTE file via a pathname of length PATH_MAX using execle() VERIFY that execle() succeeded CREATE child process EXECUTE file via a pathname of length PATH_MAX+1 using execle() VERIFY that execle() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE child process EXECUTE file via a pathname of length PCTS_PATH_MAX using execle() VERIFY that execle() succeeded
Test Information: execle(../exec_tok, ...) when ../exec_tok prefixed by 1012 char path did not return expected values RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/procprim/exec/T.execlp 37 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and -1 returned by execlp() when the length of the path argument exceeds the number of characters in a pathname {PATH_MAX}; Neither the argv[] and envp[] arrays of pointers nor the strings to which those array elements point are modified. File descriptors marked close-on-exec are not closed, signals set to be caught are not set to default, neither the effective user ID nor the effective group ID of the current process is changed, and neither the value of the global variable environ nor the pointers it contains nor the strings to which they point are modified. otherwise a call to execlp() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component EXECLP Assertion 3.1.2.4-59(A)
Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE child process EXECUTE file via a pathname of length PATH_MAX using execlp() VERIFY that execlp() succeeded CREATE child process EXECUTE file via a pathname of length PATH_MAX+1 using execlp() VERIFY that execlp() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE child process EXECUTE file via a pathname of length PCTS_PATH_MAX using execlp() VERIFY that execlp() succeeded
Test Information: execlp(../exec_tok, ...) when ../exec_tok prefixed by 1012 char path did not return expected values RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/procprim/exec/T.execv 37 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and -1 returned by execv() when the length of the path argument exceeds the number of characters in a pathname {PATH_MAX}; Neither the argv[] and envp[] arrays of pointers nor the strings to which those array elements point are modified. File descriptors marked close-on-exec are not closed, signals set to be caught are not set to default, neither the effective user ID nor the effective group ID of the current process is changed, and neither the value of the global variable environ nor the pointers it contains nor the strings to which they point are modified. otherwise a call to execv() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component EXECV Assertion 3.1.2.4-59(A)
Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE child process EXECUTE file via a pathname of length PATH_MAX using execv() VERIFY that execv() succeeded CREATE child process EXECUTE file via a pathname of length PATH_MAX+1 using execv() VERIFY that execv() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE child process EXECUTE file via a pathname of length PCTS_PATH_MAX using execv() VERIFY that execv() succeeded
Test Information: execv(../exec_tok, ...) when ../exec_tok prefixed by 1012 char path did not return expected values RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/procprim/exec/T.execve 37 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and -1 returned by execve() when the length of the path argument exceeds the number of characters in a pathname {PATH_MAX}; Neither the argv[] and envp[] arrays of pointers nor the strings to which those array elements point are modified. File descriptors marked close-on-exec are not closed, signals set to be caught are not set to default, neither the effective user ID nor the effective group ID of the current process is changed, and neither the value of the global variable environ nor the pointers it contains nor the strings to which they point are modified. otherwise a call to execve() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component EXECVE Assertion 3.1.2.4-59(A)
Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE child process EXECUTE file via a pathname of length PATH_MAX using execve() VERIFY that execve() succeeded CREATE child process EXECUTE file via a pathname of length PATH_MAX+1 using execve() VERIFY that execve() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE child process EXECUTE file via a pathname of length PCTS_PATH_MAX using execve() VERIFY that execve() succeeded
Test Information: execve(../exec_tok, ...) when ../exec_tok prefixed by 1012 char path did not return expected values RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/POSIX.os/procprim/exec/T.execvp 37 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno and -1 returned by execvp() when the length of the path argument exceeds the number of characters in a pathname {PATH_MAX}; Neither the argv[] and envp[] arrays of pointers nor the strings to which those array elements point are modified. File descriptors marked close-on-exec are not closed, signals set to be caught are not set to default, neither the effective user ID nor the effective group ID of the current process is changed, and neither the value of the global variable environ nor the pointers it contains nor the strings to which they point are modified. otherwise a call to execvp() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error. Posix Ref: Component EXECVP Assertion 3.1.2.4-59(A)
Test Strategy: IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 CREATE child process EXECUTE file via a pathname of length PATH_MAX using execvp()
VERIFY that execvp() succeeded CREATE child process EXECUTE file via a pathname of length PATH_MAX+1 using execvp() VERIFY that execvp() returned -1 and errno was set to ENAMETOOLONG OTHERWISE CREATE child process EXECUTE file via a pathname of length PCTS_PATH_MAX using execvp() VERIFY that execvp() succeeded
Test Information: execvp(../exec_tok, ...) when ../exec_tok prefixed by 1012 char path did not return expected values RETURN VALUES: expected: -1, observed: 0 ERRNO VALUES: expected: 86 (ENAMETOOLONG), observed: 0 (NO ERROR)
************************************************************************ ************************************************************************ /tset/XOPEN.os/genuts/ftw/T.ftw 9 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ftw() returns -1 and sets errno to ENAMETOOLONG if the length of path exceeds PATH_MAX; otherwise a call to ftw() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error.
Test Strategy: CREATE directory using crdir() IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 TRAVERSE file tree via a pathname of length PATH_MAX using ftw() VERIFY that ftw() succeeded TRAVERSE file tree via a pathname of length PATH_MAX+1 using ftw() VERIFY that ftw() returned -1 and errno was set to ENAMETOOLONG OTHERWISE TRAVERSE file tree via a pathname of length PCTS_PATH_MAX using ftw() VERIFY that ftw() succeeded
Test Information: ftw(<1023 char path>, ..., 2) returned 1 instead of -1
************************************************************************ ************************************************************************ /tset/XOPEN.os/procenv/chroot/T.chroot 7 Failed
Test Description: If _POSIX_PATH_MAX <= {PATH_MAX} <= PCTS_PATH_MAX, then ENAMETOOLONG in errno root not changed and -1 returned by chroot() if path argument exceeds PATH_MAX characters; otherwise a call to chroot() when the length of the path argument equals PCTS_PATH_MAX does not give an ENAMETOOLONG error.
Test Strategy: ASSIGN the NEWROOT privilege to the current process using setprv() VERIFY that setprv() returned 0 CREATE child process IF pathconf() returns a value of PATH_MAX <= PCTS_PATH_MAX, and not -1 SET "testpath" to contain a pathname to "." of length PATH_MAX CALL chroot("testpath") VERIFY that chroot() returned 0 SET "testpath" to contain a pathname to "." of length PATH_MAX+1 CALL chroot("testpath") VERIFY that chroot() returned -1 and errno was set to ENAMETOOLONG OTHERWISE SET "testpath" to contain a pathname to "." of length PCTS_PATH_MAX CALL chroot("testpath") VERIFY that chroot() returned 0
Test Information: chroot(<1023 char path>) returned 0, expected -1
************************************************************************
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
It is recommended that this request be forwarded to the Base Working Group for review.
It is worth noting the following points:
(1) The PATH_MAX limit as specified in the CAE includes the trailing null byte and this specification has been stable for nearly 7 years.
(2) The test suite has tested this requirement for XPG4, UNIX 95 and UNIX 98.
(3) The draft POSIX.1a amendment has consistently stated that the PATH_MAX limit includes the trailing null byte
(4) No currently UNIX 98 branded system has requested a PIN
We recommend that this request be refused.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
This request should go for a 14 day review. The intent is to clarify the requirements for UNIX 98. Approval or refusal will have no effect on the existing registrations under UNIX 95.
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
The Base Working Group says:
We agree with the consultants initial response. The request should be rejected.
The X/Open decision:
The request is rejected.
|
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:
|