static unsigned int num_of_tests_failed=0;
static unsigned int total_number_of_tests=(sizeof(test_list)/sizeof(test_template));
-int main(){
+int main(int argc, char *argv[]){
int output=0;
char message[30];
message[0]='\0';
+ unsigned int x=0;
- unsigned int x=0;
- init_quick_tests();
+ init_quick_tests(argc, argv);
print_message("\n\nrunning quick tests for yaffs\n\n", 0);
- //printf("testing yaffs\n");
- //printf("len function %d",(sizeof(test_list)/sizeof(test_template)));
for (x=0;x<total_number_of_tests;x++){
- //printf("x %d\n",x);
- yaffs_set_error(0); /*reset the last error to 0 */
+ /* output=yaffs_open(FILE_PATH,O_CREAT | O_RDWR, FILE_MODE);
+ printf("yaffs_open %d \n",output);
+ printf("yaffs_close %d \n",yaffs_close(output));
+ */ yaffs_set_error(0); /*reset the last error to 0 */
sprintf(message,"\nrunning test: %s \n",test_list[x].name_of_test);
- print_message(message,2);
+ print_message(message,3);
output=test_list[x].p_function(); /*run test*/
if (output>=0){
/*test has passed*/
sprintf(message,"\ttest %s passed\n",test_list[x].name_of_test);
- print_message(message,2);
+ print_message(message,3);
num_of_tests_pass++;
} else {
/*test is assumed to have failed*/
get_error();
print_message("\n\n",1);
- if (EXIT_ON_ERROR){
+ if (get_exit_on_error()){
quit_quick_tests(1);
}
num_of_tests_pass--;
get_error();
printf("\n\n");
- if (EXIT_ON_ERROR){
+ if (get_exit_on_error()){
quit_quick_tests(1);
}
} else {
sprintf(message,"\ttest clean: %s passed\n",test_list[x].name_of_test);
- print_message(message,2);
+ print_message(message,3);
}
}
/*this is where the loop should break to*/
if (num_of_tests_pass==total_number_of_tests && num_of_tests_failed==0){
printf("\t OK \n");
}
- printf("tests: %d passed %d failed out of %d tests\n\n\n",num_of_tests_pass,num_of_tests_failed,total_number_of_tests);
+ printf("out of %d tests, %d ran: %d passed and %d failed\n\n\n", total_number_of_tests,(num_of_tests_pass+num_of_tests_failed) ,num_of_tests_pass,num_of_tests_failed);
yaffs_unmount(YAFFS_MOUNT_POINT);
exit(exit_code);
}
print_message(message,1);
}
-void init_quick_tests(void)
+void init_quick_tests(int argc, char *argv[])
{
+ int trace=0;
+ int x=0;
+ for (x = 0; x < argc; x++){
+ if (0==strcmp(argv[x],"-h")){
+ printf("help\n");
+ printf("-h will print the commands available\n");
+ printf("-c will continue after a test failes else the program will exit\n");
+ printf("-v will print all messages\n");
+ printf("-q quiet mode only the number of tests passed and failed will be printed\n");
+ printf("-t [number] set yaffs_trace to number\n");
+ exit(0);
+ } else if (0==strcmp(argv[x],"-c")) {
+ set_exit_on_error(0);
+ } else if (0==strcmp(argv[x],"-q")) {
+ set_print_level(-3);
+ } else if (0==strcmp(argv[x],"-t")) {
+ trace = atoi(argv[x+1]);
+ } else if (0==strcmp(argv[x],"-v")) {
+ set_print_level(5);
+ }
+
+ }
yaffs_start_up();
- yaffs_set_trace(0);
+ yaffs_set_trace(trace);
}