X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=direct%2Ftest-framework%2Ftimothy_tests%2Fquick_tests%2Ftest_yaffs_rename_dir_to_file.c;h=d38d3b43d07cd1f9d3321ebc1c5cf0ddff4645fa;hb=1f3d64d1d804fef6715126dead54bf30b176c67e;hp=02a068dacb084e12f66819d372db2f54c43f98f4;hpb=17c2897913447766bfd88fd49ca897821a3d2205;p=yaffs2.git 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..d38d3b4 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 @@ -1,8 +1,7 @@ /* * YAFFS: Yet another FFS. A NAND-flash specific file system. * - * Copyright (C) 2002-2011 Aleph One Ltd. - * for Toby Churchill Ltd and Brightstar Engineering + * Copyright (C) 2002-2018 Aleph One Ltd. * * Created by Timothy Manning * @@ -17,7 +16,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 +24,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; - } + } }