Test system included into Android build

This commit is contained in:
Andrey Kamaev
2011-04-11 14:47:06 +00:00
parent 1a02877ab7
commit b906ad3108
17 changed files with 91 additions and 78 deletions

View File

@@ -23,10 +23,8 @@ protected:
int checkPredictError(int test_num);
int checkLoadSave();
//string model_file_name1;
//string model_file_name2;
char model_file_name1[50];
char model_file_name2[50];
string model_file_name1;
string model_file_name2;
string* datasets;
string data_path;
@@ -162,19 +160,14 @@ int CV_GBTreesTest::TestSaveLoad()
if (!gtb)
return cvtest::TS::FAIL_GENERIC;
tmpnam(model_file_name1);
tmpnam(model_file_name2);
model_file_name1 = cv::tempfile();
model_file_name2 = cv::tempfile();
if(model_file_name1[0] == '\\')
model_file_name1[0] = '_';
if(model_file_name2[0] == '\\')
model_file_name2[0] = '_';
gtb->save(model_file_name1);
gtb->save(model_file_name1.c_str());
gtb->calc_error(data, CV_TEST_ERROR, &test_resps1);
gtb->load(model_file_name1);
gtb->load(model_file_name1.c_str());
gtb->calc_error(data, CV_TEST_ERROR, &test_resps2);
gtb->save(model_file_name2);
gtb->save(model_file_name2.c_str());
return checkLoadSave();
@@ -187,7 +180,7 @@ int CV_GBTreesTest::checkLoadSave()
int code = cvtest::TS::OK;
// 1. compare files
ifstream f1( model_file_name1 ), f2( model_file_name2 );
ifstream f1( model_file_name1.c_str() ), f2( model_file_name2.c_str() );
string s1, s2;
int lineIdx = 0;
CV_Assert( f1.is_open() && f2.is_open() );
@@ -211,8 +204,8 @@ int CV_GBTreesTest::checkLoadSave()
f1.close();
f2.close();
// delete temporary files
remove( model_file_name1 );
remove( model_file_name2 );
remove( model_file_name1.c_str() );
remove( model_file_name2.c_str() );
// 2. compare responses
CV_Assert( test_resps1.size() == test_resps2.size() );

View File

@@ -74,7 +74,7 @@ protected:
virtual int validate_test_results( int testCaseIdx );
std::vector<float> test_resps1, test_resps2; // predicted responses for test data
char fname1[50], fname2[50];
std::string fname1, fname2;
};
#endif

View File

@@ -64,14 +64,12 @@ int CV_SLMLTest::run_test_case( int testCaseIdx )
if( code == cvtest::TS::OK )
{
get_error( testCaseIdx, CV_TEST_ERROR, &test_resps1 );
tmpnam(fname1);
if(fname1[0] == '\\') fname1[0] = '_';
save( fname1 );
load( fname1);
fname1 = tempfile();
save( fname1.c_str() );
load( fname1.c_str() );
get_error( testCaseIdx, CV_TEST_ERROR, &test_resps2 );
tmpnam(fname2);
if(fname2[0] == '\\') fname2[0] = '_';
save( fname2 );
fname2 = tempfile();
save( fname2.c_str() );
}
else
ts->printf( cvtest::TS::LOG, "model can not be trained" );
@@ -84,7 +82,7 @@ int CV_SLMLTest::validate_test_results( int testCaseIdx )
int code = cvtest::TS::OK;
// 1. compare files
ifstream f1( fname1 ), f2( fname2 );
ifstream f1( fname1.c_str() ), f2( fname2.c_str() );
string s1, s2;
int lineIdx = 0;
CV_Assert( f1.is_open() && f2.is_open() );
@@ -108,8 +106,8 @@ int CV_SLMLTest::validate_test_results( int testCaseIdx )
f1.close();
f2.close();
// delete temporary files
remove( fname1 );
remove( fname2 );
remove( fname1.c_str() );
remove( fname2.c_str() );
// 2. compare responses
CV_Assert( test_resps1.size() == test_resps2.size() );