Tweaks to YaffsTuning doc.
[yaffs2.git] / direct / dtest.c
index 638cf4a515d580f069a8c4608ed87b81c846e0de..b2dcc0f27387c1615e84583a0eebb1c0bc6f1b4b 100644 (file)
@@ -1036,6 +1036,36 @@ int resize_stress_test(const char *path)
    
 }
 
+
+int overwrite_test(const char *path)
+{
+   char aname[100];
+   char bname[100];
+   int i;
+   int j;   
+   int a;
+   int b;
+   yaffs_StartUp();
+   
+   yaffs_mount(path);
+   
+   sprintf(aname,"%s%s",path,"/a");
+   sprintf(bname,"%s%s",path,"/b");
+   
+   b = yaffs_open(bname, O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE);
+   for(j= 0; j < 500; j++){
+       yaffs_write(b,bname,100);
+       a = yaffs_open(aname, O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE);
+       for(i = 0; i < rand() % 20000; i++)
+               yaffs_write(a,&a,sizeof(a));
+       yaffs_close(a);
+   }
+   
+   return 0;
+   
+}
+
+
 int root_perm_remount(const char *path)
 {
    struct yaffs_stat s;
@@ -1631,7 +1661,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 +2288,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 +2300,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");
@@ -2452,9 +2510,12 @@ int main(int argc, char *argv[])
        //rename_over_test("//////////////////flash///////////////////yaffs1///////////");
        
        //fill_empty_files_test("/yaffs2/");
+       //resize_stress_test("/yaffs2");
+       overwrite_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 +2529,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");