Commit 3aa53764 authored by Vladislav Vinogradov's avatar Vladislav Vinogradov

minor refactoring of gpu performance sample

parent 4f44d9ea
...@@ -12,6 +12,7 @@ void TestSystem::run() ...@@ -12,6 +12,7 @@ void TestSystem::run()
{ {
for (vector<Runnable*>::iterator it = tests_.begin(); it != tests_.end(); ++it) for (vector<Runnable*>::iterator it = tests_.begin(); it != tests_.end(); ++it)
cout << (*it)->name() << endl; cout << (*it)->name() << endl;
return; return;
} }
...@@ -142,31 +143,43 @@ int CV_CDECL cvErrorCallback(int /*status*/, const char* /*func_name*/, ...@@ -142,31 +143,43 @@ int CV_CDECL cvErrorCallback(int /*status*/, const char* /*func_name*/,
} }
int main(int argc, char** argv) int main(int argc, const char* argv[])
{ {
// Parse command line arguments redirectError(cvErrorCallback);
for (int i = 1; i < argc; ++i)
{ const char* keys =
string key = argv[i]; "{ h | help | false | print help message }"
if (key == "--help") "{ f | filter | | filter for test }"
"{ w | workdir | | set working directory }"
"{ l | list | false | show all tests }";
CommandLineParser cmd(argc, argv, keys);
if (cmd.get<bool>("help"))
{ {
cout << "Usage: performance_gpu [--ls] [--filter <test_filter>] [--workdir <working_dir_with_slash>]\n"; cout << "Avaible options:" << endl;
cmd.printParams();
return 0; return 0;
} }
if (key == "--filter" && i + 1 < argc)
TestSystem::instance().setTestFilter(argv[++i]); string filter = cmd.get<string>("filter");
else if (key == "--workdir" && i + 1 < argc) string workdir = cmd.get<string>("workdir");
TestSystem::instance().setWorkingDir(argv[++i]); bool list = cmd.get<bool>("list");
else if (key == "--ls")
TestSystem::instance().setListMode(true); if (!filter.empty())
else TestSystem::instance().setTestFilter(filter);
if (!workdir.empty())
{ {
cout << "Unknown parameter: '" << key << "'" << endl; if (workdir[workdir.size() - 1] != '/' && workdir[workdir.size() - 1] != '\\')
return -1; workdir += '/';
}
TestSystem::instance().setWorkingDir(workdir);
} }
redirectError(cvErrorCallback); if (list)
TestSystem::instance().setListMode(true);
TestSystem::instance().run(); TestSystem::instance().run();
return 0; return 0;
......
This diff is collapsed.
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