selected_tests = new CvTestPtrVec();
failed_tests = new CvTestInfoVec();
written_params = new CvTestPtrVec();
- logbufsize = 1 << 18; // 256K
- logbufpos = 0;
- logbuf = new char[logbufsize];
clear();
}
delete selected_tests;
delete failed_tests;
- delete[] logbuf;
}
current_test_info.rng_seed0 = current_test_info.rng_seed;
ostream_testname_mask = 0; // reset "test name was printed" flags
- logbufpos = 0;
+ logbuf = std::string();
if( output_streams[LOG_IDX].f )
fflush( output_streams[LOG_IDX].f );
current_test_info.test_case_idx,
(unsigned)(current_test_info.rng_seed>>32),
(unsigned)(current_test_info.rng_seed));
- if(logbufpos > 0)
+ if(logbuf.size() > 0)
{
- logbuf[logbufpos] = '\0';
- printf( SUMMARY + CONSOLE, ">>>\n%s\n", logbuf);
+ printf( SUMMARY + CONSOLE, ">>>\n%s\n", logbuf.c_str());
}
failed_tests->push(current_test_info);
if( params.rerun_immediately )
if( streams )
{
char str[1 << 14];
- vsprintf( str, fmt, l );
+ vsnprintf( str, sizeof(str)-1, fmt, l );
for( int i = 0; i < MAX_IDX; i++ )
{
fflush( f );
ostream_testname_mask |= 1 << i;
if( i == LOG_IDX )
- logbufpos = 0;
+ logbuf = std::string();
}
fputs( str, f );
if( i == LOG_IDX )
- {
- size_t len = strlen(str);
- CV_Assert(logbufpos + len < logbufsize);
- strcpy(logbuf + logbufpos, str);
- logbufpos += len;
- }
+ logbuf += std::string(str);
if( i == CONSOLE_IDX )
fflush(f);
}