mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 11:10:21 +08:00
ts(feature): add "--test_threads=<N>" command-line option
This commit is contained in:
parent
2e33844f0d
commit
5232ea1ee6
@ -11,11 +11,13 @@
|
||||
namespace cvtest {
|
||||
void checkIppStatus();
|
||||
extern bool skipUnstableTests;
|
||||
extern int testThreads;
|
||||
}
|
||||
|
||||
#define CV__TEST_INIT \
|
||||
cv::ipp::setIppStatus(0); \
|
||||
cv::theRNG().state = cvtest::param_seed;
|
||||
cv::theRNG().state = cvtest::param_seed; \
|
||||
cv::setNumThreads(cvtest::testThreads);
|
||||
#define CV__TEST_CLEANUP ::cvtest::checkIppStatus();
|
||||
#define CV__TEST_BODY_IMPL(name) \
|
||||
{ \
|
||||
|
@ -695,12 +695,14 @@ void checkIppStatus()
|
||||
}
|
||||
|
||||
bool skipUnstableTests = false;
|
||||
int testThreads = 0;
|
||||
|
||||
void parseCustomOptions(int argc, char **argv)
|
||||
{
|
||||
const char * const command_line_keys =
|
||||
"{ ipp test_ipp_check |false |check whether IPP works without failures }"
|
||||
"{ test_seed |809564 |seed for random numbers generator }"
|
||||
"{ test_threads |-1 |the number of worker threads, if parallel execution is enabled}"
|
||||
"{ skip_unstable |false |skip unstable tests }"
|
||||
"{ h help |false |print help info }";
|
||||
|
||||
@ -721,6 +723,8 @@ void parseCustomOptions(int argc, char **argv)
|
||||
|
||||
param_seed = parser.get<unsigned int>("test_seed");
|
||||
|
||||
testThreads = parser.get<int>("test_threads");
|
||||
|
||||
skipUnstableTests = parser.get<bool>("skip_unstable");
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,6 @@ static double param_max_deviation;
|
||||
static unsigned int param_min_samples;
|
||||
static unsigned int param_force_samples;
|
||||
static double param_time_limit;
|
||||
static int param_threads;
|
||||
static bool param_write_sanity;
|
||||
static bool param_verify_sanity;
|
||||
#ifdef CV_COLLECT_IMPL_DATA
|
||||
@ -1042,7 +1041,7 @@ void TestBase::Init(const std::vector<std::string> & availableImpls,
|
||||
#ifdef HAVE_IPP
|
||||
test_ipp_check = !args.get<bool>("perf_ipp_check") ? getenv("OPENCV_IPP_CHECK") != NULL : true;
|
||||
#endif
|
||||
param_threads = args.get<int>("perf_threads");
|
||||
testThreads = args.get<int>("perf_threads");
|
||||
#ifdef CV_COLLECT_IMPL_DATA
|
||||
param_collect_impl = args.get<bool>("perf_collect_impl");
|
||||
#endif
|
||||
@ -1160,7 +1159,7 @@ void TestBase::Init(const std::vector<std::string> & availableImpls,
|
||||
void TestBase::RecordRunParameters()
|
||||
{
|
||||
::testing::Test::RecordProperty("cv_implementation", param_impl);
|
||||
::testing::Test::RecordProperty("cv_num_threads", param_threads);
|
||||
::testing::Test::RecordProperty("cv_num_threads", testThreads);
|
||||
|
||||
#ifdef HAVE_CUDA
|
||||
if (param_impl == "cuda")
|
||||
@ -1851,8 +1850,8 @@ void TestBase::SetUp()
|
||||
{
|
||||
cv::theRNG().state = param_seed; // this rng should generate same numbers for each run
|
||||
|
||||
if (param_threads >= 0)
|
||||
cv::setNumThreads(param_threads);
|
||||
if (testThreads >= 0)
|
||||
cv::setNumThreads(testThreads);
|
||||
else
|
||||
cv::setNumThreads(-1);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user