summaryrefslogtreecommitdiffstats
path: root/testsuites/psxtests/psxstat
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2010-07-01 17:24:35 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2010-07-01 17:24:35 +0000
commitc40d3c4b02ba66dbc99ad7fd01813e42f1b99c6a (patch)
treeb95b7430a0b275d59076817893ba2e35d9075581 /testsuites/psxtests/psxstat
parent2010-07-01 Vinu Rajashekhar <vinutheraj@gmail.com> (diff)
downloadrtems-c40d3c4b02ba66dbc99ad7fd01813e42f1b99c6a.tar.bz2
2010-07-01 Vinu Rajashekhar <vinutheraj@gmail.com>
PR 1597/cpukit * psx13/psx13.scn, psx13/test.c, psxstat/psxstat.scn, psxstat/test.c: Add lchown() and utimes().
Diffstat (limited to 'testsuites/psxtests/psxstat')
-rw-r--r--testsuites/psxtests/psxstat/psxstat.scn646
-rw-r--r--testsuites/psxtests/psxstat/test.c101
2 files changed, 648 insertions, 99 deletions
diff --git a/testsuites/psxtests/psxstat/psxstat.scn b/testsuites/psxtests/psxstat/psxstat.scn
index 4a55b038e1..20525b0d2f 100644
--- a/testsuites/psxtests/psxstat/psxstat.scn
+++ b/testsuites/psxtests/psxstat/psxstat.scn
@@ -1,5 +1,5 @@
*** STAT TEST 01 ***
---->Current Time: - rtems_clock_get - 09:00:00 12/31/1988
+--->Current Time: - rtems_clock_get_tod - 09:00:00 12/31/1988
Making directory /my_mount_point/dir1
Making directory /my_mount_point/dir2
Making directory /my_mount_point/dir3
@@ -60,8 +60,10 @@ stat( /my_mount_point/dev ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( ////my_mount_point/dir1/\//file1\\// ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino b
...st_mode 100004
...st_nlink 3
@@ -72,8 +74,10 @@ stat( ////my_mount_point/dir1/\//file1\\// ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir1/\\/file2 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino c
...st_mode 100004
...st_nlink 3
@@ -84,8 +88,10 @@ stat( /my_mount_point/dir1/\\/file2 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir1/file3/////\\\ ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino d
...st_mode 100004
...st_nlink 3
@@ -96,8 +102,10 @@ stat( /my_mount_point/dir1/file3/////\\\ ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir1/file4 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino e
...st_mode 100004
...st_nlink 3
@@ -108,8 +116,10 @@ stat( /my_mount_point/dir1/file4 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir1/dir1/file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino f
...st_mode 100004
...st_nlink 3
@@ -120,8 +130,10 @@ stat( /my_mount_point/dir1/dir1/file1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir1/dir1/ file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 10
...st_mode 100004
...st_nlink 3
@@ -132,6 +144,8 @@ stat( /my_mount_point/dir1/dir1/ file1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir1 ) returned
...st_dev (0x0:0x0)
...st_ino 3
@@ -140,10 +154,12 @@ stat( /my_mount_point/dir1 ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 1608
+...st_size 3140
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir2//////\ ) returned
...st_dev (0x0:0x0)
...st_ino 4
@@ -156,6 +172,8 @@ stat( /my_mount_point/dir2//////\ ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir3 ) returned
...st_dev (0x0:0x0)
...st_ino 5
@@ -168,6 +186,8 @@ stat( /my_mount_point/dir3 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir4 ) returned
...st_dev (0x0:0x0)
...st_ino 6
@@ -180,6 +200,8 @@ stat( /my_mount_point/dir4 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir1/dir1 ) returned
...st_dev (0x0:0x0)
...st_ino 7
@@ -188,10 +210,12 @@ stat( /my_mount_point/dir1/dir1 ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 536
+...st_size 1040
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/dir1/ dir1///\\ ) returned
...st_dev (0x0:0x0)
...st_ino 8
@@ -204,6 +228,8 @@ stat( /my_mount_point/dir1/ dir1///\\ ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( /my_mount_point/\/\/\/\/\/\/links\/\/\/\/\/\ ) returned
...st_dev (0x0:0x0)
...st_ino 9
@@ -212,10 +238,12 @@ stat( /my_mount_point/\/\/\/\/\/\/links\/\/\/\/\/\ ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 6968
+...st_size 15640
...st_atime 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_blksize 0
+...st_blocks 0
Doing the stat() on all the good relative paths
stat( dev ) returned
@@ -230,8 +258,10 @@ stat( dev ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1/\//file1\\// ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino b
...st_mode 100004
...st_nlink 3
@@ -242,8 +272,10 @@ stat( dir1/\//file1\\// ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1/\\/file2 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino c
...st_mode 100004
...st_nlink 3
@@ -254,8 +286,10 @@ stat( dir1/\\/file2 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1/file3/////\\\ ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino d
...st_mode 100004
...st_nlink 3
@@ -266,8 +300,10 @@ stat( dir1/file3/////\\\ ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1/file4 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino e
...st_mode 100004
...st_nlink 3
@@ -278,8 +314,10 @@ stat( dir1/file4 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1/dir1/file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino f
...st_mode 100004
...st_nlink 3
@@ -290,8 +328,10 @@ stat( dir1/dir1/file1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1/dir1/ file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 10
...st_mode 100004
...st_nlink 3
@@ -302,6 +342,8 @@ stat( dir1/dir1/ file1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1 ) returned
...st_dev (0x0:0x0)
...st_ino 3
@@ -310,10 +352,12 @@ stat( dir1 ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 1608
+...st_size 3140
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir2//////\ ) returned
...st_dev (0x0:0x0)
...st_ino 4
@@ -326,6 +370,8 @@ stat( dir2//////\ ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir3 ) returned
...st_dev (0x0:0x0)
...st_ino 5
@@ -338,6 +384,8 @@ stat( dir3 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir4 ) returned
...st_dev (0x0:0x0)
...st_ino 6
@@ -350,6 +398,8 @@ stat( dir4 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1/dir1 ) returned
...st_dev (0x0:0x0)
...st_ino 7
@@ -358,10 +408,12 @@ stat( dir1/dir1 ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 536
+...st_size 1040
...st_atime 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_blksize 0
+...st_blocks 0
stat( dir1/ dir1///\\ ) returned
...st_dev (0x0:0x0)
...st_ino 8
@@ -374,8 +426,10 @@ stat( dir1/ dir1///\\ ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( main.c ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 11
...st_mode 100004
...st_nlink 1
@@ -386,6 +440,8 @@ stat( main.c ) returned
...st_atime 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_blksize 0
+...st_blocks 0
chdir to dev
@@ -416,10 +472,12 @@ stat( dir1/dir1/../../links/dir1 ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 1608
+...st_size 3140
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir2 ) returned
...st_dev (0x0:0x0)
...st_ino 4
@@ -432,6 +490,8 @@ stat( links/dir2 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir3 ) returned
...st_dev (0x0:0x0)
...st_ino 5
@@ -444,6 +504,8 @@ stat( links/dir3 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir4 ) returned
...st_dev (0x0:0x0)
...st_ino 6
@@ -456,6 +518,8 @@ stat( links/dir4 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir1_dir1 ) returned
...st_dev (0x0:0x0)
...st_ino 7
@@ -464,10 +528,12 @@ stat( links/dir1_dir1 ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 536
+...st_size 1040
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir1_ dir1 ) returned
...st_dev (0x0:0x0)
...st_ino 8
@@ -480,6 +546,8 @@ stat( links/dir1_ dir1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/../links/../links/links ) returned
...st_dev (0x0:0x0)
...st_ino 9
@@ -488,12 +556,14 @@ stat( links/../links/../links/links ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 6968
+...st_size 15640
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir1_file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino b
...st_mode 100004
...st_nlink 3
@@ -504,8 +574,10 @@ stat( links/dir1_file1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir1_file2 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino c
...st_mode 100004
...st_nlink 3
@@ -516,8 +588,10 @@ stat( links/dir1_file2 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir1_file3 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino d
...st_mode 100004
...st_nlink 3
@@ -528,8 +602,10 @@ stat( links/dir1_file3 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir1_file4 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino e
...st_mode 100004
...st_nlink 3
@@ -540,8 +616,10 @@ stat( links/dir1_file4 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir1_dir1_f1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino f
...st_mode 100004
...st_nlink 3
@@ -552,8 +630,10 @@ stat( links/dir1_dir1_f1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/dir1_dir1 f1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 10
...st_mode 100004
...st_nlink 3
@@ -564,6 +644,8 @@ stat( links/dir1_dir1 f1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links/links/links/links_dir1 ) returned
...st_dev (0x0:0x0)
...st_ino 3
@@ -572,10 +654,12 @@ stat( links/links/links/links_dir1 ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 1608
+...st_size 3140
...st_atime 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_blksize 0
+...st_blocks 0
stat( links//links_dir2 ) returned
...st_dev (0x0:0x0)
...st_ino 4
@@ -588,6 +672,8 @@ stat( links//links_dir2 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links//links_dir3 ) returned
...st_dev (0x0:0x0)
...st_ino 5
@@ -600,6 +686,8 @@ stat( links//links_dir3 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links//links_dir4 ) returned
...st_dev (0x0:0x0)
...st_ino 6
@@ -612,6 +700,8 @@ stat( links//links_dir4 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links//links_dir1_d1 ) returned
...st_dev (0x0:0x0)
...st_ino 7
@@ -620,10 +710,12 @@ stat( links//links_dir1_d1 ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 536
+...st_size 1040
...st_atime 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_blksize 0
+...st_blocks 0
stat( links//links_dir1 d1 ) returned
...st_dev (0x0:0x0)
...st_ino 8
@@ -636,6 +728,8 @@ stat( links//links_dir1 d1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links//links_links ) returned
...st_dev (0x0:0x0)
...st_ino 9
@@ -644,12 +738,14 @@ stat( links//links_links ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 6968
+...st_size 15640
...st_atime 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_blksize 0
+...st_blocks 0
stat( links///links_d1_file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino b
...st_mode 100004
...st_nlink 3
@@ -660,8 +756,10 @@ stat( links///links_d1_file1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links///links_d1_file2 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino c
...st_mode 100004
...st_nlink 3
@@ -672,8 +770,10 @@ stat( links///links_d1_file2 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links///links_d1_file3 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino d
...st_mode 100004
...st_nlink 3
@@ -684,8 +784,10 @@ stat( links///links_d1_file3 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links///links_d1_file4 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino e
...st_mode 100004
...st_nlink 3
@@ -696,8 +798,10 @@ stat( links///links_d1_file4 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links///links_d1_d1_f1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino f
...st_mode 100004
...st_nlink 3
@@ -708,8 +812,10 @@ stat( links///links_d1_d1_f1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
stat( links///links_r1_d1 f1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 10
...st_mode 100004
...st_nlink 3
@@ -720,6 +826,8 @@ stat( links///links_r1_d1 f1 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
chmod of /my_mount_point/dir1/dir1 to Read/Write
Doing the stat() on all the bad paths
@@ -744,7 +852,7 @@ Verify with readlink
Making file /my_mount_point/symlinks/links
Verify with readlink
stat( /my_mount_point/symlinks/a_file_symlink ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino b
...st_mode 100004
...st_nlink 3
@@ -755,6 +863,22 @@ stat( /my_mount_point/symlinks/a_file_symlink ) returned
...st_atime 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_blksize 0
+...st_blocks 0
+lstat( /my_mount_point/symlinks/a_file_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2c
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( /my_mount_point/symlinks/a_dir_symlink ) returned
...st_dev (0x0:0x0)
...st_ino 3
@@ -763,10 +887,26 @@ stat( /my_mount_point/symlinks/a_dir_symlink ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 1876
+...st_size 3560
...st_atime 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_blksize 0
+...st_blocks 0
+lstat( /my_mount_point/symlinks/a_dir_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2d
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( /my_mount_point/symlinks/a_link_symlink ) returned
...st_dev (0x0:0x0)
...st_ino 3
@@ -775,11 +915,41 @@ stat( /my_mount_point/symlinks/a_link_symlink ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 1876
+...st_size 3560
...st_atime 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_blksize 0
+...st_blocks 0
+lstat( /my_mount_point/symlinks/a_link_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2e
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( ../symlinks/no_file ) returned : No such file or directory
+lstat( ../symlinks/no_file ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2f
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( /my_mount_point/symlinks/a_dir_symlink/a_file_symlink ) returned
...st_dev (0x0:0x0)
...st_ino 3
@@ -788,10 +958,26 @@ stat( /my_mount_point/symlinks/a_dir_symlink/a_file_symlink ) returned
...st_uid 0
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 1876
+...st_size 3560
...st_atime 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_blksize 0
+...st_blocks 0
+lstat( /my_mount_point/symlinks/a_dir_symlink/a_file_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 30
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
Making file 1
Verify with readlink
Making file 2
@@ -811,14 +997,140 @@ Verify with readlink
Making file 9
Verify with readlink
stat( 1 ) returned : No such file or directory
+lstat( 1 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 32
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( 2 ) returned : No such file or directory
+lstat( 2 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 33
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( 3 ) returned : No such file or directory
+lstat( 3 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 34
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( 4 ) returned : No such file or directory
+lstat( 4 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 35
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( 5 ) returned : No such file or directory
+lstat( 5 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 36
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( 6 ) returned : Too many symbolic links
+lstat( 6 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 37
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( 7 ) returned : Too many symbolic links
+lstat( 7 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 38
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( 8 ) returned : Too many symbolic links
+lstat( 8 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 39
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
stat( 9 ) returned : Too many symbolic links
+lstat( 9 ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 3a
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:15 1988
+...st_blksize 0
+...st_blocks 0
chdir to a file should fail with ENOTDIR
Verify RWX permission on /my_mount_point/dir1 via access
chmod of /my_mount_point/dir1 to Read/Write
@@ -855,6 +1167,8 @@ stat( links/dir1_ dir1 ) returned
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:20 1988
+...st_blksize 0
+...st_blocks 0
stat( links//links_dir1 d1 ) returned
...st_dev (0x0:0x0)
...st_ino 8
@@ -867,6 +1181,8 @@ stat( links//links_dir1 d1 ) returned
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
...st_ctime Sat Dec 31 09:00:20 1988
+...st_blksize 0
+...st_blocks 0
Chdir to links/dir1_ dir1
Chdir to .. should fail with ENOENT
mkdir ../t should fail with ENOENT
@@ -897,7 +1213,7 @@ pass fstat a null pointer should fail with EFAULT
chdir to /my_mount_point
Change group of /////my_mount_point/dir1/\//file1\\//
stat( /////my_mount_point/dir1/\//file1\\// ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino b
...st_mode 100011
...st_nlink 3
@@ -908,9 +1224,11 @@ stat( /////my_mount_point/dir1/\//file1\\// ) returned
...st_atime 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_blksize 0
+...st_blocks 0
Change owner of /////my_mount_point/dir1/\//file1\\//
stat( /////my_mount_point/dir1/\//file1\\// ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino b
...st_mode 100011
...st_nlink 3
@@ -921,9 +1239,11 @@ stat( /////my_mount_point/dir1/\//file1\\// ) returned
...st_atime 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_blksize 0
+...st_blocks 0
Change group of /my_mount_point/dir1/file2
stat( /my_mount_point/dir1/file2 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino c
...st_mode 100004
...st_nlink 3
@@ -934,9 +1254,11 @@ stat( /my_mount_point/dir1/file2 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
Change owner of /my_mount_point/dir1/file2
stat( /my_mount_point/dir1/file2 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino c
...st_mode 100004
...st_nlink 3
@@ -947,9 +1269,11 @@ stat( /my_mount_point/dir1/file2 ) returned
...st_atime 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_blksize 0
+...st_blocks 0
Change group of /my_mount_point/dir1/file3
stat( /my_mount_point/dir1/file3 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino d
...st_mode 100004
...st_nlink 3
@@ -959,10 +1283,12 @@ stat( /my_mount_point/dir1/file3 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change owner of /my_mount_point/dir1/file3
stat( /my_mount_point/dir1/file3 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino d
...st_mode 100004
...st_nlink 3
@@ -972,10 +1298,12 @@ stat( /my_mount_point/dir1/file3 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change group of /my_mount_point/dir1/file4
stat( /my_mount_point/dir1/file4 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino e
...st_mode 100004
...st_nlink 3
@@ -985,10 +1313,12 @@ stat( /my_mount_point/dir1/file4 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change owner of /my_mount_point/dir1/file4
stat( /my_mount_point/dir1/file4 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino e
...st_mode 100004
...st_nlink 3
@@ -998,10 +1328,12 @@ stat( /my_mount_point/dir1/file4 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change group of /my_mount_point/dir1/dir1/file1
stat( /my_mount_point/dir1/dir1/file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino f
...st_mode 100004
...st_nlink 3
@@ -1011,10 +1343,12 @@ stat( /my_mount_point/dir1/dir1/file1 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change owner of /my_mount_point/dir1/dir1/file1
stat( /my_mount_point/dir1/dir1/file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino f
...st_mode 100004
...st_nlink 3
@@ -1024,10 +1358,12 @@ stat( /my_mount_point/dir1/dir1/file1 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change group of ../../..//my_mount_point/dir1/./././dir1/ file1
stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 10
...st_mode 100004
...st_nlink 3
@@ -1037,10 +1373,12 @@ stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change owner of ../../..//my_mount_point/dir1/./././dir1/ file1
stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 10
...st_mode 100004
...st_nlink 3
@@ -1050,10 +1388,12 @@ stat( ../../..//my_mount_point/dir1/./././dir1/ file1 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change group of main.c
stat( main.c ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 11
...st_mode 100004
...st_nlink 1
@@ -1063,10 +1403,12 @@ stat( main.c ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change owner of main.c
stat( main.c ) returned
-...st_dev (0x0:0x0)
+...st_dev (0xfffe:0x1)
...st_ino 11
...st_mode 100004
...st_nlink 1
@@ -1076,7 +1418,9 @@ stat( main.c ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:26 1988
+...st_ctime Sat Dec 31 09:00:25 1988
+...st_blksize 0
+...st_blocks 0
Change group of dir1/dir1/../../links/dir1
stat( dir1/dir1/../../links/dir1 ) returned
...st_dev (0x0:0x0)
@@ -1086,10 +1430,12 @@ stat( dir1/dir1/../../links/dir1 ) returned
...st_uid 0
...st_gid 1
...st_rdev (0x0:0x0)
-...st_size 1876
+...st_size 3560
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change owner of dir1/dir1/../../links/dir1
stat( dir1/dir1/../../links/dir1 ) returned : Permission denied
Change group of links/dir2
@@ -1104,7 +1450,9 @@ stat( links/dir2 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change owner of links/dir2
stat( links/dir2 ) returned
...st_dev (0x0:0x0)
@@ -1117,7 +1465,9 @@ stat( links/dir2 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change group of links/dir3
stat( links/dir3 ) returned
...st_dev (0x0:0x0)
@@ -1130,7 +1480,9 @@ stat( links/dir3 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change owner of links/dir3
stat( links/dir3 ) returned
...st_dev (0x0:0x0)
@@ -1143,7 +1495,9 @@ stat( links/dir3 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change group of links/dir4
stat( links/dir4 ) returned
...st_dev (0x0:0x0)
@@ -1156,7 +1510,9 @@ stat( links/dir4 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change owner of links/dir4
stat( links/dir4 ) returned
...st_dev (0x0:0x0)
@@ -1169,7 +1525,9 @@ stat( links/dir4 ) returned
...st_size 0
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change group of links/dir1_dir1
stat( links/dir1_dir1 ) returned
...st_dev (0x0:0x0)
@@ -1179,10 +1537,12 @@ stat( links/dir1_dir1 ) returned
...st_uid 0
...st_gid 1
...st_rdev (0x0:0x0)
-...st_size 536
+...st_size 1040
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change owner of links/dir1_dir1
stat( links/dir1_dir1 ) returned
...st_dev (0x0:0x0)
@@ -1192,10 +1552,12 @@ stat( links/dir1_dir1 ) returned
...st_uid 1
...st_gid 0
...st_rdev (0x0:0x0)
-...st_size 536
+...st_size 1040
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change group of links/dir1_ dir1
stat( links/dir1_ dir1 ) returned : No such file or directory
Change owner of links/dir1_ dir1
@@ -1209,12 +1571,138 @@ stat( links/../links/../links/links ) returned
...st_uid 0
...st_gid 1
...st_rdev (0x0:0x0)
-...st_size 8844
+...st_size 21420
...st_atime Sat Dec 31 09:00:00 1988
...st_mtime Sat Dec 31 09:00:00 1988
-...st_ctime Sat Dec 31 09:00:31 1988
+...st_ctime Sat Dec 31 09:00:30 1988
+...st_blksize 0
+...st_blocks 0
Change owner of links/../links/../links/links
stat( links/../links/../links/links ) returned : Permission denied
+Change group of /my_mount_point/symlinks/a_file_symlink
+lstat( /my_mount_point/symlinks/a_file_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2c
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 1
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:35 1988
+...st_blksize 0
+...st_blocks 0
+Change owner of /my_mount_point/symlinks/a_file_symlink
+lstat( /my_mount_point/symlinks/a_file_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2c
+...st_mode 120755
+...st_nlink 1
+...st_uid 1
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:35 1988
+...st_blksize 0
+...st_blocks 0
+Change group of /my_mount_point/symlinks/a_dir_symlink
+lstat( /my_mount_point/symlinks/a_dir_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2d
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 1
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:35 1988
+...st_blksize 0
+...st_blocks 0
+Change owner of /my_mount_point/symlinks/a_dir_symlink
+lstat( /my_mount_point/symlinks/a_dir_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2d
+...st_mode 120755
+...st_nlink 1
+...st_uid 1
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:35 1988
+...st_blksize 0
+...st_blocks 0
+Change group of /my_mount_point/symlinks/a_link_symlink
+lstat( /my_mount_point/symlinks/a_link_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2e
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 1
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:35 1988
+...st_blksize 0
+...st_blocks 0
+Change owner of /my_mount_point/symlinks/a_link_symlink
+lstat( /my_mount_point/symlinks/a_link_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 2e
+...st_mode 120755
+...st_nlink 1
+...st_uid 1
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:35 1988
+...st_blksize 0
+...st_blocks 0
+Change group of ../symlinks/no_file
+lstat( ../symlinks/no_file ) returned : No such file or directory
+Change owner of ../symlinks/no_file
+lstat( ../symlinks/no_file ) returned : No such file or directory
+Change group of /my_mount_point/symlinks/a_dir_symlink/a_file_symlink
+lstat( /my_mount_point/symlinks/a_dir_symlink/a_file_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 30
+...st_mode 120755
+...st_nlink 1
+...st_uid 0
+...st_gid 1
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:35 1988
+...st_blksize 0
+...st_blocks 0
+Change owner of /my_mount_point/symlinks/a_dir_symlink/a_file_symlink
+lstat( /my_mount_point/symlinks/a_dir_symlink/a_file_symlink ) returned
+...st_dev (0xfffe:0x1)
+...st_ino 30
+...st_mode 120755
+...st_nlink 1
+...st_uid 1
+...st_gid 0
+...st_rdev (0x0:0x0)
+...st_size 0
+...st_atime Sat Dec 31 09:00:15 1988
+...st_mtime Sat Dec 31 09:00:15 1988
+...st_ctime Sat Dec 31 09:00:35 1988
+...st_blksize 0
+...st_blocks 0
*** END OF STAT TEST 01 ***
diff --git a/testsuites/psxtests/psxstat/test.c b/testsuites/psxtests/psxstat/test.c
index ba59435400..0549806763 100644
--- a/testsuites/psxtests/psxstat/test.c
+++ b/testsuites/psxtests/psxstat/test.c
@@ -2,6 +2,9 @@
* This test exercises stat() via fstat() and generates as many of the
* path evaluation cases as possible.
*
+ * This test also exercises lstat() and lchown() when symlinks are
+ * involved.
+ *
* COPYRIGHT (c) 1989-2009.
* On-Line Applications Research Corporation (OAR).
*
@@ -164,11 +167,12 @@ char *Good_relative_paths[] = {
};
/*
- * Do a stat on a single file and report the status.
+ * Do a stat/lstat on a single file and report the status.
*/
-void stat_a_file(
- const char *file
+void stat_a_file_helper(
+ const char *file,
+ int follow_link
)
{
int status;
@@ -181,10 +185,15 @@ void stat_a_file(
rtems_test_assert( file );
- printf( "stat( %s ) returned ", file );
- fflush( stdout );
-
- status = stat( file, &statbuf );
+ if ( follow_link ) {
+ printf( "stat( %s ) returned ", file );
+ fflush( stdout );
+ status = stat( file, &statbuf );
+ } else {
+ printf( "lstat( %s ) returned ", file );
+ fflush( stdout );
+ status = lstat( file, &statbuf );
+ }
if ( status == -1 ) {
printf( ": %s\n", strerror( errno ) );
@@ -211,6 +220,26 @@ void stat_a_file(
}
/*
+ * Do a stat on a single file and report the status.
+*/
+void stat_a_file(
+ const char *file
+)
+{
+ stat_a_file_helper( file, true );
+}
+
+/*
+ * Do a lstat on a single file and report the status.
+ */
+void lstat_a_file(
+ const char *file
+)
+{
+ stat_a_file_helper( file, false );
+}
+
+/*
* stat() multiple files at a time
*/
@@ -228,10 +257,11 @@ void stat_multiple_files(
}
/*
- * chown() multiple files at a time
+ * chown()/lchown() multiple files at a time
*/
-void chown_multiple_files(
- char **files
+void chown_multiple_files_helper(
+ char **files,
+ int follow_link
)
{
int i;
@@ -244,18 +274,46 @@ void chown_multiple_files(
i = 0;
while ( files[i] ) {
printf("Change group of %s\n", files[i]);
- chown( files[i], st_uid, (st_gid+1) );
- stat_a_file( files[i] );
+ if ( follow_link ) {
+ chown( files[i], st_uid, (st_gid+1) );
+ stat_a_file( files[i] );
+ } else {
+ lchown( files[i], st_uid, (st_gid+1) );
+ lstat_a_file( files[i] );
+ }
printf("Change owner of %s\n", files[i]);
- chown( files[i], (st_uid+1), st_gid );
- stat_a_file( files[i] );
+ if ( follow_link ) {
+ chown( files[i], (st_uid+1), st_gid );
+ stat_a_file( files[i] );
+ } else {
+ lchown( files[i], (st_uid+1), st_gid );
+ lstat_a_file( files[i] );
+ }
i++;
}
}
+/*
+ * chown() multiple files at a time
+ */
+void chown_multiple_files(
+ char **files
+)
+{
+ chown_multiple_files_helper( files, true );
+}
+/*
+ * lchown() multiple files at a time
+ */
+void lchown_multiple_files(
+ char **files
+)
+{
+ chown_multiple_files_helper( files, false );
+}
/*
* mknod() multiple files at a time
@@ -377,7 +435,7 @@ void make_a_symlink(
void make_multiple_symlinks(void)
{
- int status;
+ int status, i;
make_a_symlink( Files[0], SymLinks[0] );
make_a_symlink( Directories[0], SymLinks[1] );
@@ -386,11 +444,10 @@ void make_multiple_symlinks(void)
make_a_symlink( SymLinks[1], SymLinks[4] );
make_a_symlink( "//my_mount_point/links","/my_mount_point/symlinks/links" );
- stat_a_file( SymLinks[0] );
- stat_a_file( SymLinks[1] );
- stat_a_file( SymLinks[2] );
- stat_a_file( SymLinks[3] );
- stat_a_file( SymLinks[4] );
+ for (i = 0; i < 5; i++) {
+ stat_a_file( SymLinks[i] );
+ lstat_a_file( SymLinks[i] );
+ }
status = symlink( "//links", "bob/frank" );
rtems_test_assert (status == -1);
@@ -433,6 +490,7 @@ void make_many_symlinks(
for (i=1; i < link_count; i++) {
sprintf( name1, "%d", i );
stat_a_file( name1 );
+ lstat_a_file( name1 );
}
}
@@ -841,6 +899,9 @@ int main(
status = rtems_task_wake_after( TIMEOUT_VALUE );
chown_multiple_files( Links_to_Dirs );
+ status = rtems_task_wake_after( TIMEOUT_VALUE );
+ lchown_multiple_files( SymLinks );
+
puts( "\n\n*** END OF STAT TEST 01 ***" );
rtems_test_exit(0);
}