У меня есть программа, которая использует google test, и библиотеку опций программы boost для разбора опций.Проблема в том, что в тесте Google также есть свои собственные парсеры опций, поэтому мне нужно отфильтровать их перед тем, как передать тест в Google.
Например, когда я запускаю привет, я использую следующее
hello --option1=X --gtest_filter=Footest.*
- опция1 - это опция, которую я использую перед передачей параметра --gtest_filter в тест Google.
Когда я запускаю следующий код, я получаю исключение, поскольку --gtest_filter
не является опцией, которую я использую для опций программы повышения.Как я могу объединить те параметры, которые не распознаются расширенными параметрами программы, для ввода gtest?
#include <boost/program_options.hpp>
namespace po = boost::program_options;
#include <iostream>
#include <fstream>
#include <iterator>
using namespace std;
#include <gtest/gtest.h>
int main(int argc, char **argv) {
// filter out the options so that only the google related options survive
try {
int opt;
string config_file;
po::options_description generic("Generic options");
generic.add_options()
("option1,o", "print version string")
;
...
}
catch(exception& e) // *****************
{
cout << e.what() << "\n";
return 1;
}
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}