diff options
author | max99x <max99x@gmail.com> | 2011-07-23 05:47:08 +0300 |
---|---|---|
committer | max99x <max99x@gmail.com> | 2011-07-23 05:47:08 +0300 |
commit | 586d229ec311daa5e89781eb6da822989e677789 (patch) | |
tree | 54997eeeae644838f1318b37eb8c354db83b5354 /tests/stat | |
parent | 5f9646ca267736036e87afc965e665539eed3578 (diff) |
Resolved some old filesystem TODOs.
Diffstat (limited to 'tests/stat')
-rw-r--r-- | tests/stat/output.txt | 28 | ||||
-rw-r--r-- | tests/stat/src.c | 32 |
2 files changed, 60 insertions, 0 deletions
diff --git a/tests/stat/output.txt b/tests/stat/output.txt index 5253a834..1e6ae74e 100644 --- a/tests/stat/output.txt +++ b/tests/stat/output.txt @@ -108,12 +108,40 @@ S_ISREG: 0 S_ISLNK: 1 S_ISSOCK: 0 +--fstat FILE-- +ret: 0 +errno: 0 +st_dev: 1 +st_ino: 3 +st_mode: 0100777 +st_nlink: 1 +st_rdev: 0 +st_size: 6 +st_atime: 1200000000 +st_mtime: 1200000000 +st_ctime: 1200000000 +st_blksize: 4096 +st_blocks: 1 +S_ISBLK: 0 +S_ISCHR: 0 +S_ISDIR: 0 +S_ISFIFO: 0 +S_ISREG: 1 +S_ISLNK: 0 +S_ISSOCK: 0 + --chmod FILE-- ret: 0 errno: 0 st_mode: 0100222 st_mtime changed: 1 +--fchmod FILE-- +ret: 0 +errno: 0 +st_mode: 0100777 +st_mtime changed: 1 + --chmod FOLDER-- ret: 0 errno: 0 diff --git a/tests/stat/src.c b/tests/stat/src.c index 4dc78805..3b3b8421 100644 --- a/tests/stat/src.c +++ b/tests/stat/src.c @@ -1,6 +1,7 @@ #include <stdio.h> #include <string.h> #include <errno.h> +#include <fcntl.h> #include <sys/stat.h> int main() { @@ -121,6 +122,29 @@ int main() { printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode)); memset(&s, 0, sizeof s); + printf("\n--fstat FILE--\n"); + printf("ret: %d\n", fstat(open("/test/file", O_RDONLY, 0777), &s)); + printf("errno: %d\n", errno); + printf("st_dev: %llu\n", s.st_dev); + printf("st_ino: %lu\n", s.st_ino); + printf("st_mode: 0%o\n", s.st_mode); + printf("st_nlink: %d\n", s.st_nlink); + printf("st_rdev: %llu\n", s.st_rdev); + printf("st_size: %ld\n", s.st_size); + printf("st_atime: %ld\n", s.st_atime); + printf("st_mtime: %ld\n", s.st_mtime); + printf("st_ctime: %ld\n", s.st_ctime); + printf("st_blksize: %ld\n", s.st_blksize); + printf("st_blocks: %ld\n", s.st_blocks); + printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode)); + printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode)); + printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode)); + printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode)); + printf("S_ISREG: %d\n", S_ISREG(s.st_mode)); + printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode)); + printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode)); + memset(&s, 0, sizeof s); + printf("\n--chmod FILE--\n"); printf("ret: %d\n", chmod("/test/file", 0200)); printf("errno: %d\n", errno); @@ -129,6 +153,14 @@ int main() { printf("st_mtime changed: %d\n", s.st_mtime != 1200000000l); memset(&s, 0, sizeof s); + printf("\n--fchmod FILE--\n"); + printf("ret: %d\n", fchmod(open("/test/file", O_WRONLY, 0777), 0777)); + printf("errno: %d\n", errno); + stat("/test/file", &s); + printf("st_mode: 0%o\n", s.st_mode); + printf("st_mtime changed: %d\n", s.st_mtime != 1200000000l); + memset(&s, 0, sizeof s); + printf("\n--chmod FOLDER--\n"); printf("ret: %d\n", chmod("/test", 0400)); printf("errno: %d\n", errno); |