X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftimothy_tests%2Fmirror_tests%2Fmirror_tests.c;h=758b0a9c391fca85dde01029b01958fc4d6dfa6b;hp=88c509f07787f1e8d323c5204ad5e8538fa093c1;hb=6e8abe36e3190664d26161ace6948c57f9ffda94;hpb=0d3edaead59b80265308f08d7ad3a8a41ad99de1 diff --git a/direct/timothy_tests/mirror_tests/mirror_tests.c b/direct/timothy_tests/mirror_tests/mirror_tests.c index 88c509f..758b0a9 100644 --- a/direct/timothy_tests/mirror_tests/mirror_tests.c +++ b/direct/timothy_tests/mirror_tests/mirror_tests.c @@ -31,18 +31,20 @@ typedef struct test_temp2 { }test_temp; test_temp yaffs_tests={ - 3, + 4, {{"yaffs_test_open",yaffs_test_open}, {"yaffs_test_truncate",yaffs_test_truncate}, - {"yaffs_test_unlink",yaffs_test_unlink} + {"yaffs_test_unlink",yaffs_test_unlink}, + {"yaffs_test_write",yaffs_test_write} } }; test_temp linux_tests={ - 3, + 4, {{"linux_test_open",linux_test_open}, {"linux_test_truncate",linux_test_truncate}, - {"linux_test_unlink",linux_test_unlink} + {"linux_test_unlink",linux_test_unlink}, + {"linux_test_write",linux_test_write} } }; @@ -165,11 +167,11 @@ int run_random_test(int num_of_random_tests) int x=-1; int id=0; int test_id=-1; - int num_of_tests_before_check=10; - char message[100]; + int num_of_tests_before_check=1; + char message[200]; arg_temp args_struct; for (y=0;(y*num_of_tests_before_check)=4){ + get_error_yaffs(); + get_error_linux(); + } if ((abs(yaffs_get_error())!=abs(errno)) && (abs(yaffs_get_error())!=EISDIR && abs(errno) != 0) && - (abs(yaffs_get_error())!=ENOENT && abs(errno) != EACCES) + (abs(yaffs_get_error())!=ENOENT && abs(errno) != EACCES)&& + (abs(yaffs_get_error())!=EINVAL && abs(errno) != EBADF) ){ print_message(2,"\ndifference in returned errors######################################\n"); get_error_yaffs(); @@ -206,20 +213,35 @@ int select_test_id(int test_len) int compare_linux_and_yaffs(void) { - int x=0; + int x=0,y=0; + int exit_bool=0; + int number_of_files_in_yaffs=0; + int number_of_files_in_linux=0; + char message[200]; + yaffs_DIR *yaffs_open_dir; yaffs_dirent *yaffs_current_file; DIR *linux_open_dir; struct dirent *linux_current_file; + + print_message(2,"\n\n comparing folders\n"); + yaffs_open_dir = yaffs_opendir(yaffs_struct.root_path); if (yaffs_open_dir) { for (x=0;NULL!=yaffs_readdir(yaffs_open_dir);x++){} - printf("number of files in yaffs dir= %d\n",x); - - char yaffs_file_list[x][100]; + number_of_files_in_yaffs=x; + sprintf(message,"number of files in yaffs dir= %d\n",number_of_files_in_yaffs); + print_message(2,message); yaffs_rewinddir(yaffs_open_dir); + } else { + print_message(3,"failed to open yaffs test dir\n"); + } + char yaffs_file_list[x][200]; + + + if (yaffs_open_dir){ for (x=0 ;NULL!=yaffs_current_file;x++) { @@ -228,29 +250,91 @@ int compare_linux_and_yaffs(void) strcpy(yaffs_file_list[x],yaffs_current_file->d_name); } } + yaffs_closedir(yaffs_open_dir); + } else { + print_message(3,"failed to populate yaffs test list\n"); } linux_open_dir = opendir(linux_struct.root_path); if (linux_open_dir){ for (x=0;NULL!=readdir(linux_open_dir);x++){} - printf("number of files in linux dir= %d\n",(x-2)); + number_of_files_in_linux=x-2; + sprintf(message,"number of files in linux dir= %d\n",(number_of_files_in_linux)); + print_message(2,message); //the -2 is because linux shows 2 extra files which are automaticly created. - char linux_file_list[x][100]; - - for (x=0 ;NULL!=linux_current_file;x++) + rewinddir(linux_open_dir); + } else { + print_message(3,"failed to open linux test dir\n"); + } + char linux_file_list[x-2][200]; + if (linux_open_dir){ + for (x=0, y=0 ;NULL!=linux_current_file;x++) { linux_current_file =readdir(linux_open_dir); if (NULL!=linux_current_file){ - strcpy(linux_file_list[x],linux_current_file->d_name); + strcpy(message,linux_current_file->d_name); + print_message(3,"opened file: "); + print_message(3,message); + print_message(3,"\n"); + } + if (NULL!=linux_current_file && + 0!=strcmp(message,".")&& + 0!=strcmp(message,"..")){ + // strcpy(message,linux_current_file->d_name); + //sprintf("file opened: %s\n",linux_current_file->d_name); + //print_message(3,message); + print_message(3,"added file to list\n"); + strcpy(linux_file_list[y],message); + y++; + sprintf(message,"file added to list: %s\n",linux_file_list[x]); + print_message(3,message); } } + closedir(linux_open_dir); + } else { + print_message(3,"failed to populate linux test dir\n"); } + + for (x=0;xd_name); // generate_array_of_objects_in_yaffs(); // generate_array_of_objects_in_linux(); @@ -367,7 +451,8 @@ void clean_dir(void) unlink(file); } } - unlink(linux_struct.root_path); + closedir(linux_open_dir); + rmdir(linux_struct.root_path); } }