#include <stdio.h>
+extern int fuzz_test;
#if 1
#define FSX_INIT(mount_pt) do{ if(interleave_fsx) yaffs_fsx_init(mount_pt); } while(0)
static int interleave_fsx;
+static int no_verification;
+
char fullPathName[100];
char fullPowerUpName[100];
char fullStartName[100];
static void FatalError(int lineNo)
{
printf("Integrity error %d\n",lineNo);
+
+ if(fuzz_test)
+ return;
+
if(ext_fatal)
ext_fatal();
yaffs_close(inh);
}
- if(nread != sizeof(x) ||
- x[0] + 1 != x[1]){
+ if(!no_verification &&
+ (nread != sizeof(x) ||
+ x[0] + 1 != x[1])){
printf("Error reading counter %s handle %d, x[0] %u x[1] %u last error %d\n",
name, inh, x[0], x[1],yaffsfs_GetLastError());
FatalError(__LINE__);
struct yaffs_stat s;
char str[1000];
int error_line = 0;
+ int nentries;
d = yaffs_opendir(dname);
}
else
{
+ nentries = 0;
while((de = yaffs_readdir(d)) != NULL)
{
strcpy(str,dname);
strcat(str,"/");
strcat(str,de->d_name);
+ nentries++;
yaffs_lstat(str,&s);
dump_directory_tree_worker(str,1);
if(s.st_ino > 10000)
- error_line = __LINE__;
+ error_line = __LINE__;
}
- if(error_line)
+ if(strstr(dname,"lost+found") && nentries >0){
+ printf("\n\n!!! HEY lost+found not empty, had %d entries\n\n\n",nentries);
+ error_line = __LINE__;
+ }
+
+ if(error_line && !no_verification)
FatalError(error_line);
yaffs_closedir(d);
int i;
int retval = 0;
+ if(no_verification)
+ return 0;
printf("Verifying file %s\n",fName);
result = yWriteFile(fullTempMainName,sz32);
FSX();
- if(result)
+ if(!no_verification && result)
FatalError(__LINE__);
printf("Raname file %s to %s\n",fullTempMainName,fullMainName);
yaffs_rename(fullTempMainName,fullMainName);
static void DoVerifyMainFile(void)
{
int result;
+ if(no_verification)
+ return;
result = yVerifyFile(fullMainName);
if(result)
FatalError(__LINE__);
}
-void NorStressTestRun(const char *prefix, int n_cycles, int do_fsx)
+void NorStressTestRun(const char *prefix, int n_cycles, int do_fsx, int skip_verification)
{
interleave_fsx = do_fsx;
+ no_verification = skip_verification;
+
MakeFullNames(prefix);
dump_directory_tree(fullPathName);
FSX_INIT(prefix);