X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftests%2Fnor_stress.c;h=28fbb2d6015fca8e00f188c82d3692b19e753878;hp=f84e1470ad8c6698e6395fb412626a533becd008;hb=e22bd0c9f6ff5759ae63d2f28b5dc4e000e9def7;hpb=185cc1662635bb58df2db568270a24fa5170e673 diff --git a/direct/tests/nor_stress.c b/direct/tests/nor_stress.c index f84e147..28fbb2d 100644 --- a/direct/tests/nor_stress.c +++ b/direct/tests/nor_stress.c @@ -118,12 +118,14 @@ static void UpdateCounter(const char *name, unsigned *val, int initialise) FSX(); outh = yaffs_open(fullTempCounterName, O_RDWR | O_TRUNC | O_CREAT, S_IREAD | S_IWRITE); + if(outh >= 0){ struct yaffs_stat tmpstat, oldstat, tmpfstat; FSX(); + yaffs_fstat(outh,&tmpfstat); + printf("\n\n\n*** Writing file %s inode %d\n",fullTempCounterName,tmpfstat.st_ino); nwritten = yaffs_write(outh,x,sizeof(x)); FSX(); - yaffs_fstat(outh,&tmpfstat); yaffs_close(outh); FSX(); @@ -157,6 +159,7 @@ static void dump_directory_tree_worker(const char *dname,int recursive) yaffs_dirent *de; struct yaffs_stat s; char str[1000]; + int error_line = 0; d = yaffs_opendir(dname); @@ -177,7 +180,7 @@ static void dump_directory_tree_worker(const char *dname,int recursive) printf("%s inode %ld %d obj %x length %d mode %X ",str, de->d_ino, s.st_ino,de->d_dont_use,(int)s.st_size,s.st_mode);\ if(de->d_ino != s.st_ino){ printf(" \n\n!!!! HEY inode mismatch\n\n"); - FatalError(__LINE__); + error_line = __LINE__; } switch(s.st_mode & S_IFMT) @@ -199,10 +202,13 @@ static void dump_directory_tree_worker(const char *dname,int recursive) dump_directory_tree_worker(str,1); if(s.st_ino > 10000) - FatalError(__LINE__); + error_line = __LINE__; } + if(error_line) + FatalError(error_line); + yaffs_closedir(d); } @@ -234,7 +240,7 @@ static int yWriteFile(const char *fname, unsigned sz32) FSX(); h = yaffs_open(fname,O_RDWR | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE); yaffs_fstat(h,&st); - printf("Writing file %s inode %d\n",fname, st.st_ino); + printf("\n\n\n**** Open writing file %s inode %d\n",fname, st.st_ino); FSX(); @@ -271,6 +277,7 @@ static int yWriteFile(const char *fname, unsigned sz32) FSX(); yaffs_close(h); + printf("File closed\n"); return 0; WRITE_ERROR: @@ -365,6 +372,7 @@ static void DoUpdateMainFile(void) FSX(); if(result) FatalError(__LINE__); + printf("Raname file %s to %s\n",fullTempMainName,fullMainName); yaffs_rename(fullTempMainName,fullMainName); FSX(); } @@ -394,8 +402,10 @@ void NorStressTestInitialise(const char *prefix) void NorStressTestRun(const char *prefix, int n_cycles, int do_fsx) { + interleave_fsx = do_fsx; MakeFullNames(prefix); + dump_directory_tree(fullPathName); FSX_INIT(prefix); dump_directory_tree(fullPathName);