yaffs more tests for quick tests.
[yaffs2.git] / direct / timothy_tests / quick_tests / test_yaffs_mount_ENAMETOOLONG.c
index a61d0b3212c7a043d21e35d724749fdd47b7d8a9..da12b1e3bf33660619380b25c0daeeac444d72de 100644 (file)
@@ -23,8 +23,15 @@ int test_yaffs_mount_ENAMETOOLONG(void){
        int file_name_length=1000000;
        char file_name[file_name_length];
 
-       strcat(file_name,YAFFS_MOUNT_POINT);
-       for (x=strlen(YAFFS_MOUNT_POINT); x<file_name_length -1; x++){
+       /* if a second file system is mounted then yaffs will return EBUSY. so first unmount yaffs */
+       output=test_yaffs_unmount();
+       if (output<0){
+               printf("yaffs failed to unmount\n");
+               return -1;
+       } 
+
+
+       for (x=0; x<file_name_length -1; x++){
                file_name[x]='a';
        }
        file_name[file_name_length-2]='\0';
@@ -34,7 +41,7 @@ int test_yaffs_mount_ENAMETOOLONG(void){
 
        output=yaffs_mount(file_name);
 
-       if (output==-1){
+       if (output<0){
                error_code=yaffs_get_error();
                if (abs(error_code)== ENAMETOOLONG){
                        return 1;
@@ -45,13 +52,13 @@ int test_yaffs_mount_ENAMETOOLONG(void){
                }
        }
        else {
-               printf("non existant file opened.(which is a bad thing)\n");
+               printf("mounted a too long mount point name.(which is a bad thing)\n");
                return -1;
        }
        /* the program should not get here but the compiler is complaining */
        return -1;
 }
 int test_yaffs_mount_ENAMETOOLONG_clean(void){
-       return -1;
+       return test_yaffs_mount();
 }