*** empty log message ***
[yaffs/.git] / yaffsdev.c
index afb9354bc17537a5d51263e1f1d8cb1ccf4aebad..3fb6a62e39ee13af9795f1a2b961e71dde0c84b8 100644 (file)
@@ -129,6 +129,110 @@ void TestTimeasasas(yaffs_Device *dev)
        
                
 
+}
+
+void TestTimeBigDeletes(yaffs_Device *dev)
+{
+       yaffs_Object *f;
+       yaffs_Object *sl;
+       yaffs_Object *lnf;
+       
+       yaffs_Object *hl1;
+       yaffs_Object *hl2;
+       yaffs_Object *hl3;
+       yaffs_Object *d, *df;
+       
+       int x;
+       int i;
+       int b;
+       char data[200];
+       
+       char * alias;
+       int written;
+       
+       
+       printf("Exisiting objects\n");
+       yaffs_ApplyToDirectoryChildren(yaffs_Root(dev),yaffs_DumpObject);
+       printf("Exisiting objects in lost+found\n");
+       lnf = yaffs_FindObjectByName(yaffs_Root(dev),YAFFS_LOSTNFOUND_NAME);
+       yaffs_ApplyToDirectoryChildren(lnf,yaffs_DumpObject);
+
+       printf("Start\n");
+       
+       
+
+       f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1");
+       if(f)
+       {
+               printf("Found\n");
+       }
+       else
+       {
+               f = yaffs_MknodFile(yaffs_Root(dev),"Name1",0,0,0);
+               printf("Created\n");
+       }
+       
+       for(i = 0; i < 100000; i+=20)
+       { 
+       
+               b++;
+               if(b & 1)
+                       written = yaffs_WriteDataToFile(f,testStr,i,strlen(testStr));
+               else
+                       written = yaffs_WriteDataToFile(f,testStr2,i,strlen(testStr2));
+       }
+       
+       yaffs_FlushFile(f);
+       yaffs_DeleteFile(f);
+
+       f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1");
+       if(f)
+       {
+               printf("Found\n");
+       }
+       else
+       {
+               f = yaffs_MknodFile(yaffs_Root(dev),"Name1",0,0,0);
+               printf("Created\n");
+       }
+       
+       for(i = 0; i < 100000; i+=20)
+       { 
+       
+               b++;
+               if(b & 1)
+                       written = yaffs_WriteDataToFile(f,testStr,i,strlen(testStr));
+               else
+                       written = yaffs_WriteDataToFile(f,testStr2,i,strlen(testStr2));
+       }
+       
+       yaffs_FlushFile(f);
+       yaffs_DeleteFile(f);
+
+       f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1");
+       if(f)
+       {
+               printf("Found\n");
+       }
+       else
+       {
+               f = yaffs_MknodFile(yaffs_Root(dev),"Name1",0,0,0);
+               printf("Created\n");
+       }
+       
+       for(i = 0; i < 100000; i+=20)
+       { 
+       
+               b++;
+               if(b & 1)
+                       written = yaffs_WriteDataToFile(f,testStr,i,strlen(testStr));
+               else
+                       written = yaffs_WriteDataToFile(f,testStr2,i,strlen(testStr2));
+       }
+       
+       yaffs_FlushFile(f);
+       yaffs_DeleteFile(f);
+       
 }
 
 void TestTime(yaffs_Device *dev)
@@ -294,6 +398,8 @@ void TestTime(yaffs_Device *dev)
 
        printf("Unlink file: %d\n",yaffs_Unlink(yaffs_Root(dev),"Rename"));
        
+       yaffs_DeleteFile(f);
+       
        yaffs_ApplyToDirectoryChildren(yaffs_Root(dev),yaffs_DumpObject);
        
        // Create a directory and play with it
@@ -510,7 +616,7 @@ int main(int argc,char *argv[])
        
        // yaffs_GutsTest();
        
-       TestTime(&device);
+       TestTimeBigDeletes(&device);
        
        printf("Cache hits %d\n",device.cacheHits);
        printf("Retired blocks %d\n",device.nRetiredBlocks);