Clean up yaffs_FindNiceObject to be thread safe and simpler. Fix code that does a...
[yaffs2.git] / direct / dtest.c
index 638cf4a515d580f069a8c4608ed87b81c846e0de..24f5ad28a2b5001162a480df1afafd7c5b148f69 100644 (file)
@@ -1631,7 +1631,37 @@ void link_test1(const char *mountpt)
        yaffs_mount(mountpt);
        
        printf("link test done\n");     
+}
+
+void handle_test(const char *mountpt)
+{
+       int i;
+       int h;
+       int cycle;
+       char a[100];
+
+       sprintf(a,"%s/aaa",mountpt);
        
+       yaffs_StartUp();
+       
+       yaffs_mount(mountpt);
+
+        for(cycle = 0; cycle < 5; cycle++){
+        printf("Start cycle %d\n",cycle);
+       i = 0;
+       do {
+        h = yaffs_open(a, O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE);
+       printf("%d  handle %d\n",i,h);
+       i++;
+       } while(h >= 0);
+       
+       while(i >= -1) {
+        yaffs_close(i);
+        i--;
+        }
+        }
+       
+       yaffs_unmount(mountpt);
 }
 
 void freespace_test(const char *mountpt)
@@ -2228,7 +2258,6 @@ void checkpoint_upgrade_test(const char *mountpt,int nmounts)
        
        printf("Create start condition\n");
        yaffs_StartUp();
-       SetCheckpointReservedBlocks(0);
        yaffs_mount(mountpt);
        yaffs_mkdir(a,0);
        sprintf(b,"%s/zz",a);
@@ -2241,7 +2270,6 @@ void checkpoint_upgrade_test(const char *mountpt,int nmounts)
        printf("Umount/mount attempt full\n");
        yaffs_unmount(mountpt);
        
-       SetCheckpointReservedBlocks(10);
        yaffs_mount(mountpt);
        
        printf("unlink small file\n");
@@ -2451,10 +2479,10 @@ int main(int argc, char *argv[])
 
        //rename_over_test("//////////////////flash///////////////////yaffs1///////////");
        
-       //fill_empty_files_test("/yaffs2/");
+       fill_empty_files_test("/yaffs2/");
        //long_name_test("/yaffs2");
-       link_test0("/yaffs2");
-       link_test1("yaffs2");
+       //link_test0("/yaffs2");
+       //link_test1("yaffs2");
         //scan_pattern_test("/flash",10000,10);
        //short_scan_test("/flash/flash",40000,200);
          //small_mount_test("/flash/flash",1000);
@@ -2468,7 +2496,7 @@ int main(int argc, char *argv[])
         // huge_array_test("/flash/flash",10);
 
 
-
+       handle_test("yaffs2/");
        
        //long_test_on_path("/ram2k");
        // long_test_on_path("/flash");