*** empty log message ***
[yaffs/.git] / yaffsdev.c
index 0f40974d531c5505cdc68d2692e91b2d0bbad69e..ff4b7e6f8f29e8dcad3fc5e3d2a1402a347756c0 100644 (file)
@@ -160,8 +160,41 @@ void TestTime(yaffs_Device *dev)
        printf("Start\n");
        
        
-       
+       // Test the problem of:
+       // Create file
+       // Delete file
+       // Create file with same name
+       // Delete file <== crash
+
+       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");
+       }
+       yaffs_Unlink(yaffs_Root(dev),"Name1");
+
 
+       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");
+       }
+       yaffs_Unlink(yaffs_Root(dev),"Name1");
+       
+       
+       
+       // Other tests
+       
        f = yaffs_FindObjectByName(yaffs_Root(dev),"Name1");
        if(f)
        {
@@ -260,9 +293,12 @@ void TestTime(yaffs_Device *dev)
        // Create a directory and play with it
        
 
-       printf("Create directory and play with it\n");
-               
-       d = yaffs_MknodDirectory(yaffs_Root(dev),"direct",0,0,0);
+       printf("Find or Create directory and play with it\n");
+       d =  yaffs_FindObjectByName(yaffs_Root(dev),"direct");
+       if(!d)
+       {
+               d = yaffs_MknodDirectory(yaffs_Root(dev),"direct",0,0,0);
+       }
        yaffs_ApplyToDirectoryChildren(yaffs_Root(dev),yaffs_DumpObject);
        yaffs_ApplyToDirectoryChildren(d,yaffs_DumpObject);