\r
int CV_AMLTest::run_test_case( int testCaseIdx )\r
{\r
- int code = CvTS::OK;
+ int code = CvTS::OK;\r
code = prepare_test_case( testCaseIdx );\r
\r
if (code == CvTS::OK)\r
\r
int CV_AMLTest::validate_test_results( int testCaseIdx )\r
{\r
- int iters;
- float mean, sigma;
- // read validation params
- FileNode resultNode =
- validationFS.getFirstTopLevelNode()["validation"][modelName][dataSetNames[testCaseIdx]]["result"];
- resultNode["iter_count"] >> iters;
- if ( iters > 0)
- {
- resultNode["mean"] >> mean;
- resultNode["sigma"] >> sigma;
- if ( abs(get_error( testCaseIdx, CV_TEST_ERROR ) - mean) > 6*sigma )
- {
- ts->printf( CvTS::LOG, "in test case %d test error is out of range", testCaseIdx );
- return CvTS::FAIL_BAD_ACCURACY;
- }
- }
+ int iters;\r
+ float mean, sigma;\r
+ // read validation params\r
+ FileNode resultNode = \r
+ validationFS.getFirstTopLevelNode()["validation"][modelName][dataSetNames[testCaseIdx]]["result"];\r
+ resultNode["iter_count"] >> iters; \r
+ if ( iters > 0)\r
+ {\r
+ resultNode["mean"] >> mean;\r
+ resultNode["sigma"] >> sigma;\r
+ float curErr = get_error( testCaseIdx, CV_TEST_ERROR );\r
+ if ( abs( curErr - mean) > 6*sigma )\r
+ {\r
+ ts->printf( CvTS::LOG, "in test case %d test error is out of range:\n"\r
+ "abs(%f/*curEr*/ - %f/*mean*/ > %f/*6*sigma*/", testCaseIdx, curErr, mean, 6*sigma );\r
+ return CvTS::FAIL_BAD_ACCURACY;\r
+ }\r
+ }\r
else\r
{\r
- ts->printf( CvTS::LOG, "validation info is not suitable" );
+ ts->printf( CvTS::LOG, "validation info is not suitable" );\r
return CvTS::FAIL_INVALID_TEST_DATA;\r
- }
+ }\r
return CvTS::OK;\r
}\r
\r