X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fbasic-test%2Fdtest.c;h=9f2d2e6f82d2f810f2c5c13b22851286e2190bf8;hp=3739acac2ae30b145a8a0f08133bd000ff1aeeff;hb=c83e416cba6748e7a436c5df6a202349ff4d0fe2;hpb=87166dff2586aa5d844c86945a80b098861b2b23 diff --git a/direct/basic-test/dtest.c b/direct/basic-test/dtest.c index 3739aca..9f2d2e6 100644 --- a/direct/basic-test/dtest.c +++ b/direct/basic-test/dtest.c @@ -12,8 +12,6 @@ */ - - #include #include #include @@ -514,7 +512,7 @@ void leave_unlinked_file(const char *path,int maxIterations,int siz) void dumpDirFollow(const char *dname) { yaffs_DIR *d; - yaffs_dirent *de; + struct yaffs_dirent *de; struct yaffs_stat s; char str[100]; @@ -561,7 +559,7 @@ void dumpDirFollow(const char *dname) void dump_directory_tree_worker(const char *dname,int recursive) { yaffs_DIR *d; - yaffs_dirent *de; + struct yaffs_dirent *de; struct yaffs_stat s; char str[1000]; @@ -897,7 +895,7 @@ int huge_directory_test_on_path(char *path) { yaffs_DIR *d; - yaffs_dirent *de; + struct yaffs_dirent *de; struct yaffs_stat s; int f; @@ -1546,7 +1544,7 @@ void lookup_test(const char *mountpt) yaffs_DIR *d; - yaffs_dirent *de; + struct yaffs_dirent *de; yaffs_start_up(); @@ -2793,7 +2791,9 @@ void max_files_test(const char *mountpt) result = yaffs_close(h); } - h =yaffs_open(hn,O_RDWR,0); + yaffs_unmount(mountpt); + + //h =yaffs_open(hn,O_RDWR,0); } void case_insensitive_test(const char *mountpt) @@ -3042,6 +3042,72 @@ void large_file_test(const char *mountpt) } +void readdir_test(const char *mountpt) +{ + char xx_buffer[1000]; + int i; + int handle; + char fullname[100]; + + yaffs_DIR *dirs[100]; + + + yaffs_trace_mask = 0; + + yaffs_start_up(); + + yaffs_mount(mountpt); + + for(i = 0; i < 100; i++) { + dirs[i] = yaffs_opendir(mountpt); + printf("%2d %p,", i, dirs[i]); + } + + printf("\n"); + + for(i = 0; i < 100; i++) { + if(dirs[i]) + yaffs_closedir(dirs[i]); + } + + + for(i = 0; i < 100; i++) { + dirs[i] = yaffs_opendir(mountpt); + printf("%2d %p,", i, dirs[i]); + } + + yaffs_unmount(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); +} + int random_seed; int simulate_power_failure; @@ -3109,11 +3175,15 @@ 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"); - large_file_test("/yaffs2"); + //large_file_test("/yaffs2"); + //readdir_test("/yaffs2"); //basic_utime_test("/yaffs2"); //case_insensitive_test("/yaffs2");