X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftimothy_tests%2Fquick_tests%2Ftest_yaffs_ftruncate_EFBIG.c;h=cff9ee06a9770bf0803b760300de24af51365c4c;hp=3c99f1bb5065e54d51d26b997e886f659dfa741d;hb=a32621e0d7f5f391e9152cfe710fa6c99ca44c50;hpb=4adb62b1e4338eaa34d02fdcb0c5d99cebea6747 diff --git a/direct/timothy_tests/quick_tests/test_yaffs_ftruncate_EFBIG.c b/direct/timothy_tests/quick_tests/test_yaffs_ftruncate_EFBIG.c index 3c99f1b..cff9ee0 100644 --- a/direct/timothy_tests/quick_tests/test_yaffs_ftruncate_EFBIG.c +++ b/direct/timothy_tests/quick_tests/test_yaffs_ftruncate_EFBIG.c @@ -13,39 +13,47 @@ #include "test_yaffs_ftruncate_EFBIG.h" -static int handle=0; -int test_yaffs_ftruncate_EFBIG(void){ - int output=0; - int error_code=0; - handle=test_yaffs_open(); - if (handle>=0){ - output=yaffs_ftruncate(handle,10000000000000000000000000000000); - if (output<0){ - error_code=yaffs_get_error(); - //printf("EISDIR def %d, Error code %d\n", EISDIR,error_code); - if (abs(error_code)== EINVAL){ /* yaffs uses the error EINVAL instead of EFBIG */ +static int handle = -1; + +int test_yaffs_ftruncate_EFBIG(void) +{ + int output = 0; + int error_code = 0; + handle = test_yaffs_open(); + + if (handle >= 0){ + output = yaffs_ftruncate(handle,10000000000000000000000000000000); + if (output < 0){ + error_code = yaffs_get_error(); + if (abs(error_code) == EINVAL){ /* yaffs uses the error EINVAL instead of EFBIG */ return 1; - } - else { - printf("different error than expected\n"); + } else { + print_message("different error than expected\n", 2); return -1; } - } - else { - printf("file truncated to a very large size.(which is a bad thing)\n"); + } else { + print_message("file truncated to a very large size.(which is a bad thing)\n", 2); return -1; } - } - else { - printf("error opening file\n"); + } else { + print_message("error opening file\n", 2); return -1; } - - - } int test_yaffs_ftruncate_EFBIG_clean(void){ - return 1; - + /* change file size back to orignal size */ + int output = 0; + if (handle >= 0){ + output = yaffs_ftruncate(handle,FILE_SIZE ); + if (output >= 0){ + return yaffs_close(handle); + } else { + print_message("failed to truncate file\n", 2); + return -1; + } + } else { + /* the file was not opened so the file could not be truncated */ + return 1; + } }