Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
2026649f
Commit
2026649f
authored
Dec 23, 2010
by
Vladimir Dudnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cosmetic changes, removed trailing spaces
parent
46d4975b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
142 additions
and
86 deletions
+142
-86
cxts.cpp
tests/cxts/cxts.cpp
+142
-86
No files found.
tests/cxts/cxts.cpp
View file @
2026649f
...
@@ -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
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment