yaffs Have revised and checked each test in quick tests.
[yaffs2.git] / direct / timothy_tests / quick_tests / test_yaffs_ftruncate_EFBIG.c
index 3c99f1bb5065e54d51d26b997e886f659dfa741d..cff9ee06a9770bf0803b760300de24af51365c4c 100644 (file)
 
 #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;
+       }
 }