Fix unit test calling code.

This commit is contained in:
Arthur Britto
2012-05-15 16:33:06 -07:00
parent 9577355d85
commit f208c570bf

View File

@@ -6,6 +6,7 @@
#include <iostream> #include <iostream>
#include <boost/foreach.hpp>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <boost/test/included/unit_test.hpp> #include <boost/test/included/unit_test.hpp>
@@ -108,18 +109,20 @@ int main(int argc, char* argv[])
} }
else if (vm.count("test")) else if (vm.count("test"))
{ {
std::vector<std::string> vCmd;
int iCmd = vm.count("parameters"); int iCmd = vm.count("parameters");
if (iCmd)
vCmd = vm["parameters"].as<std::vector<std::string> >();
std::vector<char*> pvCmd; std::vector<char*> pvCmd;
pvCmd.resize(iCmd); pvCmd.push_back(argv[0]);
for (int i=0; i != iCmd; ++i) if (iCmd)
pvCmd[i] = (char*) (vCmd[i].c_str()); {
std::vector<std::string> vCmd;
vCmd = vm["parameters"].as<std::vector<std::string> >();
BOOST_FOREACH(std::string& param, vCmd)
pvCmd.push_back(const_cast<char*>(param.c_str()));
}
iResult = unit_test_main(init_unit_test, iCmd, &pvCmd[0]); iResult = unit_test_main(init_unit_test, iCmd, &pvCmd[0]);
} }