changeset 160:a7f45736ace4

More changes to test harness
author charles
date Wed, 08 Nov 2006 09:49:47 +0000
parents 83ae342c96b8
children 73295a9b677b
files direct/dtest.c direct/yaffs_fileem2k.c direct/yaffscfg2k.c
diffstat 3 files changed, 45 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/direct/dtest.c
+++ b/direct/dtest.c
@@ -1741,6 +1741,9 @@ void multi_mount_test(const char *mountp
 	for(i = 0; i < nmounts; i++){
 		int h0;
 		int h1;
+		int len0;
+		int len1;
+		
 		static char xx[1000];
 		
 		printf("############### Iteration %d   Start\n",i);
@@ -1762,6 +1765,19 @@ void multi_mount_test(const char *mountp
 		   yaffs_write(h0,xx,1000);
 		   yaffs_write(h1,xx,1000);
 		}
+		
+		len0 = yaffs_lseek(h0,0,SEEK_END);
+		len1 = yaffs_lseek(h1,0,SEEK_END);
+		
+		yaffs_lseek(h0,0,SEEK_SET);
+		yaffs_lseek(h1,0,SEEK_SET);
+
+		for(j = 0; j < 200; j++){
+		   yaffs_read(h0,xx,1000);
+		   yaffs_read(h1,xx,1000);
+		}
+		
+		
 		yaffs_truncate(h0,0);
 		yaffs_close(h0);
 		yaffs_close(h1);
@@ -1980,7 +1996,7 @@ int main(int argc, char *argv[])
 	 
 	 //scan_pattern_test("/flash",10000,10);
 	//short_scan_test("/flash/flash",40000,200);
-	  multi_mount_test("/flash/flash",20);
+	  multi_mount_test("/flash/flash",1000);
 	 //checkpoint_fill_test("/flash/flash",20);
 	 //checkpoint_upgrade_test("/flash/flash",20);
 	 // huge_array_test("/flash/flash",10);
--- a/direct/yaffs_fileem2k.c
+++ b/direct/yaffs_fileem2k.c
@@ -32,7 +32,7 @@ const char *yaffs_flashif_c_version = "$
 #include "yaffs_fileem2k.h"
 #include "yaffs_packedtags2.h"
 
-//#define SIMULATE_FAILURES
+#define SIMULATE_FAILURES
 
 typedef struct 
 {
@@ -164,6 +164,15 @@ int yflash_WriteChunkWithTagsToNAND(yaff
 			exit(1);
 		}
 		
+#ifdef SIMULATE_FAILURES
+			if((chunkInNAND >> 6) == 100) 
+			  written = 0;
+
+			if((chunkInNAND >> 6) == 110) 
+			  written = 0;
+#endif
+
+
 		if(written != dev->nDataBytesPerChunk) return YAFFS_FAIL;
 	}
 	
@@ -257,14 +266,14 @@ int yflash_ReadChunkWithTagsFromNAND(yaf
 			nread= read(h,&pt,sizeof(pt));
 			yaffs_UnpackTags2(tags,&pt);
 #ifdef SIMULATE_FAILURES
-			if((chunkInNAND >> 6) == 300) {
+			if((chunkInNAND >> 6) == 100) {
 			    if(fail300 && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR){
 			       tags->eccResult = YAFFS_ECC_RESULT_FIXED;
 			       fail300 = 0;
 			    }
 			    
 			}
-			if((chunkInNAND >> 6) == 320) {
+			if((chunkInNAND >> 6) == 110) {
 			    if(fail320 && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR){
 			       tags->eccResult = YAFFS_ECC_RESULT_FIXED;
 			       fail320 = 0;
--- a/direct/yaffscfg2k.c
+++ b/direct/yaffscfg2k.c
@@ -13,8 +13,19 @@
 
 #include <errno.h>
 
-unsigned yaffs_traceMask = YAFFS_TRACE_SCAN |  YAFFS_TRACE_GC /*| YAFFS_TRACE_GC_DETAIL | YAFFS_TRACE_WRITE */ | YAFFS_TRACE_ERASE | YAFFS_TRACE_TRACING | YAFFS_TRACE_ALLOCATE | YAFFS_TRACE_CHECKPOINT;
-//unsigned yaffs_traceMask = ~0;
+unsigned yaffs_traceMask = 
+
+	YAFFS_TRACE_SCAN |  
+	YAFFS_TRACE_GC | YAFFS_TRACE_GC_DETAIL | 
+	YAFFS_TRACE_WRITE  | YAFFS_TRACE_ERASE | 
+	YAFFS_TRACE_TRACING | 
+	YAFFS_TRACE_ALLOCATE | 
+	YAFFS_TRACE_CHECKPOINT |
+	YAFFS_TRACE_BAD_BLOCKS |
+//	(~0) |
+	
+	0;
+        
 
 
 void yaffsfs_SetError(int err)
@@ -129,9 +140,9 @@ int yaffs_StartUp(void)
 	flashDev.nCheckpointReservedBlocks = 5;
 	//flashDev.checkpointStartBlock = 1;
 	//flashDev.checkpointEndBlock = 20;
-	flashDev.startBlock = 20; 
-	//flashDev.endBlock = 127; // Make it smaller
-	flashDev.endBlock = yflash_GetNumberOfBlocks()-1;
+	flashDev.startBlock = 0;
+	flashDev.endBlock = 200; // Make it smaller
+	//flashDev.endBlock = yflash_GetNumberOfBlocks()-1;
 	flashDev.isYaffs2 = 1;
 	flashDev.wideTnodesDisabled=0;
 	flashDev.nShortOpCaches = 10; // Use caches