From: Timothy Manning Date: Thu, 17 Jan 2013 23:45:40 +0000 (+1300) Subject: have added the new rename tests to quick_tests X-Git-Tag: aleph1-release~62^2~1^2 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=b470a08d9e257a3c5292637c23aa49103447d6af have added the new rename tests to quick_tests Signed-off-by: Timothy Manning --- diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_to_file.c b/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_to_file.c index 02a068d..5fabdd2 100644 --- a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_to_file.c +++ b/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_dir_to_file.c @@ -17,7 +17,7 @@ int test_yaffs_rename_dir_to_file(void) { int output=0; - + int error_code=0; if (0 != yaffs_access(DIR_PATH,0)) { output= yaffs_mkdir(DIR_PATH,(S_IREAD | S_IWRITE)); if (output<0) { @@ -25,20 +25,23 @@ int test_yaffs_rename_dir_to_file(void) return -1; } } - if (0 != yaffs_access(RENAME_PATH,0)) { - output= yaffs_mkdir(RENAME_PATH,(S_IREAD | S_IWRITE)); - if (output<0) { - print_message("failed to remove file\n",2); + if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){ + print_message("failed to create file\n",1); + return -1; + } + output = yaffs_rename( DIR_PATH , FILE_PATH); + if (output==-1){ + error_code=yaffs_get_error(); + if (abs(error_code)==ENOTDIR){ + return 1; + } else { + print_message("different error than expected\n",2); return -1; } - } - output = yaffs_rename( DIR_PATH , RENAME_PATH); - if (output<0){ - print_message("failed to rename a file over an empty directory\n",2); + } else { + print_message("renamed a directory over file.(which is a bad thing)\n",2); return -1; - } else{ - return 1; - } + } } diff --git a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_to_dir.c b/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_to_dir.c index 89f7b68..fec2bf0 100644 --- a/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_to_dir.c +++ b/direct/test-framework/timothy_tests/quick_tests/test_yaffs_rename_file_to_dir.c @@ -16,24 +16,14 @@ int test_yaffs_rename_file_to_dir(void) { + int output=0; + int error_code=0; if (yaffs_close(yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE))==-1){ print_message("failed to create file\n",1); return -1; } - if (0 != yaffs_access(FILE_PATH,0)) { - output = test_yaffs_open(); - if (output < 0) { - print_message("failed to create file\n",2); - return -1; - } else { - output = yaffs_close(output); - if (output < 0) { - print_message("failed to close file\n",2); - return -1; - } - } - } + if (0 != yaffs_access(RENAME_DIR_PATH,0)) { output = yaffs_mkdir(RENAME_DIR_PATH,S_IWRITE | S_IREAD); if (output < 0) { @@ -41,6 +31,19 @@ int test_yaffs_rename_file_to_dir(void) return -1; } } + output=yaffs_rename(FILE_PATH,RENAME_DIR_PATH); + if (output==-1){ + error_code=yaffs_get_error(); + if (abs(error_code)==EISDIR){ + return 1; + } else { + print_message("different error than expected\n",2); + return -1; + } + } else { + print_message("renamed a file over a directory (which is a bad thing)\n",2); + return -1; + } return 1; }