Mercurial > yaffs-ecoscentric
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
