X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=direct%2Ftest-framework%2Fbasic-tests%2Fdtest.c;h=006aad7561b56b383cfe117fc02f22065cb0b164;hb=5dce9cd65806e71906078fdec8e28df8ae4e152f;hp=153d274d3a54db1db8b2cf0764faf9c099840674;hpb=c08faae4258b29a794ad55ca160c5a247145c838;p=yaffs2.git diff --git a/direct/test-framework/basic-tests/dtest.c b/direct/test-framework/basic-tests/dtest.c index 153d274..006aad7 100644 --- a/direct/test-framework/basic-tests/dtest.c +++ b/direct/test-framework/basic-tests/dtest.c @@ -3042,6 +3042,70 @@ void large_file_test(const char *mountpt) } +int mk_dir(const char *mp, const char *name) +{ + char full_name[100]; + + sprintf(full_name, "%s/%s", mp, name); + + return yaffs_mkdir(full_name, S_IREAD| S_IWRITE); +} + +int mk_file(const char *mp, const char *name) +{ + char full_name[100]; + int h; + + sprintf(full_name, "%s/%s", mp, name); + + h = yaffs_open(full_name, O_RDWR | O_CREAT | O_TRUNC, S_IREAD| S_IWRITE); + + yaffs_write(h, name, strlen(name)); + + yaffs_close(h); + return 0; +} + +void xx_test(const char *mountpt) +{ + char xx_buffer[1000]; + + yaffs_start_up(); + + yaffs_format(mountpt,0,0,0); + + yaffs_mount(mountpt); + printf("mounted\n"); + dumpDir(mountpt); + + printf("create files\n"); + + mk_dir(mountpt, "foo"); + mk_file(mountpt, "foo/f1"); + mk_file(mountpt, "foo/f2"); + mk_file(mountpt, "foo/f3"); + mk_file(mountpt, "foo/f4"); + dump_directory_tree(mountpt); + + printf("unmount and remount\n"); + + /* Unmount/remount */ + yaffs_unmount(mountpt); + yaffs_mount(mountpt); + dump_directory_tree(mountpt); +} + +void yy_test(const char *mountpt) +{ + char xx_buffer[1000]; + + yaffs_start_up(); + + yaffs_mount(mountpt); + dump_directory_tree(mountpt); +} + + void readdir_test(const char *mountpt) { char xx_buffer[1000]; @@ -3081,6 +3145,63 @@ void readdir_test(const char *mountpt) } +void format_test(const char *mountpt) +{ + int ret; + + yaffs_start_up(); + + ret = yaffs_format(mountpt, 0, 0, 0); + printf("yaffs_format(...,0, 0, 0) of unmounted returned %d\n", ret); + + yaffs_mount(mountpt); + + ret = yaffs_format(mountpt, 0, 0, 0); + printf("yaffs_format(...,0, 0, 0) of mounted returned %d\n", ret); + + ret = yaffs_format(mountpt, 1, 0, 0); + printf("yaffs_format(...,1, 0, 0) of mounted returned %d\n", ret); + + ret = yaffs_mount(mountpt); + printf("mount should return 0 returned %d\n", ret); + + ret = yaffs_format(mountpt, 1, 0, 1); + printf("yaffs_format(...,1, 0, 1) of mounted returned %d\n", ret); + + ret = yaffs_mount(mountpt); + printf("mount should return -1 returned %d\n", ret); +} + +void dir_rename_test(const char *mountpt) +{ + char fname[100]; + char dname[100]; + int h; + int ret; + + yaffs_start_up(); + yaffs_mount(mountpt); + + sprintf(fname,"%s/file",mountpt); + sprintf(dname,"%s/directory",mountpt); + + h = yaffs_open(fname,O_CREAT | O_RDWR | O_TRUNC, 0666); + yaffs_close(h); + + yaffs_mkdir(dname, 0666); + + dump_directory_tree(mountpt); + + printf("Try to rename %s to %s\n", fname, dname); + ret = yaffs_rename(fname, dname); + printf("result %d, %d\n", ret, yaffs_get_error()); + + printf("Try to rename %s to %s\n", dname, fname); + ret = yaffs_rename(dname, fname); + printf("result %d, %d\n", ret, yaffs_get_error()); + + +} int random_seed; int simulate_power_failure; @@ -3149,7 +3270,10 @@ int main(int argc, char *argv[]) // link_follow_test("/yaffs2"); //basic_utime_test("/yaffs2"); - max_files_test("/yaffs2"); + + //format_test("/yaffs2"); + + //max_files_test("/yaffs2"); //start_twice("/yaffs2"); @@ -3159,6 +3283,9 @@ int main(int argc, char *argv[]) //basic_utime_test("/yaffs2"); //case_insensitive_test("/yaffs2"); + //yy_test("/yaffs2"); + dir_rename_test("/yaffs2"); + return 0; }