From: charles Date: Sat, 7 Nov 2009 22:35:15 +0000 (+0000) Subject: More test tweaks X-Git-Tag: pre-name-change~175 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=185cc1662635bb58df2db568270a24fa5170e673 More test tweaks --- diff --git a/direct/tests/nor_stress.c b/direct/tests/nor_stress.c index 033700d..f84e147 100644 --- a/direct/tests/nor_stress.c +++ b/direct/tests/nor_stress.c @@ -27,6 +27,8 @@ do { \ #endif +void (*ext_fatal)(void) = NULL; + static unsigned powerUps; static unsigned cycleStarts; static unsigned cycleEnds; @@ -71,6 +73,9 @@ void MakeFullNames(const char *prefix) static void FatalError(int lineNo) { printf("Integrity error %d\n",lineNo); + if(ext_fatal) + ext_fatal(); + while(1){ sleep(1); } diff --git a/direct/tests/run_fw_update_test_nand.sh b/direct/tests/run_fw_update_test_nand.sh index e5ce2d7..5a26bab 100755 --- a/direct/tests/run_fw_update_test_nand.sh +++ b/direct/tests/run_fw_update_test_nand.sh @@ -1,7 +1,17 @@ #!/bin/bash +iterations=100000 -for ((i=0; i < 100000; i++)) +[ -z $1 ] || iterations=$1 + + +rm iteration-max-* +touch iteration-max-$iterations + +echo " Running $iterations iterations" +sleep 2 + +for ((i=0; i < $iterations; i++)) do seed=$RANDOM @@ -10,8 +20,12 @@ do echo $seed>seed-nand-for-run-$i rm emfile-2k-0-*$j cp emfile-2k-0 emfile-2k-0-$i - echo - echo - echo "######### Run $i with seed $seed" + echo "#########" + echo "#########" + echo "#########" + echo "######### Run $i of $iterations with seed $seed" + echo "#########" + echo "#########" + echo "#########" ./yaffs_test -u -f -p -s$seed yaffs2 done diff --git a/direct/tests/yaffs_test.c b/direct/tests/yaffs_test.c index 3b0e62a..f9fd564 100644 --- a/direct/tests/yaffs_test.c +++ b/direct/tests/yaffs_test.c @@ -19,13 +19,14 @@ #include #include #include +#include #include "yaffsfs.h" #include "nor_stress.h" #include "yaffs_fsx.h" - +void (*ext_fatal)(void); int random_seed; @@ -55,11 +56,28 @@ void BadUsage(void) exit(2); } +void test_fatal(void) +{ + printf("fatal yaffs test pid %d sleeping\n",getpid()); + while(1) + sleep(1); + +} + +void bad_ptr_handler(int sig) +{ + printf("signal %d received\n",sig); + test_fatal(); +} int main(int argc, char **argv) { int ch; - + ext_fatal = test_fatal; + signal(SIGSEGV,bad_ptr_handler); + signal(SIGBUS,bad_ptr_handler); + signal(SIGABRT,bad_ptr_handler); + while ((ch = getopt(argc,argv, "filn:ps:u")) != EOF) switch (ch) { diff --git a/direct/yaffs_fileem2k.c b/direct/yaffs_fileem2k.c index 398cc08..9ef488e 100644 --- a/direct/yaffs_fileem2k.c +++ b/direct/yaffs_fileem2k.c @@ -16,7 +16,7 @@ * This is only intended as test code to test persistence etc. */ -const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.20 2009-10-15 00:45:46 charles Exp $"; +const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.21 2009-11-07 22:35:15 charles Exp $"; #include "yportenv.h" @@ -82,7 +82,7 @@ static void yflash2_MaybePowerFail(unsigned int chunkInNAND, int failPoint) if(simulate_power_failure && remaining_ops < 1){ printf("Simulated power failure after %d operations\n",nops_so_far); - printf(" Fail simulated on chunkInNAND %d, at fail point %d\n", + printf(" power failed on chunkInNAND %d, at fail point %d\n", chunkInNAND, failPoint); exit(0); }