X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fbasic-test%2Fdtest.c;h=db38cb50fce44e39e25369994098e3170874ade4;hp=779ac15ce564e4ecf2376e44f7eda9b15cc85dd8;hb=41573908f821bcb40750e7c069ea8f5178f630e5;hpb=f43976eda35065890e7cf0a008e9518158eb71d6 diff --git a/direct/basic-test/dtest.c b/direct/basic-test/dtest.c index 779ac15..db38cb5 100644 --- a/direct/basic-test/dtest.c +++ b/direct/basic-test/dtest.c @@ -531,7 +531,7 @@ void dumpDirFollow(const char *dname) { sprintf(str,"%s/%s",dname,de->d_name); - yaffs_stat(str,&s); + yaffs_lstat(str,&s); printf("%s ino %d length %d mode %X ",de->d_name,(int)s.st_ino,(int)s.st_size,s.st_mode); switch(s.st_mode & S_IFMT) @@ -741,7 +741,7 @@ int long_test(int argc, char *argv[]) dumpDir("/boot"); // Check stat - r = yaffs_stat("/boot/file with a long name",&ystat); + r = yaffs_lstat("/boot/file with a long name",&ystat); // Check rename @@ -828,7 +828,7 @@ int long_test(int argc, char *argv[]) // Check chmod - yaffs_stat("/boot/yyfile",&ystat); + yaffs_lstat("/boot/yyfile",&ystat); temp_mode = ystat.st_mode; yaffs_chmod("/boot/yyfile",0x55555); @@ -1094,12 +1094,12 @@ int root_perm_remount(const char *path) yaffs_mount(path); - yaffs_stat(path,&s); + yaffs_lstat(path,&s); printf("root perms after mount %x\n",s.st_mode); yaffs_chmod(path, 0777); - yaffs_stat(path,&s); + yaffs_lstat(path,&s); printf("root perms after setting to 0777 is %x\n",s.st_mode); yaffs_unmount(path); @@ -2683,6 +2683,34 @@ void test_flash_traffic(const char *mountpt) } +void link_follow_test(const char *mountpt) +{ + char fn[100]; + char sn[100]; + char hn[100]; + int result; + int h; + + yaffs_traceMask = 0; + + yaffs_StartUp(); + + yaffs_mount(mountpt); + + sprintf(fn,"%s/file",mountpt); + sprintf(sn,"%s/sym",mountpt); + sprintf(hn,"%s/hl-sym",mountpt); + + h = yaffs_open(fn,O_CREAT| O_RDWR, S_IREAD | S_IWRITE); + result = yaffs_close(h); + + result = yaffs_symlink(fn,sn); + result = yaffs_link(sn,hn); + + h =yaffs_open(hn,O_RDWR,0); + +} + int random_seed; int simulate_power_failure; @@ -2747,6 +2775,7 @@ int main(int argc, char *argv[]) //null_name_test("yaffs2"); test_flash_traffic("yaffs2"); + link_follow_test("/yaffs2"); return 0;