Made perf tests record module name, selected implementation and number of threads.
authorRoman Donchenko <roman.donchenko@itseez.com>
Tue, 18 Jun 2013 14:40:55 +0000 (18:40 +0400)
committerRoman Donchenko <roman.donchenko@itseez.com>
Wed, 19 Jun 2013 13:55:42 +0000 (17:55 +0400)
modules/ts/include/opencv2/ts/ts_perf.hpp
modules/ts/src/ts_perf.cpp

index eb5e3e5..ba09964 100644 (file)
@@ -260,6 +260,7 @@ public:
     static void Init(int argc, const char* const argv[]);
     static void Init(const std::vector<std::string> & availableImpls,
                      int argc, const char* const argv[]);
+    static void RecordRunParameters();
     static std::string getDataPath(const std::string& relativePath);
     static std::string getSelectedImpl();
 
@@ -477,20 +478,22 @@ CV_EXPORTS void PrintTo(const Size& sz, ::std::ostream* os);
 #define CV_PERF_UNWRAP_IMPLS(...) __VA_ARGS__
 
 // "plain" should always be one of the implementations
-#define CV_PERF_TEST_MAIN_WITH_IMPLS(testsuitname, impls, ...) \
+#define CV_PERF_TEST_MAIN_WITH_IMPLS(modulename, impls, ...) \
 int main(int argc, char **argv)\
 {\
     while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/\
     std::string impls_[] = { CV_PERF_UNWRAP_IMPLS impls };\
-    ::perf::Regression::Init(#testsuitname);\
+    ::perf::Regression::Init(#modulename);\
     ::perf::TestBase::Init(std::vector<std::string>(impls_, impls_ + sizeof impls_ / sizeof *impls_),\
                            argc, argv);\
     ::testing::InitGoogleTest(&argc, argv);\
     cvtest::printVersionInfo();\
+    ::testing::Test::RecordProperty("cv_module_name", #modulename);\
+    ::perf::TestBase::RecordRunParameters();\
     return RUN_ALL_TESTS();\
 }
 
-#define CV_PERF_TEST_MAIN(testsuitname, ...) CV_PERF_TEST_MAIN_WITH_IMPLS(testsuitname, ("plain"), __VA_ARGS__)
+#define CV_PERF_TEST_MAIN(modulename, ...) CV_PERF_TEST_MAIN_WITH_IMPLS(modulename, ("plain"), __VA_ARGS__)
 
 #define TEST_CYCLE_N(n) for(declare.iterations(n); startTimer(), next(); stopTimer())
 #define TEST_CYCLE() for(; startTimer(), next(); stopTimer())
index 3b73ddc..e61878e 100644 (file)
@@ -734,6 +734,11 @@ void TestBase::Init(const std::vector<std::string> & availableImpls,
     _timeadjustment = _calibrate();
 }
 
+void TestBase::RecordRunParameters()
+{
+    ::testing::Test::RecordProperty("cv_implementation", param_impl);
+    ::testing::Test::RecordProperty("cv_num_threads", param_threads);
+}
 
 std::string TestBase::getSelectedImpl()
 {