*** empty log message ***
[yaffs/.git] / yaffsdev.c
index ff4b7e6f8f29e8dcad3fc5e3d2a1402a347756c0..afb9354bc17537a5d51263e1f1d8cb1ccf4aebad 100644 (file)
@@ -218,7 +218,13 @@ void TestTime(yaffs_Device *dev)
                else
                        written = yaffs_WriteDataToFile(f,testStr2,i,strlen(testStr2));
        }
+       // some short reads
+       for(i = 1000; i < 50000; i+=2)
+       { 
+               yaffs_ReadDataFromFile(f,data,i,20);
+       }
        
+               
        yaffs_ReadDataFromFile(f,data,1000,50); 
        data[50] = 0;
        
@@ -354,7 +360,10 @@ void TestTime(yaffs_Device *dev)
        yaffs_ApplyToDirectoryChildren(yaffs_Root(dev),yaffs_DumpObject);
 
        f = yaffs_MknodFile(yaffs_Root(dev),"pfile",0,0,0);
-       yaffs_WriteDataToFile(f,testStr,0,strlen(testStr));
+       if(f)
+       {
+               yaffs_WriteDataToFile(f,testStr,0,strlen(testStr));
+       }
 
        yaffs_Link(yaffs_Root(dev),"phl4",f);
 }
@@ -469,8 +478,10 @@ void TestTimeTnodeFocussed(yaffs_Device *dev)
 int main(int argc,char *argv[])
 {
 
+       int nBlocks;
+       
 #if YAFFS_FILEEM       
-       device.nBlocks = (64 * 1024 * 1024) / (YAFFS_CHUNKS_PER_BLOCK * YAFFS_BYTES_PER_CHUNK);
+       nBlocks =(32 * 1024 * 1024) / (YAFFS_CHUNKS_PER_BLOCK * YAFFS_BYTES_PER_CHUNK) ;
        device.writeChunkToNAND = yaffs_FEWriteChunkToNAND;
        device.readChunkFromNAND = yaffs_FEReadChunkFromNAND;
        device.eraseBlockInNAND = yaffs_FEEraseBlockInNAND;
@@ -478,7 +489,7 @@ int main(int argc,char *argv[])
 
        printf("Testing on file emulation\n");
 #else
-       device.nBlocks = (2 * 1024 * 1024) / (YAFFS_CHUNKS_PER_BLOCK * YAFFS_BYTES_PER_CHUNK);
+       nBlocks = (2 * 1024 * 1024) / (YAFFS_CHUNKS_PER_BLOCK * YAFFS_BYTES_PER_CHUNK);
        device.writeChunkToNAND = nandemul_WriteChunkToNAND;
        device.readChunkFromNAND = nandemul_ReadChunkFromNAND;
        device.eraseBlockInNAND = nandemul_EraseBlockInNAND;
@@ -487,8 +498,13 @@ int main(int argc,char *argv[])
        printf("Testing on RAM emulation\n");
 #endif
 
+#ifdef YAFFS_START
+       device.startBlock = YAFFS_START;  // Don't use block 0
+       device.endBlock = YAFFS_END;
+#else
        device.startBlock = 1;  // Don't use block 0
-       device.endBlock = device.nBlocks - 1;
+       device.endBlock = nBlocks;
+#endif
 
        yaffs_GutsInitialise(&device);
        
@@ -496,5 +512,8 @@ int main(int argc,char *argv[])
        
        TestTime(&device);
        
+       printf("Cache hits %d\n",device.cacheHits);
+       printf("Retired blocks %d\n",device.nRetiredBlocks);
+       
        exit(0);
 }