X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftimothy_tests%2Fquick_tests%2Fquick_tests.c;h=79a7aae649b682f233e7e95502fe2c3f2df6d45b;hp=1f6a935cfc90af888d7bcd607760d9d833aae8d7;hb=41a1d28042b2fe3ca48a53de7c902389c7b51169;hpb=6e5c5ad804040f381bb4587970a13e3085c72ca1 diff --git a/direct/timothy_tests/quick_tests/quick_tests.c b/direct/timothy_tests/quick_tests/quick_tests.c index 1f6a935..79a7aae 100644 --- a/direct/timothy_tests/quick_tests/quick_tests.c +++ b/direct/timothy_tests/quick_tests/quick_tests.c @@ -25,80 +25,115 @@ static unsigned int num_of_tests_pass=0; 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; + init_quick_tests(argc, argv); + print_message("\n\nrunning quick tests for yaffs\n\n", 0); - unsigned int x=0; - init_quick_tests(); - printf("\n\nrunning quick tests for yaffs\n\n"); - //printf("testing yaffs\n"); - - //printf("len function %d",(sizeof(test_list)/sizeof(test_template))); for (x=0;x=0){ /*test has passed*/ + sprintf(message,"\ttest %s passed\n",test_list[x].name_of_test); + print_message(message,3); num_of_tests_pass++; - } - else { + } else { /*test is assumed to have failed*/ //printf("test failed\n"); - printf("test: %s failed\n",test_list[x].name_of_test); + sprintf(message,"test: %s failed\n",test_list[x].name_of_test); + print_message(message,1); num_of_tests_failed ++; - - if (EXIT_ON_ERROR){ - get_error(); - printf("\n\n"); + + get_error(); + print_message("\n\n",1); + if (get_exit_on_error()){ quit_quick_tests(1); } - else { - get_error(); - printf("\n\n"); - } + } + output=0; output=test_list[x].p_function_clean(); /*clean the test*/ if (output <0){ /* if the test failed to clean it's self then */ - printf("test: %s failed to clean\n",test_list[x].name_of_test); + sprintf(message,"test: %s failed to clean\n",test_list[x].name_of_test); + print_message(message,1); num_of_tests_failed ++; 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,3); } - } /*this is where the loop should break to*/ quit_quick_tests(0); - /* the progame should never get here*/ - return 0; } -void quit_quick_tests(int exit_code){ - +void quit_quick_tests(int exit_code) +{ + char message[30]; + message[0]='\0'; if (num_of_tests_pass==total_number_of_tests && num_of_tests_failed==0){ - printf("\t OK \n"); + printf("\t OK --all tests passed\n"); } - printf("tests: %d passed %d failed\n\n\n",num_of_tests_pass,num_of_tests_failed); + 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); } -void get_error(void){ +void get_error(void) +{ int error_code=0; + char message[30]; + message[0]='\0'; + error_code=yaffs_get_error(); - printf("yaffs_error code %d\n",error_code); - printf("error is : %s\n",yaffs_error_to_str(error_code)); + sprintf(message,"yaffs_error code %d\n",error_code); + print_message(message,1); + sprintf(message,"error is : %s\n",yaffs_error_to_str(error_code)); + print_message(message,1); } -void init_quick_tests(void){ - yaffs_start_up();; - yaffs_set_trace(0); +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(trace); }