Commit bc0e5630 authored by Vladislav Vinogradov's avatar Vladislav Vinogradov

CV_GPU_TEST_MAIN macros

parent 84de6ce0
......@@ -42,79 +42,4 @@
#include "test_precomp.hpp"
#ifdef HAVE_CUDA
using namespace std;
using namespace cv;
using namespace cv::gpu;
using namespace cvtest;
using namespace testing;
int main(int argc, char** argv)
{
try
{
const std::string keys =
"{ h help ? | | Print help}"
"{ i info | | Print information about system and exit }"
"{ device | -1 | Device on which tests will be executed (-1 means all devices) }"
;
CommandLineParser cmd(argc, (const char**)argv, keys);
if (cmd.has("help"))
{
cmd.printMessage();
return 0;
}
printCudaInfo();
if (cmd.has("info"))
{
return 0;
}
int device = cmd.get<int>("device");
if (device < 0)
{
DeviceManager::instance().loadAll();
cout << "Run tests on all supported devices \n" << endl;
}
else
{
DeviceManager::instance().load(device);
DeviceInfo info(device);
cout << "Run tests on device " << device << " [" << info.name() << "] \n" << endl;
}
TS::ptr()->init("gpu");
InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
catch (const exception& e)
{
cerr << e.what() << endl;
return -1;
}
catch (...)
{
cerr << "Unknown error" << endl;
return -1;
}
return 0;
}
#else // HAVE_CUDA
int main()
{
printf("OpenCV was built without CUDA support\n");
return 0;
}
#endif // HAVE_CUDA
CV_GPU_TEST_MAIN("gpu")
......@@ -42,4 +42,4 @@
#include "test_precomp.hpp"
CV_TEST_MAIN("gpu")
CV_GPU_TEST_MAIN("gpu")
......@@ -42,79 +42,4 @@
#include "test_precomp.hpp"
#ifdef HAVE_CUDA
using namespace std;
using namespace cv;
using namespace cv::gpu;
using namespace cvtest;
using namespace testing;
int main(int argc, char** argv)
{
try
{
const std::string keys =
"{ h help ? | | Print help}"
"{ i info | | Print information about system and exit }"
"{ device | -1 | Device on which tests will be executed (-1 means all devices) }"
;
CommandLineParser cmd(argc, (const char**)argv, keys);
if (cmd.has("help"))
{
cmd.printMessage();
return 0;
}
printCudaInfo();
if (cmd.has("info"))
{
return 0;
}
int device = cmd.get<int>("device");
if (device < 0)
{
DeviceManager::instance().loadAll();
cout << "Run tests on all supported devices \n" << endl;
}
else
{
DeviceManager::instance().load(device);
DeviceInfo info(device);
cout << "Run tests on device " << device << " [" << info.name() << "] \n" << endl;
}
TS::ptr()->init("gpu");
InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
catch (const exception& e)
{
cerr << e.what() << endl;
return -1;
}
catch (...)
{
cerr << "Unknown error" << endl;
return -1;
}
return 0;
}
#else // HAVE_CUDA
int main()
{
printf("OpenCV was built without CUDA support\n");
return 0;
}
#endif // HAVE_CUDA
CV_GPU_TEST_MAIN("gpu")
......@@ -43,6 +43,7 @@
#ifndef __OPENCV_GPU_TEST_UTILITY_HPP__
#define __OPENCV_GPU_TEST_UTILITY_HPP__
#include <stdexcept>
#include "opencv2/core.hpp"
#include "opencv2/core/gpumat.hpp"
#include "opencv2/highgui.hpp"
......@@ -345,4 +346,67 @@ namespace cv { namespace gpu
CV_EXPORTS void PrintTo(const DeviceInfo& info, std::ostream* os);
}}
#ifdef HAVE_CUDA
#define CV_GPU_TEST_MAIN(resourcesubdir) \
int main(int argc, char* argv[]) \
{ \
try \
{ \
cv::CommandLineParser cmd(argc, argv, \
"{ h help ? | | Print help}" \
"{ i info | | Print information about system and exit }" \
"{ device | -1 | Device on which tests will be executed (-1 means all devices) }" \
); \
if (cmd.has("help")) \
{ \
cmd.printMessage(); \
return 0; \
} \
cvtest::printCudaInfo(); \
if (cmd.has("info")) \
{ \
return 0; \
} \
int device = cmd.get<int>("device"); \
if (device < 0) \
{ \
cvtest::DeviceManager::instance().loadAll(); \
std::cout << "Run tests on all supported devices \n" << std::endl; \
} \
else \
{ \
cvtest::DeviceManager::instance().load(device); \
cv::gpu::DeviceInfo info(device); \
std::cout << "Run tests on device " << device << " [" << info.name() << "] \n" << std::endl; \
} \
cvtest::TS::ptr()->init( resourcesubdir ); \
testing::InitGoogleTest(&argc, argv); \
return RUN_ALL_TESTS(); \
} \
catch (const std::exception& e) \
{ \
std::cerr << e.what() << std::endl; \
return -1; \
} \
catch (...) \
{ \
std::cerr << "Unknown error" << std::endl; \
return -1; \
} \
return 0; \
}
#else // HAVE_CUDA
#define CV_GPU_TEST_MAIN(resourcesubdir) \
int main() \
{ \
printf("OpenCV was built without CUDA support\n"); \
return 0; \
}
#endif // HAVE_CUDA
#endif // __OPENCV_GPU_TEST_UTILITY_HPP__
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment