Add test for lost+found being empty.
Make fuzzer less verbose
Allow changing of iteration count for simulated power fail testing.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
srand(time(0));
for(b = 0; b < nbuffers; b++){
srand(time(0));
for(b = 0; b < nbuffers; b++){
- printf("buffer %d\n",b);
+ /* printf("buffer %d\n",b); */
lseek(h,b * sizeof(buffer),SEEK_SET);
bufsize = read(h,buffer,sizeof(buffer));
for(i = 0; i < changesPerBuffer; i++){
lseek(h,b * sizeof(buffer),SEEK_SET);
bufsize = read(h,buffer,sizeof(buffer));
for(i = 0; i < changesPerBuffer; i++){
+
+
+iterations=100000
+
+[ -z $1 ] || iterations=$1
+
+
LAUNCHDIR=`pwd`
RUNDIR=`pwd`/tmp
mkdir $RUNDIR
LAUNCHDIR=`pwd`
RUNDIR=`pwd`/tmp
mkdir $RUNDIR
-xterm -e "$LAUNCHDIR/manage_nor_test.sh 0"&
-xterm -e "$LAUNCHDIR/manage_nand_test.sh 0"&
-xterm -e "$LAUNCHDIR/manage_nor_test.sh 1"&
-xterm -e "$LAUNCHDIR/manage_nand_test.sh 1"&
-xterm -e "$LAUNCHDIR/manage_nor_test.sh 2"&
-xterm -e "$LAUNCHDIR/manage_nand_test.sh 2"&
+xterm -e "$LAUNCHDIR/manage_nor_test.sh 0 $iterations"&
+xterm -e "$LAUNCHDIR/manage_nand_test.sh 0 $iterations"&
+xterm -e "$LAUNCHDIR/manage_nor_test.sh 1 $iterations"&
+xterm -e "$LAUNCHDIR/manage_nand_test.sh 1 $iterations"&
+xterm -e "$LAUNCHDIR/manage_nor_test.sh 2 $iterations"&
+xterm -e "$LAUNCHDIR/manage_nand_test.sh 2 $iterations"&
dir_id=-none
[ -z $1 ] || dir_id=$1
dir_id=-none
[ -z $1 ] || dir_id=$1
+iterations=100000
+
+[ -z $2 ] || iterations=$2
+
STARTDIR=`pwd`
RUNDIR=`pwd`/tmp/nand-$dir_id
mkdir $RUNDIR
STARTDIR=`pwd`
RUNDIR=`pwd`/tmp/nand-$dir_id
mkdir $RUNDIR
ln -s $STARTDIR/yaffs_test yaffs_test
./init_fw_update_test_nand.sh
ln -s $STARTDIR/yaffs_test yaffs_test
./init_fw_update_test_nand.sh
-./run_fw_update_test_nand.sh
+./run_fw_update_test_nand.sh $iterations
dir_id=-none
[ -z $1 ] || dir_id=$1
dir_id=-none
[ -z $1 ] || dir_id=$1
+
+iterations=100000
+
+[ -z $2 ] || iterations=$2
+
STARTDIR=`pwd`
RUNDIR=`pwd`/tmp/nor-$dir_id
mkdir $RUNDIR
STARTDIR=`pwd`
RUNDIR=`pwd`/tmp/nor-$dir_id
mkdir $RUNDIR
ln -s $STARTDIR/yaffs_test yaffs_test
./init_fw_update_test_nor.sh
ln -s $STARTDIR/yaffs_test yaffs_test
./init_fw_update_test_nor.sh
-./run_fw_update_test_nor.sh
+./run_fw_update_test_nor.sh $iterations
echo "!!!!!!!!!!!"
echo "Tests done"
echo "!!!!!!!!!!!"
echo "Tests done"
struct yaffs_stat s;
char str[1000];
int error_line = 0;
struct yaffs_stat s;
char str[1000];
int error_line = 0;
d = yaffs_opendir(dname);
d = yaffs_opendir(dname);
while((de = yaffs_readdir(d)) != NULL)
{
strcpy(str,dname);
strcat(str,"/");
strcat(str,de->d_name);
while((de = yaffs_readdir(d)) != NULL)
{
strcpy(str,dname);
strcat(str,"/");
strcat(str,de->d_name);
dump_directory_tree_worker(str,1);
if(s.st_ino > 10000)
dump_directory_tree_worker(str,1);
if(s.st_ino > 10000)
+ 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);
if(error_line && !no_verification)
FatalError(error_line);
seed=$RANDOM
j=$(( $i % 10 ))
seed=$RANDOM
j=$(( $i % 10 ))
+ cycles=$RANDOM
+ cycles=$(( $cycles % 10000 ))
+
rm -f log-nand-*$j
rm -f seed-nand-*$j
echo $seed>seed-nand-for-run-$i
rm -f log-nand-*$j
rm -f seed-nand-*$j
echo $seed>seed-nand-for-run-$i
echo "#########"
echo "#########"
echo "#########"
echo "#########"
echo "#########"
echo "#########"
- ./yaffs_test -u -p -s$seed -t 8 -z yaffs2
- # >log-nand-$i
+ ./yaffs_test -u -p -s$seed -t 8 -n $cycles -z yaffs2
echo "#########"
echo "#########"
echo "#########"
echo "#########"
echo "#########"
echo "#########"
- ./yaffs_test -u -f -p -s$seed -t0 M18-1 >log-nor-$i
+ ./yaffs_test -u -f -p -s$seed -t0 M18-1
+ #>log-nor-$i