projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
yaffs Fixed more bugs in quick tests.
[yaffs2.git]
/
direct
/
tests
/
yaffs_test.c
diff --git
a/direct/tests/yaffs_test.c
b/direct/tests/yaffs_test.c
index 5a1e0c77d1c3243631706329e3fbc8d74ed788ef..b35c75025a821a99191b6593abc42553a4a9d770 100644
(file)
--- a/
direct/tests/yaffs_test.c
+++ b/
direct/tests/yaffs_test.c
@@
-1,7
+1,7
@@
/*
* YAFFS: Yet another FFS. A NAND-flash specific file system.
*
/*
* YAFFS: Yet another FFS. A NAND-flash specific file system.
*
- * Copyright (C) 2002 Aleph One Ltd.
+ * Copyright (C) 2002
-2010
Aleph One Ltd.
* for Toby Churchill Ltd and Brightstar Engineering
*
* Created by Charles Manning <charles@aleph1.co.uk>
* for Toby Churchill Ltd and Brightstar Engineering
*
* Created by Charles Manning <charles@aleph1.co.uk>
@@
-24,6
+24,8
@@
#include "yaffsfs.h"
#include "yaffsfs.h"
+#include "yaffs_trace.h"
+
#include "nor_stress.h"
#include "yaffs_fsx.h"
#include "nor_stress.h"
#include "yaffs_fsx.h"
@@
-40,7
+42,10
@@
int do_bash_around;
int init_test;
int do_upgrade;
int n_cycles = -1;
int init_test;
int do_upgrade;
int n_cycles = -1;
-int yaffs_test_maxMallocs;
+int fuzz_test=0;
+
+
+int yaffs_test_max_mallocs;
extern int ops_multiplier;
extern int ops_multiplier;
@@
-71,7
+76,8
@@
void yaffs_bash_around(const char *mountpt, int n_cycles)
while(n_cycles){
if(cycle % 100 == 0){
while(n_cycles){
if(cycle % 100 == 0){
- printf("CYCLE %8d mo %2d space %d ",cycle,op_max,yaffs_freespace(mountpt));
+ printf("CYCLE %8d mo %2d inodes %d space %d ",cycle,op_max,
+ yaffs_inodecount(mountpt),(int)yaffs_freespace(mountpt));
for(i = 0; i < BASH_HANDLES; i++)
printf("%2d ",h[i]);
printf("\n");
for(i = 0; i < BASH_HANDLES; i++)
printf("%2d ",h[i]);
printf("\n");
@@
-152,6
+158,7
@@
void BadUsage(void)
printf(" s sss: set seed\n");
printf(" u: do upgrade test\n");
printf(" b: bash-about test\n");
printf(" s sss: set seed\n");
printf(" u: do upgrade test\n");
printf(" b: bash-about test\n");
+ printf(" z: fuzz test - ignore verification errors\n");
exit(2);
}
exit(2);
}
@@
-189,7
+196,7
@@
int main(int argc, char **argv)
signal(SIGBUS,bad_ptr_handler);
signal(SIGABRT,bad_ptr_handler);
#endif
signal(SIGBUS,bad_ptr_handler);
signal(SIGABRT,bad_ptr_handler);
#endif
- while ((ch = getopt(argc,argv, "bfilmn:ps:
u
"))
+ while ((ch = getopt(argc,argv, "bfilmn:ps:
t:uz
"))
!= EOF)
switch (ch) {
case 's':
!= EOF)
switch (ch) {
case 's':
@@
-219,6
+226,11
@@
int main(int argc, char **argv)
case 'n':
n_cycles = atoi(optarg);
break;
case 'n':
n_cycles = atoi(optarg);
break;
+ case 't':
+ yaffs_trace_mask = strtol(optarg,NULL,0);
+ break;
+ case 'z':fuzz_test=1;
+ break;
default:
BadUsage();
/* NOTREACHED */
default:
BadUsage();
/* NOTREACHED */
@@
-227,23
+239,35
@@
int main(int argc, char **argv)
argv += optind;
if(random_mallocs){
argv += optind;
if(random_mallocs){
- yaffs_test_max
M
allocs = 0xFFF & random_seed;
+ yaffs_test_max
_m
allocs = 0xFFF & random_seed;
}
if(argc == 1) {
}
if(argc == 1) {
+ int result;
+
strcpy(mount_point,argv[0]);
if(simulate_power_failure)
n_cycles = -1;
strcpy(mount_point,argv[0]);
if(simulate_power_failure)
n_cycles = -1;
- printf("Running test %s %s %s %s seed %d cycles %d\n",
+ printf("Running test %s %s %s %s
%s
seed %d cycles %d\n",
do_upgrade ? "fw_upgrade" : "",
init_test ? "initialise":"",
do_upgrade ? "fw_upgrade" : "",
init_test ? "initialise":"",
+ fuzz_test ? "fuzz-test" : "",
do_fsx ? "fsx" :"",
simulate_power_failure ? "power_fail" : "",
random_seed, n_cycles);
do_fsx ? "fsx" :"",
simulate_power_failure ? "power_fail" : "",
random_seed, n_cycles);
- yaffs_StartUp();
- yaffs_mount(mount_point);
+ yaffs_start_up();
+ result = yaffs_mount(mount_point);
+ if(result < 0){
+ printf("Mount of %s failed\n",mount_point);
+ printf("pid %d sleeping\n",getpid());
+
+ while(!sleep_exit){
+ sleep(1);
+ sleep_time++;
+ }
+ }
printf("Mount complete\n");
if(do_upgrade && init_test){
printf("Mount complete\n");
if(do_upgrade && init_test){
@@
-251,7
+275,7
@@
int main(int argc, char **argv)
NorStressTestInitialise(mount_point);
} else if(do_upgrade){
printf("Running stress on %s with seed %d\n",mount_point,random_seed);
NorStressTestInitialise(mount_point);
} else if(do_upgrade){
printf("Running stress on %s with seed %d\n",mount_point,random_seed);
- NorStressTestRun(mount_point,n_cycles,do_fsx);
+ NorStressTestRun(mount_point,n_cycles,do_fsx
,fuzz_test
);
} else if(do_fsx){
yaffs_fsx_main(mount_point,n_cycles);
} else if(do_bash_around){
} else if(do_fsx){
yaffs_fsx_main(mount_point,n_cycles);
} else if(do_bash_around){