2009-06-18 Joel Sherrill <joel.sherrill@OARcorp.com>

* psxstat/psxstat.scn, psxstat/test.c: Disable test for error on wrong
	mode bits being set. This behavior was not POSIX compliant and has
	been corrected in the filesystem code.
This commit is contained in:
Joel Sherrill
2009-06-18 16:19:53 +00:00
parent c1d924daa7
commit cbbc55ef71
3 changed files with 174 additions and 145 deletions

View File

@@ -1,3 +1,9 @@
2009-06-18 Joel Sherrill <joel.sherrill@OARcorp.com>
* psxstat/psxstat.scn, psxstat/test.c: Disable test for error on wrong
mode bits being set. This behavior was not POSIX compliant and has
been corrected in the filesystem code.
2009-06-18 Chris Johns <chrisj@rtems.org> 2009-06-18 Chris Johns <chrisj@rtems.org>
* psx04/task3.c: Declare unions volatile to workaround the H8300 * psx04/task3.c: Declare unions volatile to workaround the H8300

View File

@@ -8,6 +8,7 @@ Making directory /my_mount_point/dir1/dir1
Making directory /./././my_mount_point/dir1/ dir1 Making directory /./././my_mount_point/dir1/ dir1
Making directory /./././my_mount_point/links Making directory /./././my_mount_point/links
Making directory ///my_mount_point/dir1/dir1/../../dir1/../symlinks///// Making directory ///my_mount_point/dir1/dir1/../../dir1/../symlinks/////
Making file /////my_mount_point/dir1/\//file1\\// Making file /////my_mount_point/dir1/\//file1\\//
Making file /my_mount_point/dir1/file2 Making file /my_mount_point/dir1/file2
Making file /my_mount_point/dir1/file3 Making file /my_mount_point/dir1/file3
@@ -15,6 +16,7 @@ Making file /my_mount_point/dir1/file4
Making file /my_mount_point/dir1/dir1/file1 Making file /my_mount_point/dir1/dir1/file1
Making file ../../..//my_mount_point/dir1/./././dir1/ file1 Making file ../../..//my_mount_point/dir1/./././dir1/ file1
Making file main.c Making file main.c
Making file dir1/dir1/../../links/dir1 Making file dir1/dir1/../../links/dir1
Making file links/dir2 Making file links/dir2
Making file links/dir3 Making file links/dir3
@@ -22,12 +24,14 @@ Making file links/dir4
Making file links/dir1_dir1 Making file links/dir1_dir1
Making file links/dir1_ dir1 Making file links/dir1_ dir1
Making file links/../links/../links/links Making file links/../links/../links/links
Making file links/dir1_file1 Making file links/dir1_file1
Making file links/dir1_file2 Making file links/dir1_file2
Making file links/dir1_file3 Making file links/dir1_file3
Making file links/dir1_file4 Making file links/dir1_file4
Making file links/dir1_dir1_f1 Making file links/dir1_dir1_f1
Making file links/dir1_dir1 f1 Making file links/dir1_dir1 f1
Making file links/links/links/links_dir1 Making file links/links/links/links_dir1
Making file links//links_dir2 Making file links//links_dir2
Making file links//links_dir3 Making file links//links_dir3
@@ -35,12 +39,14 @@ Making file links//links_dir4
Making file links//links_dir1_d1 Making file links//links_dir1_d1
Making file links//links_dir1 d1 Making file links//links_dir1 d1
Making file links//links_links Making file links//links_links
Making file links///links_d1_file1 Making file links///links_d1_file1
Making file links///links_d1_file2 Making file links///links_d1_file2
Making file links///links_d1_file3 Making file links///links_d1_file3
Making file links///links_d1_file4 Making file links///links_d1_file4
Making file links///links_d1_d1_f1 Making file links///links_d1_d1_f1
Making file links///links_r1_d1 f1 Making file links///links_r1_d1 f1
Doing the stat() on all the good absolute paths Doing the stat() on all the good absolute paths
stat( /my_mount_point/dev ) returned stat( /my_mount_point/dev ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -57,7 +63,7 @@ stat( /my_mount_point/dev ) returned
stat( ////my_mount_point/dir1/\//file1\\// ) returned stat( ////my_mount_point/dir1/\//file1\\// ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino b ...st_ino b
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -69,7 +75,7 @@ stat( ////my_mount_point/dir1/\//file1\\// ) returned
stat( /my_mount_point/dir1/\\/file2 ) returned stat( /my_mount_point/dir1/\\/file2 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino c ...st_ino c
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -81,7 +87,7 @@ stat( /my_mount_point/dir1/\\/file2 ) returned
stat( /my_mount_point/dir1/file3/////\\\ ) returned stat( /my_mount_point/dir1/file3/////\\\ ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino d ...st_ino d
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -93,7 +99,7 @@ stat( /my_mount_point/dir1/file3/////\\\ ) returned
stat( /my_mount_point/dir1/file4 ) returned stat( /my_mount_point/dir1/file4 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino e ...st_ino e
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -105,7 +111,7 @@ stat( /my_mount_point/dir1/file4 ) returned
stat( /my_mount_point/dir1/dir1/file1 ) returned stat( /my_mount_point/dir1/dir1/file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino f ...st_ino f
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -117,7 +123,7 @@ stat( /my_mount_point/dir1/dir1/file1 ) returned
stat( /my_mount_point/dir1/dir1/ file1 ) returned stat( /my_mount_point/dir1/dir1/ file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 10 ...st_ino 10
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -210,6 +216,7 @@ stat( /my_mount_point/\/\/\/\/\/\/links\/\/\/\/\/\ ) returned
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:05 1988 ...st_ctime Sat Dec 31 09:00:05 1988
Doing the stat() on all the good relative paths Doing the stat() on all the good relative paths
stat( dev ) returned stat( dev ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -226,7 +233,7 @@ stat( dev ) returned
stat( dir1/\//file1\\// ) returned stat( dir1/\//file1\\// ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino b ...st_ino b
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -238,7 +245,7 @@ stat( dir1/\//file1\\// ) returned
stat( dir1/\\/file2 ) returned stat( dir1/\\/file2 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino c ...st_ino c
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -250,7 +257,7 @@ stat( dir1/\\/file2 ) returned
stat( dir1/file3/////\\\ ) returned stat( dir1/file3/////\\\ ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino d ...st_ino d
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -262,7 +269,7 @@ stat( dir1/file3/////\\\ ) returned
stat( dir1/file4 ) returned stat( dir1/file4 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino e ...st_ino e
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -274,7 +281,7 @@ stat( dir1/file4 ) returned
stat( dir1/dir1/file1 ) returned stat( dir1/dir1/file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino f ...st_ino f
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -286,7 +293,7 @@ stat( dir1/dir1/file1 ) returned
stat( dir1/dir1/ file1 ) returned stat( dir1/dir1/ file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 10 ...st_ino 10
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -370,7 +377,7 @@ stat( dir1/ dir1///\\ ) returned
stat( main.c ) returned stat( main.c ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 11 ...st_ino 11
...st_mode 100000 ...st_mode 100004
...st_nlink 1 ...st_nlink 1
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -379,7 +386,9 @@ stat( main.c ) returned
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:00 1988 ...st_ctime Sat Dec 31 09:00:00 1988
chdir to dev chdir to dev
stat relative paths that are now bad stat relative paths that are now bad
stat( dev ) returned : No such file or directory stat( dev ) returned : No such file or directory
stat( dir1/\//file1\\// ) returned : No such file or directory stat( dir1/\//file1\\// ) returned : No such file or directory
@@ -395,8 +404,10 @@ stat( dir4 ) returned : No such file or directory
stat( dir1/dir1 ) returned : No such file or directory stat( dir1/dir1 ) returned : No such file or directory
stat( dir1/ dir1///\\ ) returned : No such file or directory stat( dir1/ dir1///\\ ) returned : No such file or directory
stat( main.c ) returned : No such file or directory stat( main.c ) returned : No such file or directory
chdir to ../links chdir to ../links
Doing the stat() on good links Doing the stat() on good links
stat( dir1/dir1/../../links/dir1 ) returned stat( dir1/dir1/../../links/dir1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 3 ...st_ino 3
@@ -484,7 +495,7 @@ stat( links/../links/../links/links ) returned
stat( links/dir1_file1 ) returned stat( links/dir1_file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino b ...st_ino b
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -496,7 +507,7 @@ stat( links/dir1_file1 ) returned
stat( links/dir1_file2 ) returned stat( links/dir1_file2 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino c ...st_ino c
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -508,7 +519,7 @@ stat( links/dir1_file2 ) returned
stat( links/dir1_file3 ) returned stat( links/dir1_file3 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino d ...st_ino d
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -520,7 +531,7 @@ stat( links/dir1_file3 ) returned
stat( links/dir1_file4 ) returned stat( links/dir1_file4 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino e ...st_ino e
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -532,7 +543,7 @@ stat( links/dir1_file4 ) returned
stat( links/dir1_dir1_f1 ) returned stat( links/dir1_dir1_f1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino f ...st_ino f
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -544,7 +555,7 @@ stat( links/dir1_dir1_f1 ) returned
stat( links/dir1_dir1 f1 ) returned stat( links/dir1_dir1 f1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 10 ...st_ino 10
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -640,7 +651,7 @@ stat( links//links_links ) returned
stat( links///links_d1_file1 ) returned stat( links///links_d1_file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino b ...st_ino b
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -652,7 +663,7 @@ stat( links///links_d1_file1 ) returned
stat( links///links_d1_file2 ) returned stat( links///links_d1_file2 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino c ...st_ino c
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -664,7 +675,7 @@ stat( links///links_d1_file2 ) returned
stat( links///links_d1_file3 ) returned stat( links///links_d1_file3 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino d ...st_ino d
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -676,7 +687,7 @@ stat( links///links_d1_file3 ) returned
stat( links///links_d1_file4 ) returned stat( links///links_d1_file4 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino e ...st_ino e
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -688,7 +699,7 @@ stat( links///links_d1_file4 ) returned
stat( links///links_d1_d1_f1 ) returned stat( links///links_d1_d1_f1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino f ...st_ino f
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -700,7 +711,7 @@ stat( links///links_d1_d1_f1 ) returned
stat( links///links_r1_d1 f1 ) returned stat( links///links_r1_d1 f1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 10 ...st_ino 10
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -710,6 +721,7 @@ stat( links///links_r1_d1 f1 ) returned
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:10 1988 ...st_ctime Sat Dec 31 09:00:10 1988
chmod of /my_mount_point/dir1/dir1 to Read/Write chmod of /my_mount_point/dir1/dir1 to Read/Write
Doing the stat() on all the bad paths Doing the stat() on all the bad paths
stat( /my_mount_point/links/ENAMETOOLONG__________________________ ) returned : File or path name too long stat( /my_mount_point/links/ENAMETOOLONG__________________________ ) returned : File or path name too long
stat( /my_mount_point/dir1/file4/NOTADIR ) returned : Not a directory stat( /my_mount_point/dir1/file4/NOTADIR ) returned : Not a directory
@@ -717,6 +729,7 @@ stat( /my_mount_point/dir1/dir1/EACCES__ ) returned : Permission denied
Making file /my_mount_point/links/ENAMETOOLONG__________________________ : File or path name too long Making file /my_mount_point/links/ENAMETOOLONG__________________________ : File or path name too long
Making file /my_mount_point/dir1/file4/NOTADIR : Not a directory Making file /my_mount_point/dir1/file4/NOTADIR : Not a directory
Making file /my_mount_point/dir1/dir1/EACCES__ : Permission denied Making file /my_mount_point/dir1/dir1/EACCES__ : Permission denied
Return /my_mount_point/dir1/dir1 to RWX Return /my_mount_point/dir1/dir1 to RWX
Making file /my_mount_point/symlinks/a_file_symlink Making file /my_mount_point/symlinks/a_file_symlink
Verify with readlink Verify with readlink
@@ -733,7 +746,7 @@ Verify with readlink
stat( /my_mount_point/symlinks/a_file_symlink ) returned stat( /my_mount_point/symlinks/a_file_symlink ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino b ...st_ino b
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 0 ...st_gid 0
@@ -806,7 +819,6 @@ stat( 6 ) returned : Too many symbolic links
stat( 7 ) returned : Too many symbolic links stat( 7 ) returned : Too many symbolic links
stat( 8 ) returned : Too many symbolic links stat( 8 ) returned : Too many symbolic links
stat( 9 ) returned : Too many symbolic links stat( 9 ) returned : Too many symbolic links
Pass an invalid mode to chmod should fail with EPERM
chdir to a file should fail with ENOTDIR chdir to a file should fail with ENOTDIR
Verify RWX permission on /my_mount_point/dir1 via access Verify RWX permission on /my_mount_point/dir1 via access
chmod of /my_mount_point/dir1 to Read/Write chmod of /my_mount_point/dir1 to Read/Write
@@ -814,12 +826,19 @@ chmod fred should fail with ENOENT
Create under /my_mount_point/dir1 should fail with EACCES Create under /my_mount_point/dir1 should fail with EACCES
chdir to /my_mount_point/dir1/dir1 should fail with EACCES chdir to /my_mount_point/dir1/dir1 should fail with EACCES
Stat with a NULL buffer should fail with EFAULT Stat with a NULL buffer should fail with EFAULT
chmod of /my_mount_point/dir1 to Read/Write chmod of /my_mount_point/dir1 to Read/Write
mkdir /my_mount_point/dir1/BADNAME should fail with EACCESS mkdir /my_mount_point/dir1/BADNAME should fail with EACCESS
/my_mount_point/dir1 Should exist ( access ) /my_mount_point/dir1 Should exist ( access )
/my_mount_point/dir1 Should have read permission( access ) /my_mount_point/dir1 Should have read permission( access )
/my_mount_point/dir1 Should have write permission( access ) /my_mount_point/dir1 Should have write permission( access )
/my_mount_point/dir1 Should not have execute permission( access ) /my_mount_point/dir1 Should not have execute permission( access )
Restore /my_mount_point/dir1 to RWX Restore /my_mount_point/dir1 to RWX
chdir to /my_mount_point chdir to /my_mount_point
Remove /./././my_mount_point/dir1/ dir1 Remove /./././my_mount_point/dir1/ dir1
@@ -906,7 +925,7 @@ Change group of /my_mount_point/dir1/file2
stat( /my_mount_point/dir1/file2 ) returned stat( /my_mount_point/dir1/file2 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino c ...st_ino c
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 1 ...st_gid 1
@@ -919,7 +938,7 @@ Change owner of /my_mount_point/dir1/file2
stat( /my_mount_point/dir1/file2 ) returned stat( /my_mount_point/dir1/file2 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino c ...st_ino c
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 1 ...st_uid 1
...st_gid 0 ...st_gid 0
@@ -932,7 +951,7 @@ Change group of /my_mount_point/dir1/file3
stat( /my_mount_point/dir1/file3 ) returned stat( /my_mount_point/dir1/file3 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino d ...st_ino d
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 1 ...st_gid 1
@@ -940,12 +959,12 @@ stat( /my_mount_point/dir1/file3 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change owner of /my_mount_point/dir1/file3 Change owner of /my_mount_point/dir1/file3
stat( /my_mount_point/dir1/file3 ) returned stat( /my_mount_point/dir1/file3 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino d ...st_ino d
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 1 ...st_uid 1
...st_gid 0 ...st_gid 0
@@ -953,12 +972,12 @@ stat( /my_mount_point/dir1/file3 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change group of /my_mount_point/dir1/file4 Change group of /my_mount_point/dir1/file4
stat( /my_mount_point/dir1/file4 ) returned stat( /my_mount_point/dir1/file4 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino e ...st_ino e
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 1 ...st_gid 1
@@ -966,12 +985,12 @@ stat( /my_mount_point/dir1/file4 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change owner of /my_mount_point/dir1/file4 Change owner of /my_mount_point/dir1/file4
stat( /my_mount_point/dir1/file4 ) returned stat( /my_mount_point/dir1/file4 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino e ...st_ino e
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 1 ...st_uid 1
...st_gid 0 ...st_gid 0
@@ -979,12 +998,12 @@ stat( /my_mount_point/dir1/file4 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change group of /my_mount_point/dir1/dir1/file1 Change group of /my_mount_point/dir1/dir1/file1
stat( /my_mount_point/dir1/dir1/file1 ) returned stat( /my_mount_point/dir1/dir1/file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino f ...st_ino f
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 1 ...st_gid 1
@@ -992,12 +1011,12 @@ stat( /my_mount_point/dir1/dir1/file1 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change owner of /my_mount_point/dir1/dir1/file1 Change owner of /my_mount_point/dir1/dir1/file1
stat( /my_mount_point/dir1/dir1/file1 ) returned stat( /my_mount_point/dir1/dir1/file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino f ...st_ino f
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 1 ...st_uid 1
...st_gid 0 ...st_gid 0
@@ -1005,12 +1024,12 @@ stat( /my_mount_point/dir1/dir1/file1 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change group of ../../..//my_mount_point/dir1/./././dir1/ file1 Change group of ../../..//my_mount_point/dir1/./././dir1/ file1
stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 10 ...st_ino 10
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 0 ...st_uid 0
...st_gid 1 ...st_gid 1
@@ -1018,12 +1037,12 @@ stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change owner of ../../..//my_mount_point/dir1/./././dir1/ file1 Change owner of ../../..//my_mount_point/dir1/./././dir1/ file1
stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 10 ...st_ino 10
...st_mode 100000 ...st_mode 100004
...st_nlink 3 ...st_nlink 3
...st_uid 1 ...st_uid 1
...st_gid 0 ...st_gid 0
@@ -1031,12 +1050,12 @@ stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change group of main.c Change group of main.c
stat( main.c ) returned stat( main.c ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 11 ...st_ino 11
...st_mode 100000 ...st_mode 100004
...st_nlink 1 ...st_nlink 1
...st_uid 0 ...st_uid 0
...st_gid 1 ...st_gid 1
@@ -1044,12 +1063,12 @@ stat( main.c ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change owner of main.c Change owner of main.c
stat( main.c ) returned stat( main.c ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
...st_ino 11 ...st_ino 11
...st_mode 100000 ...st_mode 100004
...st_nlink 1 ...st_nlink 1
...st_uid 1 ...st_uid 1
...st_gid 0 ...st_gid 0
@@ -1057,7 +1076,7 @@ stat( main.c ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:25 1988 ...st_ctime Sat Dec 31 09:00:26 1988
Change group of dir1/dir1/../../links/dir1 Change group of dir1/dir1/../../links/dir1
stat( dir1/dir1/../../links/dir1 ) returned stat( dir1/dir1/../../links/dir1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -1070,7 +1089,7 @@ stat( dir1/dir1/../../links/dir1 ) returned
...st_size 1876 ...st_size 1876
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change owner of dir1/dir1/../../links/dir1 Change owner of dir1/dir1/../../links/dir1
stat( dir1/dir1/../../links/dir1 ) returned : Permission denied stat( dir1/dir1/../../links/dir1 ) returned : Permission denied
Change group of links/dir2 Change group of links/dir2
@@ -1085,7 +1104,7 @@ stat( links/dir2 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change owner of links/dir2 Change owner of links/dir2
stat( links/dir2 ) returned stat( links/dir2 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -1098,7 +1117,7 @@ stat( links/dir2 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change group of links/dir3 Change group of links/dir3
stat( links/dir3 ) returned stat( links/dir3 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -1111,7 +1130,7 @@ stat( links/dir3 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change owner of links/dir3 Change owner of links/dir3
stat( links/dir3 ) returned stat( links/dir3 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -1124,7 +1143,7 @@ stat( links/dir3 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change group of links/dir4 Change group of links/dir4
stat( links/dir4 ) returned stat( links/dir4 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -1137,7 +1156,7 @@ stat( links/dir4 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change owner of links/dir4 Change owner of links/dir4
stat( links/dir4 ) returned stat( links/dir4 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -1150,7 +1169,7 @@ stat( links/dir4 ) returned
...st_size 0 ...st_size 0
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change group of links/dir1_dir1 Change group of links/dir1_dir1
stat( links/dir1_dir1 ) returned stat( links/dir1_dir1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -1163,7 +1182,7 @@ stat( links/dir1_dir1 ) returned
...st_size 536 ...st_size 536
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change owner of links/dir1_dir1 Change owner of links/dir1_dir1
stat( links/dir1_dir1 ) returned stat( links/dir1_dir1 ) returned
...st_dev (0x0:0x0) ...st_dev (0x0:0x0)
@@ -1176,7 +1195,7 @@ stat( links/dir1_dir1 ) returned
...st_size 536 ...st_size 536
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change group of links/dir1_ dir1 Change group of links/dir1_ dir1
stat( links/dir1_ dir1 ) returned : No such file or directory stat( links/dir1_ dir1 ) returned : No such file or directory
Change owner of links/dir1_ dir1 Change owner of links/dir1_ dir1
@@ -1193,7 +1212,9 @@ stat( links/../links/../links/links ) returned
...st_size 8844 ...st_size 8844
...st_atime Sat Dec 31 09:00:00 1988 ...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988 ...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:30 1988 ...st_ctime Sat Dec 31 09:00:31 1988
Change owner of links/../links/../links/links Change owner of links/../links/../links/links
stat( links/../links/../links/links ) returned : Permission denied stat( links/../links/../links/links ) returned : Permission denied
*** END OF STAT TEST 01 *** *** END OF STAT TEST 01 ***

View File

@@ -478,10 +478,12 @@ void Cause_faults()
* Verify chmod with an invalid type. * Verify chmod with an invalid type.
*/ */
#if 0
printf("\n\nPass an invalid mode to chmod should fail with EPERM \n" ); printf("\n\nPass an invalid mode to chmod should fail with EPERM \n" );
status = chmod( Files[0], S_IFREG ); status = chmod( Files[0], S_IFREG );
assert( status == -1 ); assert( status == -1 );
assert( errno == EPERM ); assert( errno == EPERM );
#endif
/* /*
* Change file to executable then try to chdir to it. * Change file to executable then try to chdir to it.