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=e057f1237fa331b0acf849b38c0fb4fb8489e037;hp=035b4fac1be4a3c68b5a083cfa28a84cbd3b6c61;hb=e0b53924703fe414a99dbf49682cf8459540a3e5;hpb=90c66937f76d1e4ce1fb43aed91219c4f1e443f1 diff --git a/direct/timothy_tests/quick_tests/quick_tests.c b/direct/timothy_tests/quick_tests/quick_tests.c index 035b4fa..e057f12 100644 --- a/direct/timothy_tests/quick_tests/quick_tests.c +++ b/direct/timothy_tests/quick_tests/quick_tests.c @@ -1,3 +1,16 @@ +/* + * YAFFS: Yet another FFS. A NAND-flash specific file system. + * + * Copyright (C) 2002-2010 Aleph One Ltd. + * for Toby Churchill Ltd and Brightstar Engineering + * + * Created by Timothy Manning + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + #include "quick_tests.h" @@ -6,50 +19,11 @@ int simulate_power_failure = 0; -typedef struct test { - int (*p_function)(void); /*pointer to test function*/ - int (*p_function_clean)(void); - /*char pass_message[50]; will not need a pass message*/ - char *fail_message; /*pointer to fail message, needs to include name of test*/ -}test_template; - - -int dummy_test_pass(void){ - //printf("running dummy_test_pass\n"); - return 1; -} -void dummy_test_pass_clean(void){ - -} -int dummy_test_fail(void){ - //printf("running dummy_test_fail\n"); - return -1; -} -void dummy_test_fail_clean(void){ -} -test_template test_list[]={ - //{dummy_test_pass,dummy_test_pass_clean,"dummy_test_pass"}, - //{dummy_test_fail,dummy_test_fail_clean,"dummy_test_fail"}, - {mount_yaffs_test,mount_yaffs_test_clean,"mount_yaffs_test"}, - {test_yaffs_open_file,test_yaffs_open_file_clean,"test_yaffs_open_file"}, - - {test_yaffs_access,test_yaffs_access_clean,"test_yaffs_access"}, - {test_yaffs_unlinking, test_yaffs_unlinking_clean,"test_yaffs_unlinking"}, - - {test_yaffs_lseek,test_yaffs_lseek_clean,"test_yaffs_lseek"}, - {test_yaffs_write,test_yaffs_write_clean,"test_yaffs_write"}, - {test_yaffs_read,test_yaffs_read_clean,"test_yaffs_read"}, - - {test_yaffs_stat,test_yaffs_stat_clean,"test_yaffs_stat"}, - {test_yaffs_ftruncate,test_yaffs_ftruncate_clean,"test_yaffs_ftruncate"}, - {test_yaffs_truncate,test_yaffs_truncate_clean,"test_yaffs_truncate"} - }; - -unsigned int num_of_tests_pass=0; -unsigned int num_of_tests_failed=0; -unsigned int total_number_of_tests=(sizeof(test_list)/sizeof(test_template)); +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 output=0; @@ -57,32 +31,47 @@ int main(){ unsigned int x=0; init_quick_tests(); - printf("\n\nrunning quick tests for yaffs\n"); + 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*/ + printf("\ttest %s passed\n",test_list[x].name_of_test); num_of_tests_pass++; } else { /*test is assumed to have failed*/ //printf("test failed\n"); - printf("test: %s failed\n",test_list[x].fail_message); + printf("test: %s failed\n",test_list[x].name_of_test); num_of_tests_failed ++; - quit_quick_tests(1); - + + if (EXIT_ON_ERROR){ + get_error(); + printf("\n\n"); + quit_quick_tests(1); + } + else { + get_error(); + printf("\n\n"); + } } 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].fail_message); + printf("test: %s failed to clean\n",test_list[x].name_of_test); num_of_tests_failed ++; num_of_tests_pass--; - quit_quick_tests(1); + get_error(); + printf("\n\n"); + if (EXIT_ON_ERROR){ + quit_quick_tests(1); + } + } } @@ -93,20 +82,22 @@ int main(){ } void quit_quick_tests(int exit_code){ - int error_code=0; + if (num_of_tests_pass==total_number_of_tests && num_of_tests_failed==0){ printf("\t OK \n"); } - else { - error_code=yaffs_get_error(); - printf("yaffs_error code %d\n",error_code); - printf("error is : %s\n",yaffs_error_to_str(error_code)); - } printf("tests: %d passed %d failed\n\n\n",num_of_tests_pass,num_of_tests_failed); yaffs_unmount(YAFFS_MOUNT_POINT); exit(exit_code); } +void get_error(void){ + int error_code=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)); +} + void init_quick_tests(void){ yaffs_start_up();; yaffs_set_trace(0);