Commit 2026649f authored by Vladimir Dudnik's avatar Vladimir Dudnik

cosmetic changes, removed trailing spaces

parent 46d4975b
...@@ -642,12 +642,16 @@ void CvTest::write_real_list( CvFileStorage* fs, const char* paramname, ...@@ -642,12 +642,16 @@ void CvTest::write_real_list( CvFileStorage* fs, const char* paramname,
int CvTest::read_params( CvFileStorage* fs ) int CvTest::read_params( CvFileStorage* fs )
{ {
int code = 0; int code = 0;
if(fs == NULL) return code; if(fs == NULL)
return code;
if( ts->get_testing_mode() == CvTS::TIMING_MODE ) if( ts->get_testing_mode() == CvTS::TIMING_MODE )
{ {
timing_param_names = find_param( fs, "timing_params" ); timing_param_names = find_param( fs, "timing_params" );
if(!timing_param_names)
return code;
if( CV_NODE_IS_SEQ(timing_param_names->tag) ) if( CV_NODE_IS_SEQ(timing_param_names->tag) )
{ {
CvSeq* seq = timing_param_names->data.seq; CvSeq* seq = timing_param_names->data.seq;
...@@ -702,7 +706,7 @@ int CvTest::read_params( CvFileStorage* fs ) ...@@ -702,7 +706,7 @@ int CvTest::read_params( CvFileStorage* fs )
} }
int CvTest::get_next_timing_param_tuple() int CvTest::get_next_timing_param_tuple(void)
{ {
bool increment; bool increment;
int i; int i;
...@@ -844,10 +848,10 @@ void CvTest::run( int start_from ) ...@@ -844,10 +848,10 @@ void CvTest::run( int start_from )
{ {
ts->update_context( this, test_case_idx, ff ); ts->update_context( this, test_case_idx, ff );
progress = update_progress( progress, test_case_idx, count, (double)(t1 - t_start)/(freq*1000) ); progress = update_progress( progress, test_case_idx, count, (double)(t1 - t_start)/(freq*1000) );
int64 t00 = 0, t0 = 0, t2 = 0, t3 = 0; int64 t00 = 0, t0 = 0, t2 = 0, t3 = 0;
double t_acc = 0, t_cpu_acc = 0; double t_acc = 0, t_cpu_acc = 0;
if( ts->get_testing_mode() == CvTS::TIMING_MODE ) if( ts->get_testing_mode() == CvTS::TIMING_MODE )
{ {
const int iterations = 20; const int iterations = 20;
...@@ -858,7 +862,7 @@ void CvTest::run( int start_from ) ...@@ -858,7 +862,7 @@ void CvTest::run( int start_from )
if( code == 0 ) if( code == 0 )
continue; continue;
v_cpe.resize(0); v_cpe.resize(0);
v_time.resize(0); v_time.resize(0);
...@@ -866,31 +870,37 @@ void CvTest::run( int start_from ) ...@@ -866,31 +870,37 @@ void CvTest::run( int start_from )
{ {
for(;;) for(;;)
{ {
t0 = cv::getTickCount(); t0 = cv::getTickCount();
t2 = cv::getCPUTickCount(); t2 = cv::getCPUTickCount();
run_func();
t3 = cv::getCPUTickCount(); run_func();
t1 = cv::getTickCount();
if( ts->get_err_code() < 0 ) t3 = cv::getCPUTickCount();
return; t1 = cv::getTickCount();
if( t3 - t2 > 0 && t1 - t0 > 1 ) if( ts->get_err_code() < 0 )
break; return;
}
if( t3 - t2 > 0 && t1 - t0 > 1 )
if( i == 0 ) break;
t00 = t0; }
v_cpe.push_back((double)(t3 - t2));
v_time.push_back((double)(t1 - t0)); if( i == 0 )
t00 = t0;
v_cpe.push_back((double)(t3 - t2));
v_time.push_back((double)(t1 - t0));
if( i >= 5 && t1 - t00 > freq*5 ) if( i >= 5 && t1 - t00 > freq*5 )
break; break;
} }
std::sort(v_cpe.begin(), v_cpe.end()); std::sort(v_cpe.begin(), v_cpe.end());
std::sort(v_time.begin(), v_time.end()); std::sort(v_time.begin(), v_time.end());
t_cpu_acc = v_cpe[i/2]; t_cpu_acc = v_cpe[i/2];
t_acc = v_time[i/2]; t_acc = v_time[i/2];
print_time( test_case_idx, t_acc, t_cpu_acc ); print_time( test_case_idx, t_acc, t_cpu_acc );
} }
else else
...@@ -903,6 +913,7 @@ void CvTest::run( int start_from ) ...@@ -903,6 +913,7 @@ void CvTest::run( int start_from )
continue; continue;
run_func(); run_func();
if( ts->get_err_code() < 0 ) if( ts->get_err_code() < 0 )
return; return;
...@@ -913,13 +924,13 @@ void CvTest::run( int start_from ) ...@@ -913,13 +924,13 @@ void CvTest::run( int start_from )
} }
void CvTest::run_func() void CvTest::run_func(void)
{ {
assert(0); assert(0);
} }
int CvTest::get_test_case_count() int CvTest::get_test_case_count(void)
{ {
return test_case_count; return test_case_count;
} }
...@@ -967,12 +978,12 @@ int CvTest::update_progress( int progress, int test_case_idx, int count, double ...@@ -967,12 +978,12 @@ int CvTest::update_progress( int progress, int test_case_idx, int count, double
CvBadArgTest::CvBadArgTest( const char* _test_name, const char* _test_funcs, const char* _test_descr ) CvBadArgTest::CvBadArgTest( const char* _test_name, const char* _test_funcs, const char* _test_descr )
: CvTest( _test_name, _test_funcs, _test_descr ) : CvTest( _test_name, _test_funcs, _test_descr )
{ {
progress = -1; progress = -1;
test_case_idx = -1; test_case_idx = -1;
freq = cv::getTickFrequency(); freq = cv::getTickFrequency();
} }
CvBadArgTest::~CvBadArgTest() CvBadArgTest::~CvBadArgTest(void)
{ {
} }
...@@ -982,25 +993,27 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr ) ...@@ -982,25 +993,27 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr )
if( test_case_idx < 0 ) if( test_case_idx < 0 )
{ {
test_case_idx = 0; test_case_idx = 0;
progress = 0; progress = 0;
dt = 0; dt = 0;
} }
else else
{ {
dt = (new_t - t)/(freq*1000); dt = (new_t - t)/(freq*1000);
t = new_t; t = new_t;
} }
progress = update_progress(progress, test_case_idx, 0, dt); progress = update_progress(progress, test_case_idx, 0, dt);
int errcount = 0; int errcount = 0;
bool thrown = false; bool thrown = false;
if(!descr) if(!descr)
descr = ""; descr = "";
try try
{ {
run_func(); run_func();
} }
catch(const cv::Exception& e) catch(const cv::Exception& e)
{ {
thrown = true; thrown = true;
...@@ -1011,6 +1024,7 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr ) ...@@ -1011,6 +1024,7 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr )
errcount = 1; errcount = 1;
} }
} }
catch(...) catch(...)
{ {
thrown = true; thrown = true;
...@@ -1018,6 +1032,7 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr ) ...@@ -1018,6 +1032,7 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr )
descr, test_case_idx); descr, test_case_idx);
errcount = 1; errcount = 1;
} }
if(!thrown) if(!thrown)
{ {
ts->printf(CvTS::LOG, "%s (test case #%d): no expected exception was thrown\n", ts->printf(CvTS::LOG, "%s (test case #%d): no expected exception was thrown\n",
...@@ -1025,10 +1040,11 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr ) ...@@ -1025,10 +1040,11 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr )
errcount = 1; errcount = 1;
} }
test_case_idx++; test_case_idx++;
return errcount; return errcount;
} }
/*****************************************************************************************\ /*****************************************************************************************\
* Base Class for Test System * * Base Class for Test System *
\*****************************************************************************************/ \*****************************************************************************************/
...@@ -1037,31 +1053,38 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr ) ...@@ -1037,31 +1053,38 @@ int CvBadArgTest::run_test_case( int expected_code, const char* descr )
CvTS::CvTS(const char* _module_name) CvTS::CvTS(const char* _module_name)
{ {
module_name = _module_name; module_name = _module_name;
start_time = 0; start_time = 0;
version = CV_TS_VERSION; version = CV_TS_VERSION;
memory_manager = 0; memory_manager = 0;
/* /*
memory_manager = new CvTestMemoryManager(this); memory_manager = new CvTestMemoryManager(this);
cvSetMemoryManager( CvTestMemoryManager::alloc_proxy, cvSetMemoryManager( CvTestMemoryManager::alloc_proxy,
CvTestMemoryManager::free_proxy, CvTestMemoryManager::free_proxy,
memory_manager );*/ memory_manager );*/
ostrm_suffixes[SUMMARY_IDX] = ".sum"; ostrm_suffixes[SUMMARY_IDX] = ".sum";
ostrm_suffixes[LOG_IDX] = ".log"; ostrm_suffixes[LOG_IDX] = ".log";
ostrm_suffixes[CSV_IDX] = ".csv"; ostrm_suffixes[CSV_IDX] = ".csv";
ostrm_suffixes[CONSOLE_IDX] = 0; ostrm_suffixes[CONSOLE_IDX] = 0;
ostrm_base_name = 0; ostrm_base_name = 0;
memset( output_streams, 0, sizeof(output_streams) ); memset( output_streams, 0, sizeof(output_streams) );
memset( &params, 0, sizeof(params) ); memset( &params, 0, sizeof(params) );
selected_tests = new CvTestPtrVec(); selected_tests = new CvTestPtrVec();
failed_tests = new CvTestInfoVec(); failed_tests = new CvTestInfoVec();
written_params = new CvTestPtrVec(); written_params = new CvTestPtrVec();
clear(); clear();
}
return;
} // ctor
void CvTS::clear() void CvTS::clear(void)
{ {
int i; int i;
CvTest* test; CvTest* test;
...@@ -1089,16 +1112,20 @@ void CvTS::clear() ...@@ -1089,16 +1112,20 @@ void CvTS::clear()
} }
output_streams[i].enable = 1; output_streams[i].enable = 1;
} }
cvReleaseFileStorage( &fs ); cvReleaseFileStorage( &fs );
selected_tests->clear(); selected_tests->clear();
failed_tests->clear(); failed_tests->clear();
if( ostrm_base_name ) if( ostrm_base_name )
{ {
free( ostrm_base_name ); free( ostrm_base_name );
ostrm_base_name = 0; ostrm_base_name = 0;
} }
params.rng_seed = 0;
params.debug_mode = -1; params.rng_seed = 0;
params.debug_mode = -1;
params.print_only_failed = 0; params.print_only_failed = 0;
params.skip_header = -1; params.skip_header = -1;
params.ignore_blacklist = -1; params.ignore_blacklist = -1;
...@@ -1109,10 +1136,10 @@ void CvTS::clear() ...@@ -1109,10 +1136,10 @@ void CvTS::clear()
if( memory_manager ) if( memory_manager )
memory_manager->clear_and_check(); memory_manager->clear_and_check();
} } // clear()
CvTS::~CvTS() CvTS::~CvTS(void)
{ {
clear(); clear();
set_data_path(0); set_data_path(0);
...@@ -1126,30 +1153,32 @@ CvTS::~CvTS() ...@@ -1126,30 +1153,32 @@ CvTS::~CvTS()
delete selected_tests; delete selected_tests;
delete failed_tests; delete failed_tests;
}
return;
} // dtor
const char* CvTS::str_from_code( int code ) const char* CvTS::str_from_code( int code )
{ {
switch( code ) switch( code )
{ {
case OK: return "Ok"; case OK: return "Ok";
case FAIL_GENERIC: return "Generic/Unknown"; case FAIL_GENERIC: return "Generic/Unknown";
case FAIL_MISSING_TEST_DATA: return "No test data"; case FAIL_MISSING_TEST_DATA: return "No test data";
case FAIL_INVALID_TEST_DATA: return "Invalid test data"; case FAIL_INVALID_TEST_DATA: return "Invalid test data";
case FAIL_ERROR_IN_CALLED_FUNC: return "cvError invoked"; case FAIL_ERROR_IN_CALLED_FUNC: return "cvError invoked";
case FAIL_EXCEPTION: return "Hardware/OS exception"; case FAIL_EXCEPTION: return "Hardware/OS exception";
case FAIL_MEMORY_EXCEPTION: return "Invalid memory access"; case FAIL_MEMORY_EXCEPTION: return "Invalid memory access";
case FAIL_ARITHM_EXCEPTION: return "Arithmetic exception"; case FAIL_ARITHM_EXCEPTION: return "Arithmetic exception";
case FAIL_MEMORY_CORRUPTION_BEGIN: return "Corrupted memblock (beginning)"; case FAIL_MEMORY_CORRUPTION_BEGIN: return "Corrupted memblock (beginning)";
case FAIL_MEMORY_CORRUPTION_END: return "Corrupted memblock (end)"; case FAIL_MEMORY_CORRUPTION_END: return "Corrupted memblock (end)";
case FAIL_MEMORY_LEAK: return "Memory leak"; case FAIL_MEMORY_LEAK: return "Memory leak";
case FAIL_INVALID_OUTPUT: return "Invalid function output"; case FAIL_INVALID_OUTPUT: return "Invalid function output";
case FAIL_MISMATCH: return "Unexpected output"; case FAIL_MISMATCH: return "Unexpected output";
case FAIL_BAD_ACCURACY: return "Bad accuracy"; case FAIL_BAD_ACCURACY: return "Bad accuracy";
case FAIL_HANG: return "Infinite loop(?)"; case FAIL_HANG: return "Infinite loop(?)";
case FAIL_BAD_ARG_CHECK: return "Incorrect handling of bad arguments"; case FAIL_BAD_ARG_CHECK: return "Incorrect handling of bad arguments";
default: return "Generic/Unknown"; default: return "Generic/Unknown";
} }
} }
...@@ -1232,8 +1261,9 @@ typedef struct CvTsParamVal ...@@ -1232,8 +1261,9 @@ typedef struct CvTsParamVal
{ {
const char* fullname; const char* fullname;
const void* val; const void* val;
}
CvTsParamVal; } CvTsParamVal;
int CvTS::find_written_param( CvTest* test, const char* paramname, int valtype, const void* val ) int CvTS::find_written_param( CvTest* test, const char* paramname, int valtype, const void* val )
{ {
...@@ -1387,12 +1417,14 @@ int CvTS::run( int argc, char** argv, const char** blacklist ) ...@@ -1387,12 +1417,14 @@ int CvTS::run( int argc, char** argv, const char** blacklist )
printf( LOG, "ERROR: output config name is not specified\n" ); printf( LOG, "ERROR: output config name is not specified\n" );
return -1; return -1;
} }
fs = cvOpenFileStorage( config_name, 0, CV_STORAGE_WRITE ); fs = cvOpenFileStorage( config_name, 0, CV_STORAGE_WRITE );
if( !fs ) if( !fs )
{ {
printf( LOG, "ERROR: could not open config file %s\n", config_name ); printf( LOG, "ERROR: could not open config file %s\n", config_name );
return -1; return -1;
} }
cvWriteComment( fs, CV_TS_VERSION " config file", 0 ); cvWriteComment( fs, CV_TS_VERSION " config file", 0 );
cvStartWriteStruct( fs, "common", CV_NODE_MAP ); cvStartWriteStruct( fs, "common", CV_NODE_MAP );
write_default_params( fs ); write_default_params( fs );
...@@ -1403,10 +1435,13 @@ int CvTS::run( int argc, char** argv, const char** blacklist ) ...@@ -1403,10 +1435,13 @@ int CvTS::run( int argc, char** argv, const char** blacklist )
test = (CvTest*)all_tests[i]; test = (CvTest*)all_tests[i];
if( !(test->get_support_testing_modes() & get_testing_mode()) ) if( !(test->get_support_testing_modes() & get_testing_mode()) )
continue; continue;
test->write_defaults( this ); test->write_defaults( this );
test->clear(); test->clear();
} }
cvReleaseFileStorage( &fs ); cvReleaseFileStorage( &fs );
return 0; return 0;
} }
...@@ -1459,7 +1494,7 @@ int CvTS::run( int argc, char** argv, const char** blacklist ) ...@@ -1459,7 +1494,7 @@ int CvTS::run( int argc, char** argv, const char** blacklist )
} }
int filter_state = 0; int filter_state = 0;
// 4. traverse through the list of all registered tests. // 4. traverse through the list of all registered tests.
// Initialize the selected tests and put them into the separate sequence // Initialize the selected tests and put them into the separate sequence
for( i = 0; i < all_tests.size(); i++ ) for( i = 0; i < all_tests.size(); i++ )
...@@ -1507,9 +1542,10 @@ int CvTS::run( int argc, char** argv, const char** blacklist ) ...@@ -1507,9 +1542,10 @@ int CvTS::run( int argc, char** argv, const char** blacklist )
if( memory_manager ) if( memory_manager )
memory_manager->start_tracking(); memory_manager->start_tracking();
update_context( test, -1, true ); update_context( test, -1, true );
current_test_info.rng_seed0 = current_test_info.rng_seed; current_test_info.rng_seed0 = current_test_info.rng_seed;
ostream_testname_mask = 0; // reset "test name was printed" flags ostream_testname_mask = 0; // reset "test name was printed" flags
logbuf = std::string(); logbuf = std::string();
if( output_streams[LOG_IDX].f ) if( output_streams[LOG_IDX].f )
...@@ -1523,7 +1559,9 @@ int CvTS::run( int argc, char** argv, const char** blacklist ) ...@@ -1523,7 +1559,9 @@ int CvTS::run( int argc, char** argv, const char** blacklist )
current_test_info.rng_seed = temp.rng_seed; current_test_info.rng_seed = temp.rng_seed;
current_test_info.base_alloc_index = temp.base_alloc_index; current_test_info.base_alloc_index = temp.base_alloc_index;
} }
test->clear(); test->clear();
if( memory_manager ) if( memory_manager )
memory_manager->stop_tracking_and_check(); memory_manager->stop_tracking_and_check();
...@@ -1569,22 +1607,24 @@ int CvTS::run( int argc, char** argv, const char** blacklist ) ...@@ -1569,22 +1607,24 @@ int CvTS::run( int argc, char** argv, const char** blacklist )
{ {
CvTestInfo info = failed_tests->at(i); CvTestInfo info = failed_tests->at(i);
if( (info.code == FAIL_MEMORY_CORRUPTION_BEGIN || if( (info.code == FAIL_MEMORY_CORRUPTION_BEGIN ||
info.code == FAIL_MEMORY_CORRUPTION_END || info.code == FAIL_MEMORY_CORRUPTION_END ||
info.code == FAIL_MEMORY_LEAK) && memory_manager ) info.code == FAIL_MEMORY_LEAK) && memory_manager )
memory_manager->start_tracking( info.alloc_index - info.base_alloc_index memory_manager->start_tracking( info.alloc_index - info.base_alloc_index
+ memory_manager->get_alloc_index() ); + memory_manager->get_alloc_index() );
rng = info.rng_seed; rng = info.rng_seed;
test->safe_run( info.test_case_idx ); test->safe_run( info.test_case_idx );
} }
} }
int nfailed = failed_tests ? (int)failed_tests->size() : 0; int nfailed = failed_tests ? (int)failed_tests->size() : 0;
clear(); clear();
return nfailed; return nfailed;
} }
void CvTS::print_help() void CvTS::print_help(void)
{ {
::printf( ::printf(
"Usage: <test_executable> [{-h|--help}][-l] [-r] [-w] [-t] [-f <config_name>] [-d <data_path>] [-O{0|1}] [-tn <test_name>]\n\n" "Usage: <test_executable> [{-h|--help}][-l] [-r] [-w] [-t] [-f <config_name>] [-d <data_path>] [-O{0|1}] [-tn <test_name>]\n\n"
...@@ -1620,39 +1660,53 @@ const char* default_data_path = "../../../../tests/cv/testdata/"; ...@@ -1620,39 +1660,53 @@ const char* default_data_path = "../../../../tests/cv/testdata/";
int CvTS::read_params( CvFileStorage* fs ) int CvTS::read_params( CvFileStorage* fs )
{ {
CvFileNode* node = fs ? cvGetFileNodeByName( fs, 0, "common" ) : 0; CvFileNode* node = fs ? cvGetFileNodeByName( fs, 0, "common" ) : 0;
if(params.debug_mode < 0) if(params.debug_mode < 0)
params.debug_mode = cvReadIntByName( fs, node, "debug_mode", 1 ) != 0; params.debug_mode = cvReadIntByName( fs, node, "debug_mode", 1 ) != 0;
if( params.skip_header < 0 ) if( params.skip_header < 0 )
params.skip_header = cvReadIntByName( fs, node, "skip_header", 0 ) > 0; params.skip_header = cvReadIntByName( fs, node, "skip_header", 0 ) > 0;
if( params.ignore_blacklist < 0 ) if( params.ignore_blacklist < 0 )
params.ignore_blacklist = cvReadIntByName( fs, node, "ignore_blacklist", 0 ) > 0; params.ignore_blacklist = cvReadIntByName( fs, node, "ignore_blacklist", 0 ) > 0;
params.print_only_failed = cvReadIntByName( fs, node, "print_only_failed", 0 ) != 0;
params.rerun_failed = cvReadIntByName( fs, node, "rerun_failed", 0 ) != 0; params.print_only_failed = cvReadIntByName( fs, node, "print_only_failed", 0 ) != 0;
params.rerun_immediately = cvReadIntByName( fs, node, "rerun_immediately", 0 ) != 0; params.rerun_failed = cvReadIntByName( fs, node, "rerun_failed", 0 ) != 0;
const char* str = cvReadStringByName( fs, node, "filter_mode", "tests" ); params.rerun_immediately = cvReadIntByName( fs, node, "rerun_immediately", 0 ) != 0;
params.test_filter_mode = strcmp( str, "functions" ) == 0 ? CHOOSE_FUNCTIONS : CHOOSE_TESTS; const char* str = cvReadStringByName( fs, node, "filter_mode", "tests" );
params.test_filter_mode = strcmp( str, "functions" ) == 0 ? CHOOSE_FUNCTIONS : CHOOSE_TESTS;
str = cvReadStringByName( fs, node, "test_mode", params.test_mode == TIMING_MODE ? "timing" : "correctness" ); str = cvReadStringByName( fs, node, "test_mode", params.test_mode == TIMING_MODE ? "timing" : "correctness" );
params.test_mode = strcmp( str, "timing" ) == 0 || strcmp( str, "performance" ) == 0 ?
TIMING_MODE : CORRECTNESS_CHECK_MODE; params.test_mode = strcmp( str, "timing" ) == 0 || strcmp( str, "performance" ) == 0 ?
TIMING_MODE : CORRECTNESS_CHECK_MODE;
str = cvReadStringByName( fs, node, "timing_mode", params.timing_mode == AVG_TIME ? "avg" : "min" ); str = cvReadStringByName( fs, node, "timing_mode", params.timing_mode == AVG_TIME ? "avg" : "min" );
params.timing_mode = strcmp( str, "average" ) == 0 || strcmp( str, "avg" ) == 0 ? AVG_TIME : MIN_TIME;
params.timing_mode = strcmp( str, "average" ) == 0 || strcmp( str, "avg" ) == 0 ? AVG_TIME : MIN_TIME;
params.test_filter_pattern = params.test_filter_pattern != 0 && params.test_filter_pattern = params.test_filter_pattern != 0 &&
strlen(params.test_filter_pattern) > 0 ? params.test_filter_pattern : strlen(params.test_filter_pattern) > 0 ? params.test_filter_pattern :
cvReadStringByName( fs, node, params.test_filter_mode == CHOOSE_FUNCTIONS ? cvReadStringByName( fs, node, params.test_filter_mode == CHOOSE_FUNCTIONS ?
"functions" : "tests", "" ); "functions" : "tests", "" );
params.resource_path = cvReadStringByName( fs, node, "." ); params.resource_path = cvReadStringByName( fs, node, "." );
if( params.use_optimized < 0 ) if( params.use_optimized < 0 )
params.use_optimized = cvReadIntByName( fs, node, "use_optimized", -1 ); params.use_optimized = cvReadIntByName( fs, node, "use_optimized", -1 );
if( !params.data_path || !params.data_path[0] ) if( !params.data_path || !params.data_path[0] )
{ {
const char* data_path = const char* data_path =
cvReadStringByName( fs, node, "data_path", default_data_path ); cvReadStringByName( fs, node, "data_path", default_data_path );
set_data_path(data_path); set_data_path(data_path);
} }
params.test_case_count_scale = cvReadRealByName( fs, node, "test_case_count_scale", 1. ); params.test_case_count_scale = cvReadRealByName( fs, node, "test_case_count_scale", 1. );
if( params.test_case_count_scale <= 0 ) if( params.test_case_count_scale <= 0 )
params.test_case_count_scale = 1.; params.test_case_count_scale = 1.;
str = cvReadStringByName( fs, node, "seed", 0 ); str = cvReadStringByName( fs, node, "seed", 0 );
if( str && params.rng_seed == 0 ) if( str && params.rng_seed == 0 )
params.rng_seed = read_seed(str); params.rng_seed = read_seed(str);
...@@ -1804,8 +1858,8 @@ void CvTS::vprintf( int streams, const char* fmt, va_list l ) ...@@ -1804,8 +1858,8 @@ void CvTS::vprintf( int streams, const char* fmt, va_list l )
{ {
fprintf( f, "-------------------------------------------------\n" ); fprintf( f, "-------------------------------------------------\n" );
if( i == CONSOLE_IDX || i == SUMMARY_IDX ) if( i == CONSOLE_IDX || i == SUMMARY_IDX )
fprintf( f, "[%08x%08x]\n", (int)(current_test_info.rng_seed0 >> 32), fprintf( f, "[%08x%08x]\n", (int)(current_test_info.rng_seed0 >> 32),
(int)(current_test_info.rng_seed0)); (int)(current_test_info.rng_seed0));
fprintf( f, "%s: ", current_test_info.test->get_name() ); fprintf( f, "%s: ", current_test_info.test->get_name() );
fflush( f ); fflush( f );
ostream_testname_mask |= 1 << i; ostream_testname_mask |= 1 << i;
...@@ -1835,12 +1889,14 @@ void CvTS::printf( int streams, const char* fmt, ... ) ...@@ -1835,12 +1889,14 @@ void CvTS::printf( int streams, const char* fmt, ... )
} }
} }
void CvTS::set_color(int color) void CvTS::set_color(int color)
{ {
if( params.color_terminal ) if( params.color_terminal )
change_color(color); change_color(color);
} }
static char* cv_strnstr( const char* str, int len, static char* cv_strnstr( const char* str, int len,
const char* pattern, const char* pattern,
int pattern_len = -1, int pattern_len = -1,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment